{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# QSARtuna CLI Tutorial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## This tutorial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial is intended to provide a new user with the necessary background to start using QSARtuna through a command line interface (CLI).\n", "\n", "A separate tutorial is available describing the use of the QSARtuna GUI." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna is a python package originally developed to automate the model building process for *REINVENT*. These models can use a variety of algorithms to fit to your input data and most of them have one or more so-called hyper-parameters (e.g. the maximum number of trees using a *Random Forest* or the C parameter in SVRs, controlling the influence of every support vector).\n", "\n", "For both regression and classification tasks, QSARtuna allows you to specify input data for which the optimal hyper-parameters and a model can obtained automatically. If you want to get an idea on how the package is structured, read on otherwise you might want to skip it and The following examples should give you an idea how.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The three-step process" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna is structured around three steps:\n", "1. **Hyperparameter Optimization:** \n", " Train many models with different parameters using Optuna.\n", " Only the training dataset is used here. \n", " Training is usually done with cross-validation.\n", "2. **Build (Training):**\n", " Pick the best model from Optimization, \n", " re-train it without cross-validation,\n", " and optionally evaluate its performance on the test dataset.\n", "3. **Prod-build (or build merged):** \n", " Re-train the best-performing model on the merged training and test datasets. \n", " This step has a drawback that there is no data left to evaluate the resulting model, \n", " but it has a big benefit that this final model is trained on the all available data. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preparation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To use QSARtuna from Jupyter Notebook, install it with:\n", "```\n", "python -m pip install https://github.com/MolecularAI/QSARtuna/releases/download/3.1.2/qsartuna-3.1.2.tar.gz\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regression example\n", "This is a toy example of training a model that will predict molecular weight for a subset of DRD2 molecules. This example was chosen so that the whole run would take less than a minute.\n", "\n", "Training dataset is a CSV file. It has SMILES strings in a column named \"canonical\". It has the value that we will try to predict in column \"molwt\".\n", "\n", "This example has train and test (holdout) dataset ready. If you have single dataset and would like QSARtuna to split it into train and test (holdout) datasets, see the next section." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are a few lines from the input file:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "is_executing": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "canonical,activity,molwt,molwt_gt_330\r\n", "Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1,0,387.233,True\r\n", "O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1,0,387.4360000000001,True\r\n", "COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1ccccc1,0,380.36000000000007,True\r\n", "CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N,0,312.39400000000006,False\r\n", "CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12,0,349.4340000000001,True\r\n", "Brc1ccccc1OCCCOc1cccc2cccnc12,0,358.235,True\r\n", "CCCCn1c(COc2cccc(OC)c2)nc2ccccc21,0,310.39700000000005,False\r\n", "CCOc1cccc(NC(=O)c2sc3nc(-c4ccc(F)cc4)ccc3c2N)c1,0,407.4700000000001,True\r\n", "COc1ccc(S(=O)(=O)N(CC(=O)Nc2ccc(C)cc2)c2ccc(C)cc2)cc1OC,0,454.54800000000023,True\r\n" ] } ], "source": [ "!head ../tests/data/DRD2/subset-50/train.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create configuration" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna configuration can be read from a JSON file or created in Python. Here we create it in Python." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import sys\n", "sys.path.append(\"..\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] } ], "source": [ "# Start with the imports.\n", "import sklearn\n", "from optunaz.three_step_opt_build_merge import (\n", " optimize,\n", " buildconfig_best,\n", " build_best,\n", " build_merged,\n", ")\n", "from optunaz.config import ModelMode, OptimizationDirection\n", "from optunaz.config.optconfig import (\n", " OptimizationConfig,\n", " SVR,\n", " RandomForestRegressor,\n", " Ridge,\n", " Lasso,\n", " PLSRegression,\n", " KNeighborsRegressor\n", ")\n", "from optunaz.datareader import Dataset\n", "from optunaz.descriptors import ECFP, MACCS_keys, ECFP_counts, PathFP" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Prepare hyperparameter optimization configuration.\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\", # Typical names are \"SMILES\" and \"smiles\".\n", " response_column=\"molwt\", # Often a specific name (like here), or just \"activity\".\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " test_dataset_file=\"../tests/data/DRD2/subset-50/test.csv\" # Hidden during optimization.\n", " ),\n", " descriptors=[\n", " ECFP.new(),\n", " ECFP_counts.new(),\n", " MACCS_keys.new(),\n", " PathFP.new()\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " KNeighborsRegressor.new()\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100, # Total number of trials.\n", " n_startup_trials=50, # Number of startup (\"random\") trials.\n", " random_seed=42, # Seed for reproducability\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run optimization" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Setup basic logging.\n", "import logging\n", "from importlib import reload\n", "reload(logging)\n", "logging.basicConfig(level=logging.INFO)\n", "logging.getLogger(\"train\").disabled = True # Prevent ChemProp from logging\n", "import numpy as np\n", "np.seterr(divide=\"ignore\")\n", "import warnings\n", "warnings.filterwarnings(\"ignore\", category=FutureWarning)\n", "warnings.filterwarnings(\"ignore\", category=RuntimeWarning)\n", "\n", "import tqdm\n", "from functools import partialmethod, partial\n", "tqdm.__init__ = partialmethod(tqdm.__init__, disable=True) # Prevent tqdm in ChemProp from flooding log\n", "\n", "# Avoid decpreciated warnings from packages etc\n", "import warnings\n", "warnings.simplefilter(\"ignore\")\n", "def warn(*args, **kwargs):\n", " pass\n", "warnings.warn = warn" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:13,325] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:18:13,600] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:18:14,374] Trial 0 finished with value: -3594.2228073972638 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 3, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 0 with value: -3594.2228073972638.\n", "[I 2024-10-02 17:18:14,689] Trial 1 finished with value: -5029.734616310275 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.039054412752107935, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 3.1242780840717016e-07, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -3594.2228073972638.\n", "[I 2024-10-02 17:18:15,164] Trial 2 finished with value: -4242.092751193529 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 0 with value: -3594.2228073972638.\n", "[I 2024-10-02 17:18:15,419] Trial 3 finished with value: -3393.577488426015 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.06877704223043679, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 3 with value: -3393.577488426015.\n", "[I 2024-10-02 17:18:15,788] Trial 4 finished with value: -427.45250420148204 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:15,841] Trial 5 finished with value: -3387.245629616474 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:15,878] Trial 6 finished with value: -5029.734620250011 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3661540064603184, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.1799882524170321, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:15,986] Trial 7 finished with value: -9650.026568221794 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 7, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,006] Trial 8 finished with value: -5437.151635569594 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.05083825348819038, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,210] Trial 9 finished with value: -2669.8534551928174 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 4, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,254] Trial 10 finished with value: -4341.586120152291 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.7921825998469865, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,617] Trial 11 finished with value: -5514.404088878841 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,833] Trial 12 finished with value: -5431.6349892392145 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:16,877] Trial 13 finished with value: -3530.549661899129 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,899] Trial 14 finished with value: -3497.6833185436317 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,922] Trial 15 finished with value: -4382.16208862162 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,943] Trial 16 finished with value: -5029.734620031822 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.002825619931800395, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.309885135051862e-09, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:16,966] Trial 17 finished with value: -679.3109044887755 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.16827992999009767, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,074] Trial 18 finished with value: -2550.114129318373 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 7, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,096] Trial 19 finished with value: -4847.085792360169 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.735431606118867, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,329] Trial 20 finished with value: -5029.268760278916 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0014840820994557746, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.04671166881768783, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,503] Trial 21 finished with value: -4783.047015479679 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 15, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,526] Trial 22 finished with value: -3905.0064899852296 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,603] Trial 23 finished with value: -4030.4577379164707 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 11, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,669] Trial 24 finished with value: -4681.602145939593 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 4, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,705] Trial 25 finished with value: -4398.544034028325 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6452011213193165, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,775] Trial 26 finished with value: -4454.143979828407 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 21, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,785] Trial 27 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:17,792] Trial 28 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:17,849] Trial 29 finished with value: -4397.330360587512 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 8, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,856] Trial 30 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:17,949] Trial 31 finished with value: -2602.7561184287083 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 6, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:17,973] Trial 32 finished with value: -5267.388279961089 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.2015560027548533, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -427.45250420148204.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}, return [-3530.549661899129]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}, return [-3530.549661899129]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-3387.245629616474]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:18,060] Trial 33 finished with value: -4863.5817607510535 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 23, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -427.45250420148204.\n", "[I 2024-10-02 17:18:18,102] Trial 34 finished with value: -388.96473594016675 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.5528259214839937, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,154] Trial 35 finished with value: -5539.698232987626 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6400992020612235, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,207] Trial 36 finished with value: -5180.5533034102455 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8968910439566395, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,245] Trial 37 finished with value: -4989.929984864281 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.04458440839692226, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 4.492108041427977, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,259] Trial 38 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:18,317] Trial 39 finished with value: -6528.215066535042 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.16700143339733753, 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,408] Trial 40 finished with value: -4168.7955967552625 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 34 with value: -388.96473594016675.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 8, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-4397.330360587512]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:18,479] Trial 41 finished with value: -6177.060727800014 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 1, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,587] Trial 42 finished with value: -3963.906954658342 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 21, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,610] Trial 43 finished with value: -5029.6805334166565 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.013186009009851564, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.001008958590140135, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,676] Trial 44 finished with value: -9300.86840721566 and parameters: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 9, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,701] Trial 45 finished with value: -5029.734620250011 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 83.87968210939489, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.382674443425525e-09, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,710] Trial 46 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:18,719] Trial 47 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:18,727] Trial 48 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:18,814] Trial 49 finished with value: -3660.9359502556 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 2, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"PathFP\", \"parameters\": {\"maxPath\": 3, \"fpSize\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,839] Trial 50 finished with value: -688.5244070398325 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.5267860995545326, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,875] Trial 51 finished with value: -690.6494438072099 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.8458809314722497, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,904] Trial 52 finished with value: -691.1197058420935 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.9167866889210807, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 9, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}, return [-9300.86840721566]\n", "Duplicated trial: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 7, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-2550.114129318373]\n", "Duplicated trial: {'algorithm_name': 'KNeighborsRegressor', 'KNeighborsRegressor_algorithm_hash': '1709d2c39117ae29f6c9debe7241287b', 'metric__1709d2c39117ae29f6c9debe7241287b': , 'n_neighbors__1709d2c39117ae29f6c9debe7241287b': 6, 'weights__1709d2c39117ae29f6c9debe7241287b': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-2602.7561184287083]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:18,931] Trial 53 finished with value: -691.3111710449325 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.945685900574672, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:18,993] Trial 54 finished with value: -690.9665592812149 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.8936837761725833, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:19,043] Trial 55 finished with value: -688.4682747008223 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.5183865279530455, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:19,093] Trial 56 finished with value: -687.5230947231512 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.3771771681361766, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:19,151] Trial 57 finished with value: -687.4503442069594 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.3663259819415374, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:19,186] Trial 58 finished with value: -686.9553733616618 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.2925652230875628, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 34 with value: -388.96473594016675.\n", "[I 2024-10-02 17:18:19,230] Trial 59 finished with value: -370.2038330506566 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.3962903248948568, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,293] Trial 60 finished with value: -377.25988028857313 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.45237513161879, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,343] Trial 61 finished with value: -379.8933285317637 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4741161933311207, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,380] Trial 62 finished with value: -374.50897467366013 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4290962207409417, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,432] Trial 63 finished with value: -376.5588572940058 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4464295711264585, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,485] Trial 64 finished with value: -379.237448916406 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4687500034684213, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,543] Trial 65 finished with value: -375.7474776359051 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4395650011783436, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 59 with value: -370.2038330506566.\n", "[I 2024-10-02 17:18:19,603] Trial 66 finished with value: -362.2834906299732 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.3326755354190032, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 66 with value: -362.2834906299732.\n", "[I 2024-10-02 17:18:19,649] Trial 67 finished with value: -357.3474880122588 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2887212943233457, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -357.3474880122588.\n", "[I 2024-10-02 17:18:19,692] Trial 68 finished with value: -354.279045046449 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2577677164664005, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 68 with value: -354.279045046449.\n", "[I 2024-10-02 17:18:19,766] Trial 69 finished with value: -347.36894395697703 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1672928587680225, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 69 with value: -347.36894395697703.\n", "[I 2024-10-02 17:18:19,815] Trial 70 finished with value: -345.17697390093394 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1242367255308854, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 70 with value: -345.17697390093394.\n", "[I 2024-10-02 17:18:19,864] Trial 71 finished with value: -347.74610809299037 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1728352983905301, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 70 with value: -345.17697390093394.\n", "[I 2024-10-02 17:18:19,926] Trial 72 finished with value: -345.23464281634324 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1265380781508565, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 70 with value: -345.17697390093394.\n", "[I 2024-10-02 17:18:19,968] Trial 73 finished with value: -344.6848312222365 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0829896313820404, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 73 with value: -344.6848312222365.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:20,020] Trial 74 finished with value: -344.9111966504334 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1070414661080543, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 73 with value: -344.6848312222365.\n", "[I 2024-10-02 17:18:20,073] Trial 75 finished with value: -344.70116419828565 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0875643695329498, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 73 with value: -344.6848312222365.\n", "[I 2024-10-02 17:18:20,116] Trial 76 finished with value: -344.62647974688133 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0716281620790837, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 76 with value: -344.62647974688133.\n", "[I 2024-10-02 17:18:20,193] Trial 77 finished with value: -344.6759429204596 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0456289319914898, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 76 with value: -344.62647974688133.\n", "[I 2024-10-02 17:18:20,247] Trial 78 finished with value: -343.58131497761616 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0010195360522613, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 78 with value: -343.58131497761616.\n", "[I 2024-10-02 17:18:20,278] Trial 79 finished with value: -342.7290581014813 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9073210715005748, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 79 with value: -342.7290581014813.\n", "[I 2024-10-02 17:18:20,338] Trial 80 finished with value: -342.67866114080107 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9166305667100072, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 80 with value: -342.67866114080107.\n", "[I 2024-10-02 17:18:20,374] Trial 81 finished with value: -342.6440308445311 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9248722692093634, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,407] Trial 82 finished with value: -343.02085648448934 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8776928646870886, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,462] Trial 83 finished with value: -343.1662266300702 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.867592364677856, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,523] Trial 84 finished with value: -343.30158716569775 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8599491178327108, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,570] Trial 85 finished with value: -344.2803074848341 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8396948389352923, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,655] Trial 86 finished with value: -344.28301101884045 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8396651775801683, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,744] Trial 87 finished with value: -344.6781906268143 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8356021935129933, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,839] Trial 88 finished with value: -354.0405418264898 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.7430046191126949, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,903] Trial 89 finished with value: -342.77203208258476 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9015965341429055, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:20,992] Trial 90 finished with value: -363.1622720320929 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6746575663752555, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:21,083] Trial 91 finished with value: -342.7403796626193 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9057564666836629, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 81 with value: -342.6440308445311.\n", "[I 2024-10-02 17:18:21,160] Trial 92 finished with value: -342.63579667712696 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9332275205203372, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 92 with value: -342.63579667712696.\n", "[I 2024-10-02 17:18:21,233] Trial 93 finished with value: -342.6886425884964 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9433063264508291, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 92 with value: -342.63579667712696.\n", "[I 2024-10-02 17:18:21,309] Trial 94 finished with value: -342.9341048659705 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.884739221967487, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 92 with value: -342.63579667712696.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:21,417] Trial 95 finished with value: -342.63507445779743 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9381000493689634, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 95 with value: -342.63507445779743.\n", "[I 2024-10-02 17:18:21,484] Trial 96 finished with value: -343.06021011302374 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.963138023068903, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 95 with value: -342.63507445779743.\n", "[I 2024-10-02 17:18:21,570] Trial 97 finished with value: -342.9990546212019 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9601651093867907, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 95 with value: -342.63507445779743.\n", "[I 2024-10-02 17:18:21,648] Trial 98 finished with value: -3821.2267845437514 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 95 with value: -342.63507445779743.\n", "[I 2024-10-02 17:18:21,730] Trial 99 finished with value: -356.6786067133016 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.721603508336166, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 95 with value: -342.63507445779743.\n" ] } ], "source": [ "# Run Optuna Study.\n", "study = optimize(config, study_name=\"my_study\")\n", "# Optuna will log it's progress to sys.stderr\n", "# (usually rendered in red in Jupyter Notebooks)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize optimization progress" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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13tryyQIKPsDb+810myZPFTEFp/rytanq87rkMsaZRUpr43WijUTtVpEjomaPXtMHE1tThy4jlrNde+9tV4vjzWSmZqMn2vpSJ2osUuDbEIQRUwYFlzmPv/94wCIBFGE2kmB+h4uUDsp+LmoQQRRhKebEgHNfVDHVQmFTmf0XkMUjd5/lVJRpXP4maGajiN2yWaUoohJw4Jl371NREQkV+xRI5uqTT0mXNyXbKEqG0zb6hwpNu8mImPsUSOyAi7uS7bw4OdKbntU6vGzTmQ77FEjqiYu7ku2YOpzZa2tl6pyTnnHAH7WiWyJiRpRNXFxX7IFU58rue1ReT9+1olsg4kaUTVxOySyBVOfG7ntUfkgftaJrI+JGlE1cTsksgVTnxu57VH5IH7WiayPiRpRNVW2L5zKWdp94ahmMPW5ktselffjZ53INpioEVUTF/clWzD1ubLVJtxV3eBaj591ItvhFlI1gBy3kKqNqrodEmMtLUeLd2X7Ldp7j8qKPuuOFmtHxlhLR+otpDiggMhK9Iv7qj1c7h3gv4HICkx9rgTA+Nhf2ypJck45x4jINnjrk4iIiEimmKgRERERyRQTNSIiIiKZYqJGREREJFNM1IiIiIhkiokaERERkUwxUSMiIiKSKSZqRERERDLFRI2IiIhIppioEREREckUEzUiIiIimWKiRkRERCRTTNSIiIiIZIqJGhEREZFMMVEjIiIikikmakREREQyxUSNiIiISKaYqBERERHJFBM1IiIiIpliokZEREQkU0zUiIiIiGSKiRoRERGRTDFRIyIiIpIpJmpEREREMsVEjYiIiEimmKgRERERyRQTNSIiIiKZYqJGREREJFNM1IiIiIhkiokaERERkUwxUSMiIiKSKSZqRERERDLFRI2IiIhIppioEREREckUEzUiIiIimWKiRkRERCRTTNTuc+PGDcyYMQNdu3ZFeHg4xo4di19//dXonC+//BIDBgxAcHAwhgwZgsTERKPy7OxszJw5E+Hh4YiIiMCSJUtQUFBgUR1EREREABM1g+LiYrzwwgu4efMmNm/ejPfffx/u7u549tlncfv2bQDAiRMnMHv2bDz11FP49NNPERkZiRdeeAFpaWmGeqZMmYJr165h+/bteP3113H06FG8+uqrhnJz6iAiIiICmKgZJCcn4+LFi4iNjUVQUBBat26NNWvW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ihAUFIQ5c+YgMDDQcM6xY8ewZs0aXL16FU2bNsXkyZMxYMAAQ7lGo0FMTAy++uorAECPHj2wcOFCeHt7m12HpbRaHW7fzq/y9aY4OSng7e2O7Ox8dqPbGGMtLcZbOoy1dBhr6Vgr1j4+7maNUWOiVgMwUXNsjLW0GG/pMNbSYaylI3WixlufRERERDLFRI2IiIhIppioEREREckUEzUiIiIimWKiRkRERCRTTNSIiIiIZIqJGhEREZFMMVEjIiIikikmakREREQyxUSNiIiISKaYqBERERHJFBM1IiIiIpliokZEREQkU0zUiIiIiGSKiRoRERGRTDFRIyIiIpIpJmpEREREMsVEjYiIiEimmKgRERERyRQTNSIiIiKZYqJGREREJFNM1IiIiIhkiokaERERkUwxUSMiIiKSKSZqRERERDLFRI2IiIhIppioEREREckUEzUiIiIimWKiRkRERCRTTNSIiIiIZIqJGhEREZFMMVEjIiIikikmakREREQyxUSNiIiISKaYqBERERHJFBM1IiIiIpliokZEZCFREKAp1eHW3WJoSnUQBcHeTSKiGsrJ3g0gInIkWkHAxj2nkXrxpuFYSEADTBgWDKUo2rFlRFQTsUeNiMhMookkDQBSL9zExr2n2bNGRFbHRI2IyEwFJdoySZpe6oWbKCjRStwiIqrpmKgREZlJU1harXIiIksxUSMiMpPareJhvZWVExFZiokaEZGZVM5KhAQ0MFkWEtAAKmelxC0iopqOiRoRkZkEUcSEYcFlkjX9rE+Bsz6JyMrYT09EZAGlKGLSsGAUlGihKSyF2s0JKmclkzQisgkmakREFhJEEWonBdQeLvcOMEkjIhvhrU8iIiIimWKiRkRERCRTTNRIdriPIhER0T0co0aywn0UiYiI/sYeNZIN7qNIRERkjIkayQb3USQiIjLGRI1kg/soEhERGWOiRrLBfRSJiIiMMVEj2eA+ikRERMaYqJFscB9FIiIiY7yXRLLCfRSJiIj+xkSNZIf7KBIREd3DW59EREREMsVEjYiIiEimamWitmjRIsybN6/M8cTERAwbNgwdOnRAVFQUvvjiC6PyoqIiLFmyBJGRkQgJCcHMmTNx+/Ztq9dBREREBNSyRE2n02HdunXYvXt3mbK0tDSMHz8e3bt3x969e/Hkk09izpw5SExMNJzz6quv4vvv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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "sns.set_theme(style=\"darkgrid\")\n", "default_reg_scoring= config.settings.scoring\n", "ax = sns.scatterplot(data=study.trials_dataframe(), x=\"number\", y=\"value\");\n", "ax.set(xlabel=\"Trial number\", ylabel=f\"Ojbective value\\n({default_reg_scoring})\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sometimes it might be interesting to look at individual CV scores instead of aggregated score (mean CV score by default). Here we can plot all 3 cross validation scores (neg_mean_squared_error) for each trial (folds highlighted using different colors)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cv_test = study.trials_dataframe()[\"user_attrs_test_scores\"].map(lambda d: d[default_reg_scoring])\n", "x = []\n", "y = []\n", "fold = []\n", "for i, vs in cv_test.items():\n", " for idx, v in enumerate(vs):\n", " x.append(i)\n", " y.append(v)\n", " fold.append(idx)\n", "ax = sns.scatterplot(x=x, y=y, hue=fold, style=fold, palette='Set1')\n", "ax.set(xlabel=\"Trial number\", ylabel=f\"Ojbective value\\n({default_reg_scoring})\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pick the best trial and build a model for it" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We pick the best trial, inspect its configuration, build the best model, and save it as a pickled file." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Get the best Trial from the Study and make a Build (Training) configuration for it.\n", "buildconfig = buildconfig_best(study)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optional: write out JSON of the best configuration." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\n", " \"data\": {\n", " \"training_dataset_file\": \"../tests/data/DRD2/subset-50/train.csv\",\n", " \"input_column\": \"canonical\",\n", " \"response_column\": \"molwt\",\n", " \"response_type\": \"regression\",\n", " \"deduplication_strategy\": {\n", " \"name\": \"KeepMedian\"\n", " },\n", " \"split_strategy\": {\n", " \"name\": \"NoSplitting\"\n", " },\n", " \"test_dataset_file\": \"../tests/data/DRD2/subset-50/test.csv\",\n", " \"save_intermediate_files\": false,\n", " \"log_transform\": false,\n", " \"log_transform_base\": null,\n", " \"log_transform_negative\": null,\n", " \"log_transform_unit_conversion\": null,\n", " \"probabilistic_threshold_representation\": false,\n", " \"probabilistic_threshold_representation_threshold\": null,\n", " \"probabilistic_threshold_representation_std\": null\n", " },\n", " \"metadata\": {\n", " \"name\": \"\",\n", " \"cross_validation\": 3,\n", " \"shuffle\": false,\n", " \"best_trial\": 95,\n", " \"best_value\": -342.63507445779743,\n", " \"n_trials\": 100,\n", " \"visualization\": null\n", " },\n", " \"descriptor\": {\n", " \"name\": \"ECFP_counts\",\n", " \"parameters\": {\n", " \"radius\": 3,\n", " \"useFeatures\": true,\n", " \"nBits\": 2048\n", " }\n", " },\n", " \"settings\": {\n", " \"mode\": \"regression\",\n", " \"scoring\": \"neg_mean_squared_error\",\n", " \"direction\": \"maximize\",\n", " \"n_trials\": 100,\n", " \"tracking_rest_endpoint\": null\n", " },\n", " \"algorithm\": {\n", " \"name\": \"Lasso\",\n", " \"parameters\": {\n", " \"alpha\": 0.9381000493689634\n", " }\n", " },\n", " \"task\": \"building\"\n", "}\n" ] } ], "source": [ "import apischema\n", "buildconfig_as_dict = apischema.serialize(buildconfig)\n", "\n", "import json\n", "print(json.dumps(buildconfig_as_dict, indent=2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Build (re-Train) and save the best model. This time training uses all training data, without splitting it into cross-validation folds." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "best_build = build_best(buildconfig, \"../target/best.pkl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the best (or merged) model as following" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 67.43103985, 177.99850936])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pickle\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " model = pickle.load(f)\n", "model.predict_from_smiles([\"CCC\", \"CC(=O)Nc1ccc(O)cc1\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can explore how good the best model performs on the test (holdout) set." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv(config.data.test_dataset_file) # Load test data.\n", "\n", "expected = df[config.data.response_column]\n", "predicted = model.predict_from_smiles(df[config.data.input_column])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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S5cuxg6DiEivOOxFRFq5ePEiOnTogDfeeEN9LDs7G3369MGkSZMgiiJ27tyJ0NBQnDt3DmPGjEFERASio6Oxf//+ap+lUCiwePFiDBgwAB07dkR0dDT27t1b7RpRFLFx40aMGDECERERGDJkCNavXw9RFLFy5Up1T1VoaChWrlwJABAEAWvWrMGQIUPQsWNHDBs2DJs3b67xLF9//TWGDRuGiIgIxMTE4Pbt2w0+/4QJEzBv3jysWrUK/fr1Q+fOnREbG4usrCzs2LEDQ4YMQWRkJCZOnIibN29Wu3fv3r144oknEBkZib59+2LevHnIz8+v9fuMGTMGL7/8crVjgwcPxsCBA6sdmzp1KiZPnowJEybgxIkTOHHihFGH7ojMAXt+iKgapVJZ63GZTAaJRIKOHTsiNjYWn332GR5//HH06dMH8+bNgyAIWLRoESQSifqel156CTExMXj11Vfx3XffYcaMGVi9ejUGDBgAURQxbdo0nD59GtOnT0dgYCB+/vlnvPrqqygvL8fo0aMBAIsXL8amTZswadIk9O3bFxcuXMDSpUuhVCrx9NNPIyMjA9999x22b98OPz8/AMD8+fOxc+dOvPTSS4iMjERCQgI++OADFBQUYNq0aQCALVu24L333sPzzz+P/v374+jRo5g7d65GbbR792506NABCxcuREZGBhYsWICYmBjY29tj9uzZKC0txbx587BgwQKsWbMGALBq1SqsWLEC48aNw6uvvor09HT897//xdmzZ/HNN9/AwcGh2vcYMGAANm/eDJVKBZlMhps3byI9PR0AkJ6eDn9/f1RUVODo0aOYOXMm+vTpg9dffx0A8M477yAoKEjD/+NEVsh4e6oSkSmZPXu2GBISUuevdevWqa8tLy8Xo6OjxWHDhok7duwQQ0JCxH379qnPVx375JNP1McEQRAff/xx8emnnxZFURQPHTokhoSEiHv27KkWx2uvvSb27dtXrKioEPPz88Xw8HBx4cKF1a557733xMmTJ4uiKIorVqwQQ0JC1OeuXLkihoaGiqtXr652z/Lly8VOnTqJOTk5oiAIYp8+fcQZM2ZUu2bevHliSEiIeOzYsTrbKSYmRuzUqZOYl5enPjZ58mQxJCREvHHjhvrYggULxG7duomiKIp5eXlix44dxblz51b7rISEBDEkJETcsmWLKIqV/w8GDRok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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot expected vs predicted values for the best model.\n", "import matplotlib.pyplot as plt\n", "ax = plt.scatter(expected, predicted)\n", "lims = [expected.min(), expected.max()]\n", "plt.plot(lims, lims) # Diagonal line.\n", "plt.xlabel(f\"Expected {config.data.response_column}\");\n", "plt.ylabel(f\"Predicted {config.data.response_column}\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also calculate custom metrics for the best model:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R2: 0.8566354978126369, RMSE: 26.204909888075044, Mean absolute error: 19.298453946973815\n" ] } ], "source": [ "from sklearn.metrics import (r2_score, mean_squared_error, mean_absolute_error)\n", "import numpy as np\n", "\n", "# R2\n", "r2 = r2_score(y_true=expected, y_pred=predicted)\n", "\n", "# RMSE. sklearn 0.24 added squared=False to get RMSE, here we use np.sqrt().\n", "rmse = np.sqrt(mean_squared_error(y_true=expected, y_pred=predicted)) \n", "\n", "# MAE\n", "mae = mean_absolute_error(y_true=expected, y_pred=predicted)\n", "\n", "print(f\"R2: {r2}, RMSE: {rmse}, Mean absolute error: {mae}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the metrics look acceptable, the model is ready for use." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Build merged model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can merge train and test data, and build (train) the model again. We will have no more holdout data to evaluate the model, but hopefully the model will be a little better by seeing a little more data." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Build (Train) and save the model on the merged train+test data.\n", "build_merged(buildconfig, \"../target/merged.pkl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preprocessing: splitting data into train and test sets, and removing duplicates " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Splitting into train and test dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna can split data into train and test (holdout) datasets. To do so, send all data in as training_dataset_file, and choose a splitting strategy. Currently QSARtuna supports three splitting strategies: random, temporal and stratified. \n", "\n", "Random strategy splits data randomly, taking a specified fraction of observations to be test dataset. \n", "\n", "Temporal strategy takes the first observations as training dataset, and the last specified fraction of observations as test dataset. The input dataset must be already sorted, from oldest in the beginning to newest and the end. This sorting can be done in any external tool (e.g. Excel). \n", "\n", "Stratified strategy splits data into bins first, and then takes a fraction from each bin to be the test dataset. This ensures that the distributions in the train and test data are similar. This is a better strategy if dataset is unballanced." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Removing duplicates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All the algorithms QSARtuna supports do not work with duplicates. Duplicates can come from multiple measurements for the same compound, or from the fact that the molecular descriptors we use are all disregard stereochemistry, so even if compounds are different, descriptors make them into duplicates. QSARtuna provides several strategies to remove duplicates:\n", "* keep median - factors experimental deviation using all replicates into one median value (robust to outliers - recommended)\n", "* keep average - use all experimental data acorss all replicates (less robust to outliers vs. median)\n", "* keep first / keep last - when the first or the last measurement is the trusted one\n", "* keep max / keep min - when we want to keep the most extreme value out of many\n", "* keep random - when we are agnostic to which replicate kept" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Configuration example" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "from optunaz.utils.preprocessing.splitter import Stratified\n", "from optunaz.utils.preprocessing.deduplicator import KeepMedian\n", "# Prepare hyperparameter optimization configuration.\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-100/train.csv\", # This will be split into train and test.\n", " split_strategy=Stratified(fraction=0.2),\n", " deduplication_strategy=KeepMedian(),\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100,\n", " n_startup_trials=50,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " ),\n", ") " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:31,184] A new study created in memory with name: my_study_stratified_split\n", "[I 2024-10-02 17:18:31,245] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 17:18:31,429] Trial 0 finished with value: -4800.860920246363 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -4800.860920246363.\n", "[I 2024-10-02 17:18:31,464] Trial 1 finished with value: -4858.3431583833035 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0006453852494528, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -4800.860920246363.\n", "[I 2024-10-02 17:18:31,494] Trial 2 finished with value: -5558.496029020844 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.45597544079943825, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.4346415094305745e-08, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -4800.860920246363.\n", "[I 2024-10-02 17:18:31,523] Trial 3 finished with value: -5558.496027195924 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0007203408466839294, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 4.398332667057879e-07, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -4800.860920246363.\n", "[I 2024-10-02 17:18:31,711] Trial 4 finished with value: -3754.5080327452138 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -3754.5080327452138.\n", "[I 2024-10-02 17:18:31,748] Trial 5 finished with value: -5236.493406720707 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00025294187429725007, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 7.0478236714173725, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -3754.5080327452138.\n", "[I 2024-10-02 17:18:31,991] Trial 6 finished with value: -2788.015529102185 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.6751063536155433, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 6 with value: -2788.015529102185.\n", "[I 2024-10-02 17:18:32,106] Trial 7 finished with value: -2882.637734911225 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 6 with value: -2788.015529102185.\n", "[I 2024-10-02 17:18:32,135] Trial 8 finished with value: -5046.977251718065 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6939577374141297, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 6 with value: -2788.015529102185.\n", "[I 2024-10-02 17:18:32,155] Trial 9 finished with value: -4636.310461288903 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.7962942118112435, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 6 with value: -2788.015529102185.\n", "[I 2024-10-02 17:18:32,209] Trial 10 finished with value: -395.3361537359272 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.17805085674767795, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,239] Trial 11 finished with value: -553.8327456862668 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.258419608745002, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,280] Trial 12 finished with value: -3756.4841168856296 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,320] Trial 13 finished with value: -3878.5996019489726 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.1894168143012962, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,404] Trial 14 finished with value: -5450.506271715585 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,434] Trial 15 finished with value: -5558.496026342885 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00019069508279839618, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.409384302833754e-06, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,460] Trial 16 finished with value: -2539.726030649711 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.551952500241758, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 10 with value: -395.3361537359272.\n", "[I 2024-10-02 17:18:32,533] Trial 17 finished with value: -395.1851441224497 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.17941011493676395, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,558] Trial 18 finished with value: -2522.86857690139 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.6411053581209198, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,590] Trial 19 finished with value: -2990.1801593880864 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.29443918558138327, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:32,634] Trial 20 finished with value: -5151.671578155611 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.4915389100768701, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,729] Trial 21 finished with value: -5177.075814440911 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 23, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,759] Trial 22 finished with value: -5558.4960290207355 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 1.1643538562943172, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00015185295749578292, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,843] Trial 23 finished with value: -2783.2573063950963 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 14, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,862] Trial 24 finished with value: -656.7509538784298 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.3459707284674065, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,869] Trial 25 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:32,889] Trial 26 finished with value: -3251.269023294797 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.45830123607855855, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,918] Trial 27 finished with value: -481.56682269179555 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5891977018007113, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,938] Trial 28 finished with value: -3749.429746437208 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:32,943] Trial 29 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:33,009] Trial 30 finished with value: -3168.773548538337 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,029] Trial 31 finished with value: -4640.839119639873 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.8940670831191575, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,060] Trial 32 finished with value: -589.6417833821303 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.5763051253407128, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,066] Trial 33 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}, return [-4800.860920246363]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}, return [-4800.860920246363]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-3749.429746437208]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:33,135] Trial 34 finished with value: -5377.083434599547 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 29, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,153] Trial 35 finished with value: -3479.5161579632318 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.31941804567565524, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,221] Trial 36 finished with value: -5679.831553540497 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 12, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,241] Trial 37 finished with value: -2936.132798395687 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,263] Trial 38 finished with value: -3876.4493150756584 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.0390781556052506, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,281] Trial 39 finished with value: -3875.0818627742105 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.9434428916113202, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,324] Trial 40 finished with value: -5206.948157138694 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.44374193118596605, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,344] Trial 41 finished with value: -2504.0713169207907 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7474867154059912, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,365] Trial 42 finished with value: -2708.242465728643 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.9838565950192151, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,398] Trial 43 finished with value: -4819.991176198922 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.0571450238667175, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,430] Trial 44 finished with value: -481.09288047226045 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5866757732447516, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,452] Trial 45 finished with value: -607.3839090109298 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.7694356902177404, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,474] Trial 46 finished with value: -4813.325194517689 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,547] Trial 47 finished with value: -3168.773548538337 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 17, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,569] Trial 48 finished with value: -2455.1421728064593 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.3570683682742817, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,651] Trial 49 finished with value: -2580.5182600331673 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "[I 2024-10-02 17:18:33,735] Trial 50 finished with value: -583.5060167275248 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.000618598864976283, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.812e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.137e+02, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.765e+02, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:33,820] Trial 51 finished with value: -418.8929746573978 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.05980410864739376, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.990e+02, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.732e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.666e+02, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:33,919] Trial 52 finished with value: -427.7324637771422 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.04579403783746738, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.820e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.569e+02, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.601e+02, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:33,991] Trial 53 finished with value: -424.0172075935404 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.049860882081952745, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.852e+02, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.002e+02, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.839e+02, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:34,065] Trial 54 finished with value: -434.9065871816471 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.035488821685050936, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 17 with value: -395.1851441224497.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.012e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.358e+01, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.319e+01, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:34,139] Trial 55 finished with value: -363.457063392389 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.0034229864153010325, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,189] Trial 56 finished with value: -392.65210771304714 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.19298856662197952, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,228] Trial 57 finished with value: -5612.80084651574 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 22.95297999625734, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 42.644935289746485, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,275] Trial 58 finished with value: -391.6911554179665 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.22281608045203982, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,322] Trial 59 finished with value: -393.6518920766344 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2347259156988194, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:34,375] Trial 60 finished with value: -398.51379448396074 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2538271702413508, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,425] Trial 61 finished with value: -399.23253166598073 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.25813227404797817, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,475] Trial 62 finished with value: -395.52936726273145 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.24232560627972968, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,526] Trial 63 finished with value: -394.9311494354517 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.23994129348334553, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,603] Trial 64 finished with value: -393.7113709861178 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1857664444261702, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,693] Trial 65 finished with value: -415.44644244530053 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.32851464534098307, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,781] Trial 66 finished with value: -395.70265730644957 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.17228683462293345, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,842] Trial 67 finished with value: -5558.4960289920455 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.010242315676871812, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.2834547399495062e-10, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,913] Trial 68 finished with value: -394.5907271718441 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1477059143272927, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:34,970] Trial 69 finished with value: -430.01936058528145 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3751961935272725, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,064] Trial 70 finished with value: -394.64118398085856 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.14717866352952494, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,146] Trial 71 finished with value: -394.92661040791836 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1452515340725078, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,246] Trial 72 finished with value: -396.4549708250368 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1366524398379856, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,341] Trial 73 finished with value: -395.450435112361 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.14209760340774633, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,419] Trial 74 finished with value: -397.96093602821253 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1301074171311558, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,477] Trial 75 finished with value: -425.78145831556486 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3619155626334043, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,539] Trial 76 finished with value: -394.25575410197615 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1550301715483597, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,594] Trial 77 finished with value: -398.1344384265276 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.25238586359457954, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,664] Trial 78 finished with value: -506.49173012186003 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.7991490248575259, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,749] Trial 79 finished with value: -396.27736446466787 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.13755387170252278, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,804] Trial 80 finished with value: -5558.496029020844 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 38.83153434359636, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.012941305174191354, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.510e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:35,906] Trial 81 finished with value: -402.4885067071505 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.11382015597797501, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:35,982] Trial 82 finished with value: -390.62810821067677 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.20977256266189867, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,040] Trial 83 finished with value: -414.1429641716593 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3228378688910579, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,115] Trial 84 finished with value: -392.60756488488704 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.22913636273231483, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,185] Trial 85 finished with value: -457.0419049482971 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.48407881929129526, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,253] Trial 86 finished with value: -392.7729892003058 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.23012775988865936, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,308] Trial 87 finished with value: -426.4716375808739 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.36413423030403813, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,362] Trial 88 finished with value: -392.6664629214362 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.22950926878022426, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,402] Trial 89 finished with value: -440.6400797148971 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.4044127239480447, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,444] Trial 90 finished with value: -466.2576692105774 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5216671100745962, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,520] Trial 91 finished with value: -392.20868498072076 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.22640448682036937, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,575] Trial 92 finished with value: -399.0102335623082 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.25567208651201717, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,643] Trial 93 finished with value: -392.7987638434602 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.23030546105659774, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,704] Trial 94 finished with value: -408.5495513397237 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.30256461527403555, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,780] Trial 95 finished with value: -391.1635887741016 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.21776658272143576, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,854] Trial 96 finished with value: -445.06245664446107 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.4248927436146357, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,901] Trial 97 finished with value: -673.2581805424892 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.9183185505961307, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "[I 2024-10-02 17:18:36,956] Trial 98 finished with value: -3759.6112020079745 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.189e+01, tolerance: 3.624e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.648e+02, tolerance: 3.621e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.699e+02, tolerance: 3.727e+01\n", " model = cd_fast.enet_coordinate_descent(\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:37,064] Trial 99 finished with value: -424.78576633112925 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.0489979631143741, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 55 with value: -363.457063392389.\n" ] } ], "source": [ "study = optimize(config, study_name=\"my_study_stratified_split\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Choosing scoring function " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, QSARtuna uses `neg_mean_squared_error` for regression and `roc_auc` for classification. It is possible to change to other scoring functions that supported by scikit-learn (https://scikit-learn.org/stable/modules/model_evaluation.html) amongst others:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['explained_variance',\n", " 'max_error',\n", " 'neg_mean_absolute_error',\n", " 'neg_mean_squared_error',\n", " 'neg_median_absolute_error',\n", " 'r2',\n", " 'accuracy',\n", " 'average_precision',\n", " 'balanced_accuracy',\n", " 'f1',\n", " 'f1_macro',\n", " 'f1_micro',\n", " 'f1_weighted',\n", " 'jaccard',\n", " 'jaccard_macro',\n", " 'jaccard_micro',\n", " 'jaccard_weighted',\n", " 'neg_brier_score',\n", " 'precision',\n", " 'precision_macro',\n", " 'precision_micro',\n", " 'precision_weighted',\n", " 'recall',\n", " 'recall_macro',\n", " 'recall_micro',\n", " 'recall_weighted',\n", " 'roc_auc',\n", " 'auc_pr_cal',\n", " 'bedroc',\n", " 'concordance_index']" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from optunaz import objective\n", "list(objective.regression_scores) + list(objective.classification_scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This value can be set using `settings.scoring`:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-100/train.csv\",\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100,\n", " n_startup_trials=50,\n", " random_seed=42,\n", " scoring=\"r2\", # Scoring function name from scikit-learn.\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " ),\n", ") " ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:40,168] A new study created in memory with name: my_study_r2\n", "[I 2024-10-02 17:18:40,170] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:18:40,948] Trial 0 finished with value: -0.01117186866515977 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.01117186866515977.\n", "[I 2024-10-02 17:18:41,277] Trial 1 finished with value: -0.08689402230378156 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.01117186866515977.\n", "[I 2024-10-02 17:18:42,194] Trial 2 finished with value: -0.12553701248394863 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 0 with value: -0.01117186866515977.\n", "[I 2024-10-02 17:18:42,728] Trial 3 finished with value: 0.30393095442038176 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 3 with value: 0.30393095442038176.\n", "[I 2024-10-02 17:18:42,769] Trial 4 finished with value: 0.2018274962869717 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 3 with value: 0.30393095442038176.\n", "[I 2024-10-02 17:18:42,835] Trial 5 finished with value: 0.8187194367176578 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: 0.8187194367176578.\n", "[I 2024-10-02 17:18:42,880] Trial 6 finished with value: 0.4647239019719945 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: 0.8187194367176578.\n", "[I 2024-10-02 17:18:42,918] Trial 7 finished with value: 0.8614818478547979 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 7 with value: 0.8614818478547979.\n", "[I 2024-10-02 17:18:43,033] Trial 8 finished with value: -0.12769795082909816 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 7 with value: 0.8614818478547979.\n", "[I 2024-10-02 17:18:43,100] Trial 9 finished with value: 0.8639946428338224 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,131] Trial 10 finished with value: -0.12553701248377633 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00044396482429275296, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3831436879125245e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,164] Trial 11 finished with value: -0.12553700871203702 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00028965395242758657, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.99928292425642e-07, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,200] Trial 12 finished with value: 0.29355820424290757 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,239] Trial 13 finished with value: 0.18476333152695587 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,269] Trial 14 finished with value: 0.8190707459213998 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.4060379177903557, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,360] Trial 15 finished with value: 0.12206148974315849 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:43,402] Trial 16 finished with value: 0.3105263811279067 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.344271094811757, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,429] Trial 17 finished with value: 0.3562469062424869 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.670604991178476, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,514] Trial 18 finished with value: 0.04595969590698327 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,554] Trial 19 finished with value: 0.8583939656024446 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5158832554303112, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,600] Trial 20 finished with value: 0.30625740785155436 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,636] Trial 21 finished with value: -0.11657354998283716 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009327650919528738, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.062479210472502, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,644] Trial 22 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:43,689] Trial 23 finished with value: 0.8498478905829554 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1366172066709432, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,784] Trial 24 finished with value: -0.1276979508290982 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,833] Trial 25 finished with value: -0.13519830637607919 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 43.92901911959232, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.999026012594694, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [0.29355820424290757]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:43,870] Trial 26 finished with value: 0.8198078293055633 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5888977841391714, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:43,906] Trial 27 finished with value: 0.8201573964824842 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.19435298754153707, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,044] Trial 28 finished with value: 0.045959695906983344 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 13, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,089] Trial 29 finished with value: -0.12553701248394863 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 1.6285506249643193, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.35441495011256785, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,172] Trial 30 finished with value: 0.11934070343348298 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,213] Trial 31 finished with value: 0.4374125584543907 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2457809516380005, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,273] Trial 32 finished with value: 0.3625576518621392 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6459129458824919, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,333] Trial 33 finished with value: 0.36175556871883746 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8179058888285398, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,353] Trial 34 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:44,387] Trial 35 finished with value: 0.8202473217121523 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0920052840435055, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,416] Trial 36 finished with value: 0.3672927879319306 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8677032984759461, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,423] Trial 37 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:44,452] Trial 38 finished with value: 0.40076792599874356 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.2865764368847064, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,535] Trial 39 finished with value: 0.26560316846701765 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [0.29355820424290757]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [0.30625740785155436]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:44,631] Trial 40 finished with value: 0.41215254857081174 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,644] Trial 41 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:18:44,768] Trial 42 finished with value: -0.004614143721600776 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 25, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,794] Trial 43 finished with value: 0.2728253352418362 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [0.30393095442038176]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:44,912] Trial 44 finished with value: -0.10220127407364976 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,944] Trial 45 finished with value: 0.3032340413058286 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:44,986] Trial 46 finished with value: 0.3044553805553568 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6437201185807124, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:45,026] Trial 47 finished with value: -0.12553701248394863 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 82.41502276709562, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.10978379088847677, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:45,063] Trial 48 finished with value: 0.36160209098547913 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.022707289534838138, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:45,105] Trial 49 finished with value: 0.2916101445983833 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.434e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.936e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,194] Trial 50 finished with value: 0.8609413020928532 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.04987590926279814, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.794e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.830e+02, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.578e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,322] Trial 51 finished with value: 0.8610289662757457 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.019211413400468974, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.754e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.507e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.843e+02, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,415] Trial 52 finished with value: 0.8610070549049179 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.018492644772509947, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.840e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.513e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.924e+02, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,546] Trial 53 finished with value: 0.8569771623635769 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.008783442408928633, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.014e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.243e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,674] Trial 54 finished with value: 0.8624781673814641 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.05782221001517797, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.935e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.113e+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.122e+02, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:45,806] Trial 55 finished with value: 0.8618589507037001 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.02487072255316275, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: 0.8639946428338224.\n", "[I 2024-10-02 17:18:45,912] Trial 56 finished with value: 0.864754359721037 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2079910754941946, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:45,997] Trial 57 finished with value: 0.8622236413326235 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.333215560931422, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,054] Trial 58 finished with value: 0.861832165638517 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3628098560209365, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,149] Trial 59 finished with value: 0.8620108533993581 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.34240779695521706, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,214] Trial 60 finished with value: 0.8638540565650902 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.26493714991266293, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,276] Trial 61 finished with value: 0.8629799500771645 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.30596394512914815, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,335] Trial 62 finished with value: 0.8621408609583922 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.33648829357762355, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,402] Trial 63 finished with value: 0.8638132124078156 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2679814646317183, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,473] Trial 64 finished with value: 0.863983758876634 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.24062119162159595, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,528] Trial 65 finished with value: 0.8627356047945115 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3141728910335158, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,591] Trial 66 finished with value: 0.8639203054085788 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.23391390640786494, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,632] Trial 67 finished with value: 0.8570103863991635 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6124885145996103, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: 0.864754359721037.\n", "[I 2024-10-02 17:18:46,711] Trial 68 finished with value: 0.8647961976727571 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2059976546070975, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 68 with value: 0.8647961976727571.\n", "[I 2024-10-02 17:18:46,823] Trial 69 finished with value: 0.8648312544921793 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.20266060662750784, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 69 with value: 0.8648312544921793.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:46,919] Trial 70 finished with value: 0.8648431452862716 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.20027647978240445, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 70 with value: 0.8648431452862716.\n", "[I 2024-10-02 17:18:47,006] Trial 71 finished with value: 0.8648491459660418 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1968919999787333, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: 0.8648491459660418.\n", "[I 2024-10-02 17:18:47,120] Trial 72 finished with value: 0.8650873115156988 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.174598921162764, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:47,201] Trial 73 finished with value: 0.8650350577921149 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.16468002989641095, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:47,294] Trial 74 finished with value: 0.8649412283687147 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1606717091615047, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.986e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:47,416] Trial 75 finished with value: 0.8649537211609554 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.14694925097689848, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:47,526] Trial 76 finished with value: 0.8649734575435447 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.147612713300643, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.446e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:47,647] Trial 77 finished with value: 0.8648761002838515 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.14440434705706803, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.398e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:47,801] Trial 78 finished with value: 0.8639826593122782 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1265357179513065, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.690e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:47,939] Trial 79 finished with value: 0.864435565531768 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1374245525868926, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,009] Trial 80 finished with value: 0.8590221951825531 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.49890830155012533, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,101] Trial 81 finished with value: 0.8649098880804443 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1573428812070292, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.405e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:48,203] Trial 82 finished with value: 0.864536410656637 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.13886104722511608, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,267] Trial 83 finished with value: 0.8597401050431873 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.47746341180045787, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,312] Trial 84 finished with value: 0.8537465461603838 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8599491178327108, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.050e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:48,443] Trial 85 finished with value: 0.8642643827090003 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.13446778921611002, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.175e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:48,574] Trial 86 finished with value: 0.8641621818665252 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1286796719653316, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.446e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:48,681] Trial 87 finished with value: 0.864182755916388 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.13303218726548235, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,725] Trial 88 finished with value: -0.1255357440899417 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.021711452917433944, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 5.559714273835951e-05, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:48,780] Trial 89 finished with value: 0.8604596648091501 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.43644874418279245, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.463e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:48,874] Trial 90 finished with value: 0.8635689909135862 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.10940922083495383, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:49,058] Trial 91 finished with value: 0.8648544336551733 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1912756875742137, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:49,144] Trial 92 finished with value: 0.8648496595672595 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.19628449928540487, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:49,201] Trial 93 finished with value: 0.8452625121122099 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.4324661283995224, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:49,255] Trial 94 finished with value: 0.8378670635846416 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.839206620815206, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.002e+01, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.082e+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:49,393] Trial 95 finished with value: 0.8649365368153895 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.07270781179126021, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 72 with value: 0.8650873115156988.\n", "[I 2024-10-02 17:18:49,604] Trial 96 finished with value: 0.8875676754699953 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.0006995169897945908, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: 0.8875676754699953.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.586e+01, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.234e+01, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.618e+01, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:49,734] Trial 97 finished with value: 0.8730555131061773 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.0018186269840273495, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: 0.8875676754699953.\n", "[I 2024-10-02 17:18:49,796] Trial 98 finished with value: -0.12553508835019533 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.04867556317570456, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0011658455138452, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: 0.8875676754699953.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did 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+02, tolerance: 4.977e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did 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+02, tolerance: 4.782e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.016e+02, tolerance: 4.906e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 17:18:49,961] Trial 99 finished with value: 0.8586292788613132 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.005078762921098462, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: 0.8875676754699953.\n" ] } ], "source": [ "study = optimize(config, study_name=\"my_study_r2\")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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a+uQa2uRb+sEK9etWqX41Ok7ZlqYAAAAQoWCCQAAwAQFEwAAgAkKJgAAABMUTAAAACYomAAAAExQMAEAAJigYAIAADBBwQQAAGCCggkAAMAEBRMAAIAJCiYAAAATFEwAAAAmKJgAAABMUDABAACYoGACAAAwQcEEAABggoIJAADABAUTAACACQomAAAAExRMAAAAJiiYAAAATFAwAQAAmKBgAgAAMEHBBAAAYIKCCQAAwAQFEwAAgAkKJgAAABMUTAAAACYomAAAAExQMAEAAJigYAIAADBBwQQAAGCCggkAAMAEBRMAAIAJCiYAAAATFEwAAAAmKJgAAABMUDABAACYoGACAAAwQcEEAABggoIJAADABAUTAACACQomAAAAExRMAAAAJiiYAAAATFAwAQAAmKBgAgAAMEHBBAAAYIKCCQAAwAQFEwAAgAkKJgAAABMUTAAAACYomAAAAEzETMHkcrmUl5enIUOGqFevXpo0aZL27t3b4PJVVVVasGCBe/kJEyZo69atFkYMAACiRcwUTAUFBXrxxRd1//3366WXXpLL5dLEiRNVWVnpdfl77rlHq1at0oMPPqiVK1eqVatWmjRpko4dO2Zx5AAAINLFRMFUWVmppUuXaurUqRo2bJgyMzO1cOFCFRYWau3atfWW37t3r1auXKkHHnhAQ4YMUZcuXTR37lwlJCToH//4Rxj2AAAARLKYKJi2bdumkpISDRw40D0tLS1N3bp10/r16+st//e//10tW7bUeeed57H8+++/77ENAAAASXKEO4BgKCwslCS1b9/eY3rbtm3d82rbvXu3Tj/9dK1du1bPPPOMDhw4oG7duunOO+9Uly5dmhSLwxHcGtRuj/P4H6FDrq1Drq1Drq1Fvq1jda5jomAqKyuTJCUkJHhMb9GihY4ePVpv+ePHj2vPnj0qKCjQHXfcobS0ND311FMaP3681qxZo9atWwcUR1ycTenpKQGtayYtLSkk20V95No65No65Npa5Ns6VuU6JgqmxMRESSf6MtX8LEkVFRVKSqqfSIfDoePHj2vhwoXuFqWFCxdq6NCheu211zRx4sSA4nC5DBUXlwa0bkPs9jilpSWpuLhMTqcrqNuGJ3JtHXJtHXJtLfJtnWDlOi0tyadWqpgomGouxRUVFaljx47u6UVFRcrIyKi3fLt27eRwODwuvyUmJur0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SouPC/5jTQAglHwqmHJyckIdB4AY5f1SGgUTgOjiU8GUn5+vyy67TKeeeqry8/NNl09OTlbHjh01bNgwORyMkQIAAKKbzwXTeeed53PBJJ3oy3TRRRfpkUceaVKAAAAA4eZTwbRt2zavPzeksrJSixcvpu8TAACICQFfLzt27JgMw1BaWlq9eQkJCRo0aJC2b9/epOAAAAAigV8F065du/T73/9ef/nLX3T8+HFJUkpKis4//3xdd911HoNW9unTR3369AlutAAAAGHgc8G0Zs0azZo1S3FxcfrpT3+qjh07yuFwaO/evXr//ff19ttv68EHH1Rubm4o4wUAALCcTwXTrl27NGvWLA0dOlT333+/TjrpJI/5x48f1913363Zs2frnHPOUZcuXUISLAAAQDj49PDd559/XmeddZYWLlxYr1iSpNTUVD366KPKzMzU//3f/wU9SAAAgHDyqWD69NNPNX78eNnt9oY3FBenK664Qp988knQggMAAIgEPhVMRUVF6tSpk+lyp512mg4erP+gTQAAgGjmU8GUlpamoqIi0+WKiorUqlWrJgcVCJfLpby8PA0ZMkS9evXSpEmTtHfv3gaX/9e//qUbbrhB/fv318CBAzV16lR9//33FkYMAACihU8FU+/evfX666+bLrdq1Sr17t27qTEFpKCgQC+++KLuv/9+vfTSS3K5XJo4caIqKyvrLXv48GFde+21SkxM1PLly/X73/9ehw4d0sSJE1VRURGG6EPLsNlUWu3SD8crVVrtkmHjOV4AAPjDp4Lp6quv1t/+9jcVFBQ0uMyCBQv06aef6uqrrw5acL6qrKzU0qVLNXXqVA0bNkyZmZlauHChCgsLtXbt2nrLv/feeyotLdUjjzyirl27qkePHnr00Ue1a9cuffnll5bHH0pOm035Kzdryvy/6o78jzVl/l+Vv2qznBRNAAD4zKdhBfr06aNp06bpscce01tvvaXhw4erQ4cOcjgc+u6777R27Vrt3r1bM2fOVFZWVqhjrmfbtm0qKSnRwIED3dPS0tLUrVs3rV+/vt7YUAMHDlRBQYESExPd0+LiTtSOxcXF1gRtAcNmU8HKzdq4w7Nf2cbtB1WwarOmjM2SzTDCFB0AANHD54Erb7jhBp199tnKz8/Xs88+6zGvV69e+v3vf6/BgwcHPUBfFBYWSpLat2/vMb1t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3323Jk6cqHbt2nnNtSSOcT/V5Ktr164e08866yzt27ePXAfZpk2bVFVV5dEXUpLOPfdc7dmzh3yHkFluQ3nupGCKUJmZmUpNTdW6devc04qLi7Vlyxb169cvjJFFvxdffFH333+/fvWrX+mxxx7zaLrt27evPv/8c4/lP/vsM/Xu3Vtxcbxd/DF//nytWbNGr7/+uvufJE2dOlUPPPCA+vXrpy+++MJjLKDPPvtMZ555plq3bh2mqKNT9+7dlZKSok2bNnlM37Fjhzp27Kh+/fppy5Yt7kt30olcp6SkKDMz0+pwo15NH5rt27d7TN+xY4fOOOMMju0QMsttSM+dTbrHDiH12GOPGTk5OcZ7773nMZZEZWVluEOLWt98843RvXt345ZbbjGKioo8/hUXFxs7duwwunfvbjz66KPGzp07jSVLljAOUxDVHlbghx9+MPr162fMnDnT+Ne//mWsXLnS6Nmzp7Fq1aowRxmdnnzySSM7O9tYvXq1xzhMn332mVFeXm6MHDnSuP76642tW7e6x2FatGhRuMOOSk6n07jyyiuN0aNHG59++qmxe/duY+HChcY555xjfPXVVxzbQTRz5kyPYQV8yW2ozp0UTBGsurraeOSRR4wBAwYYvXr1MiZNmmTs3bs33GFFtaeeesro2rWr138zZ840DMMwPvzwQyM3N9fo0aOHMXr0aOOtt94Kc9Sxo3bBZBiGsWnTJuPyyy83evToYQwfPtxYvnx5GKOLfkuXLjVGjBhhdO/e3RgzZozx7rvvuud9++23xrXXXmv07NnTGDx4sPH4448bTqczjNFGtyNHjhj33HOPMWzYMCM7O9v45S9/aaxbt849n2M7OOoWTIZhnttQnTtthsHgMgAAAI2hUwYAAIAJCiYAAAATFEwAAAAmKJgAAABMUDABAACYoGACAAAwQcEEAABggofvArDMnXfeqddee63RZXJycrR8+XKv86666ipJanC+NyNGjFBOTo7mzZvne6AWy8jI0JQpU3TrrbeGOxQADaBgAmCZyZMn64orrnD/XlBQoC1btig/P989LTU1tcH177777pDGBwANoWACYJmOHTuqY8eO7t9btWqlhIQE9erVy6f1zzrrrBBFBgCNow8TgIizatUqdevWTa+88ooGDRqknJwc7dy5U1dddZX7spwkHTp0SPfee6+GDx+uHj16KCcnR7fccov27dvn82stWrRIP/vZz/TXv/5VF110kXr06KH/+Z//0euvv+4RT0ZGRr3tjhgxQnfeeaf794yMDP3hD3/QnXfeqT59+ignJ0dz585VeXm5Hn74YQ0YMED9+/fXXXfdpYqKCo9tHT9+XNOnT1d2drYGDhyouXPnqqyszGOZ9957T2PHjlXPnj01aNAgzZ07V6WlpfX2JT8/Xzk5ORo8eLCOHj3qcy4ANIwWJgARyel0aunSpXrggQd0+PBhdenSxWO+YRi68cYbdfToUU2fPl2nnHKKtm/frscff1x33323lixZ4vNrHTx4UPfdd59uvvlmdejQQUuWLNHMmTPVs2fPeq9r5tFHH1Vubq7y8/P1wQcf6P/+7//08ccfKzMzU/Pnz9dXX32lRYsW6cwzz9TEiRPd6y1fvlxDhw7V448/rt27d2vhwoXav3+/nnzySUnS6tWrNX36dF100UX6zW9+o++++04LFy7Uzp079dxzz8lms0mSvv/+e3344YdauHChjhw5opNOOsmv+AF4R8EEIGLddNNNGjZsmNd5RUVFSkpK0syZM9W3b19JUv/+/fXvf/9bL7/8sl+vU1ZWpgceeEADBw6UJJ1xxhkaPny4PvzwQ78LprPOOkv33XefpBMd2F955RVVVVVp/vz5cjgcGjx4sN555x19+eWXHut16dJFTz75pOLi4jR06FDZbDY9+OCD2rFjh84++2zNnz9fQ4YM0fz5893rnHHGGbrmmmv04YcfuvNUXV3tkRMAwcElOQAR65xzzmlw3qmnnqply5apT58+2rdvn/7+979r+fLl+vLLL1VZWen3a9XuR9WuXTtJ8rjc5avs7Gz3z3a7Xenp6erevbscjv9+Pz355JN17Ngxj/VGjx6tuLj/fiSPGjVKkrR+/Xp98803Kiws1IgRI1RdXe3+169fP6Wmpurvf/+7x7YayxuAwNDCBCBiJScnNzr/zTff1GOPPab9+/fr5JNP1jnnnKPExMSAXispKcn9c03hYhiG39vxdpef2X5IUps2bTx+b926tSSpuLhYR44ckSTde++9uvfee+utW1RU5PF7SkqKr+EC8BEFE4CotGHDBs2cOVNXXXWVrr/+ep166qmSpEceeURffPFFUF+rpn+Qy+XymF5SUhK016gpimocPHhQ0onCKS0tTZJ0xx13KCcnp9669FMCQo9LcgCi0saNG+VyuXTrrbe6iyWn06lPPvlEUv3ipilqWo0KCwvd03bt2lWvyGmKjz76yOP3t956SzabTTk5OercubNat26tffv2qWfPnu5/p556qhYsWKAtW7YELQ4A3tHCBCAqZWVlSZLuu+8+/eIXv9DRo0f1wgsvaNu2bZJO9D9qbBBMf/Tv31+JiYmaN2+ebrvtNpWUlCgvL08nn3xyULYvSV9//bXuuusu5ebm6uuvv1ZeXp7GjRunM844Q5I0bdo0zZkzR3a7XcOHD1dxcbEKCgp04MABde/ePWhxAPCOgglAVOrfv7/mzJmj5557Tn/+8591yimnqH///srPz9ctt9yiL774QkOHDg3Ka6WlpWnRokVasGCBbrnlFnXo0EFTpkzxGKupqW655Rb94x//0E033aSWLVtq4sSJmjJlinv+ZZddppSUFD377LN6+eWXlZycrN69e2v+/Pk6/fTTgxYHAO9sRiC9GgEAAJoR+jABAACYoGACAAAwQcEEAABggoIJAADABAUTAACACQomAAAAExRMAAAAJiiYAAAATFAwAQAAmKBgAgAAMEHBBAAAYIKCCQAAwMT/A490AK+hxNO5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = sns.scatterplot(data=study.trials_dataframe(), x=\"number\", y=\"value\")\n", "ax.set(xlabel=\"Trial number\", ylabel=\"Ojbective value\\n(r2)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Advanced functoinaility: algorithms & runs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Various algorithms are available in QSARtuna:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(optunaz.config.optconfig.Lasso,\n", " optunaz.config.optconfig.PLSRegression,\n", " optunaz.config.optconfig.RandomForestRegressor,\n", " optunaz.config.optconfig.Ridge,\n", " optunaz.config.optconfig.KNeighborsRegressor,\n", " optunaz.config.optconfig.SVR,\n", " optunaz.config.optconfig.XGBRegressor,\n", " optunaz.config.optconfig.PRFClassifier,\n", " optunaz.config.optconfig.ChemPropRegressor,\n", " optunaz.config.optconfig.ChemPropRegressorPretrained,\n", " optunaz.config.optconfig.ChemPropHyperoptRegressor,\n", " optunaz.config.optconfig.CustomRegressionModel,\n", " optunaz.config.optconfig.AdaBoostClassifier,\n", " optunaz.config.optconfig.KNeighborsClassifier,\n", " optunaz.config.optconfig.LogisticRegression,\n", " optunaz.config.optconfig.RandomForestClassifier,\n", " optunaz.config.optconfig.SVC,\n", " optunaz.config.optconfig.ChemPropClassifier,\n", " optunaz.config.optconfig.ChemPropHyperoptClassifier,\n", " optunaz.config.optconfig.CustomClassificationModel,\n", " optunaz.config.optconfig.CalibratedClassifierCVWithVA,\n", " optunaz.config.optconfig.Mapie)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from optunaz.config.optconfig import AnyAlgorithm\n", "AnyAlgorithm.__args__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial will now look at more complex considerations that should be factored for more advanced functionaility such as the PRF and ChemProp algorithms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Probabilistic Random Forest (PRF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "PRF is a modification of the long-established Random Forest (RF) algorithm and takes into account uncertainties in features and/or labels (though only uncertainty in labels are currently implemented in QSARtuna), which was first described in[1]. It can be seen as a probabilistic method to factor experimental uncertainty during training, and is considered a hybrid between regression and classification algorithms.\n", "\n", "In more detail; PRF treats labels as probability distribution functions [PDFs] (denoted as `∆y`), rather than deterministic quantities. In comparison, the traditional RF uses discrete variables for activity (binary y-labels, also referred to as `y`) from the discretised bioactivity scale defining active/inactive sets. \n", "\n", "PTR integration was added to QSARtuna to afford this probabilistic approach towards modelling, and is particularly useful combined with the PTR (See the preprocessing notebook for details). In this combination, PRF takes as input real-valued probabilities (similar to regression), from a Probabilistic Threshold Representation (PTR). However, similar to classification algorithms, PRF outputs the probability of activity for the active class.\n", "\n", "Note that QSARtuna runs the PRFClassifier in a regression setting, since the model only outputs class liklihood membership based on `∆y`\n", "\n", "[1] https://iopscience.iop.org/article/10.3847/1538-3881/aaf101/meta\n", "\n", "The following code imports the PRFClassifier and sets up a config to use the PRF with PTR:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "from optunaz.config.optconfig import PRFClassifier\n", "\n", "# Prepare hyperparameter optimization configuration.\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Measurement\",\n", " training_dataset_file=\"../tests/data/pxc50/P24863.csv\",\n", " probabilistic_threshold_representation=True, # This enables PTR\n", " probabilistic_threshold_representation_threshold=8, # This defines the activity threshold\n", " probabilistic_threshold_representation_std=0.6, # This captures the deviation/uncertainty in the dataset\n", " ),\n", " descriptors=[\n", " ECFP.new(),\n", " ECFP_counts.new(),\n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " PRFClassifier.new(n_estimators={\"low\": 20, \"high\": 20}), #n_estimators set low for the example to run fast\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=15,\n", " random_seed=42,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that QSARtuna is run in regression mode (`ModelMode.REGRESSION`), as outputs from the algorithm are always continuous values.\n", "\n", "Next we can run the PRF/PTR study:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:18:54,912] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:18:54,914] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:18:59,458] Trial 0 finished with value: -0.08012946445342808 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 13, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 5, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.08012946445342808.\n", "[I 2024-10-02 17:19:04,426] Trial 1 finished with value: -0.0728910742204806 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 6, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 1 with value: -0.0728910742204806.\n", "[I 2024-10-02 17:19:09,767] Trial 2 finished with value: -0.08595075398685652 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 2, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 5, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 1 with value: -0.0728910742204806.\n", "[I 2024-10-02 17:19:14,590] Trial 3 finished with value: -0.07164416449895736 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 7, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 2, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 3 with value: -0.07164416449895736.\n", "[I 2024-10-02 17:19:24,639] Trial 4 finished with value: -0.0688559585497607 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -0.0688559585497607.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: UserWarning: Persisting input arguments took 0.54s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: UserWarning: Persisting input arguments took 0.58s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:19:38,908] Trial 5 finished with value: -0.05288340414349857 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 26, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:19:38,925] Trial 6 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-0.0688559585497607]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:19:45,347] Trial 7 finished with value: -0.06603614187252341 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 27, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 2, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:19:48,828] Trial 8 finished with value: -0.07732628284491558 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 5, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 3, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:19:54,641] Trial 9 finished with value: -0.06147782414985112 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 22, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 2, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:19:58,656] Trial 10 finished with value: -0.07325856248953562 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 32, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 4, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:20:00,365] Trial 11 finished with value: -0.06290477085229226 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 30, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:20:02,259] Trial 12 finished with value: -0.06491937561887745 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 14, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 2, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:20:07,251] Trial 13 finished with value: -0.06872207131337535 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 18, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: -0.05288340414349857.\n", "[I 2024-10-02 17:20:20,598] Trial 14 finished with value: -0.05366258484830945 and parameters: {'algorithm_name': 'PRFClassifier', 'PRFClassifier_algorithm_hash': 'efe0ba9870529a6cde0dd3ad22447cbb', 'max_depth__efe0ba9870529a6cde0dd3ad22447cbb': 25, 'n_estimators__efe0ba9870529a6cde0dd3ad22447cbb': 20, 'max_features__efe0ba9870529a6cde0dd3ad22447cbb': , 'min_py_sum_leaf__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_gini__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'use_py_leafs__efe0ba9870529a6cde0dd3ad22447cbb': 1, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.05288340414349857.\n" ] } ], "source": [ "# Run the PRF/PTR Optuna Study.\n", "study = optimize(config, study_name=\"my_study\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now plot obtained performance across the Optuna trials." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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/Xh4eODh4VHW7oiIVHuFn8PROmYiUuZXfZKSkhg6dCi+vr7ceeedHDp0CA8PD+69916efPJJNm/eXOq2fHx8FMZERLh858zLxYkba7nh5eKkUCZiUGW+Y+bq6moLU7fccgsnT54kPz8fV1dX2rVrV6YFYceMGcOCBQtITEwkKCgILy+vYsd06NChrF0UERERqZbKHMxuv/12Pv/8czp27EjTpk2xWCx8//33tG/fnuTk5DK1NXfuXABWrFgBUGRJDqvVislkKvWaaCIiIiLVXZmD2YgRI5g4cSIZGRlERETQu3dvnnnmGe655x527txJu3btSt1WWR57ioiIiNR0ZQ5mffr0Yd26dfzyyy8AzJ8/n2nTprF161ZatWrFnDlzSt1WaGhoWS8vIiIiUmOVOZiZzWZ69OhBjx49APDz82Pjxo3l7kBFrYkmIiIiUt2VOZh17dqVfv36MXDgQFq1anVdF6/INdFEREREqrsyL5fRv39/du3axcMPP0zfvn1Zt24dv/32W7kuXrgm2oEDBxg5ciQPP/ww//nPf3jxxRdxd3cv05poIiIiItVdmYPZrFmz+PLLL9m4caPtk0p33303jz32GO+88w4XL14sdVsVuSaaiIiISHVX5mAGl5e16Ny5MwsWLODrr79mzZo1NGjQgPDwcO66665St3OlNdEA2rVrx4kTJ8rTPREREZFqqVzBrFBBQQFff/010dHRfPnllwB07ty51OcXrokGFFkTDSjzmmgiIiIi1V2ZJ/9brVb279/PRx99xGeffcaFCxcIDg5m0qRJ3Hffffj5+ZW6rYpcE01ERESkuitzMLvrrrs4e/YsN910E0OHDmXgwIE0adKkXBevyDXRRERERKq7MgezXr16cf/999O+ffsK6UBFrokmIiIiUp2VOZjNnz+/wi5++vTpax5z0003Vdj1RERERBxZmYNZRerVq1eRD5eXRB8xFxEREaOwazCLiIgoFsyysrKIjY3lwIEDRERE2KlnIiIiIlXPrsFs8ODBJW5/9NFHWbRoETt37rTNPxMRERGp6a5rHbPK1KtXL7744gt7d0NERESqgNVkIqvAwu+ZeWQVWLBeY6pTTVXuO2Z79+7l22+/JTU1lalTp3L06FFatmxJw4YNK6Rj33//PS4udr2hJyIiIlXAbDKx5r3DxCWk2baFBPozfnAwzlarHXtW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Vq9efc3jvby8aNy4MT169MDF5cqX+M9//kNkZCQuLi6YzeYi++67774yL1grIiJSVv+bUmEhJ68ADzcXPF21jpnYR6mDWbdu3UodzODyNzUHDBjA0qVLr3iMu7s7OTk5Je5LT0/HzU0TLkVEpPKZrFZ8PJy5pYEP589foqDAYu8uiUGVKpgdO3asxB9fSV5eHuvWrbvm3LQuXbqwatUq2rZti7+/P3A50F26dImNGzeWuCSHiIiISE1V7tdNLl68iNVqxcfHp9g+Nzc3unTpQnx8/FXbePrpp/nb3/5G3759CQoKwmQysXjxYhITE7FarURGRpa3eyIiIiLVTpmC2S+//ML//d//8e9//5vMzEzg8gfHe/fuzciRI4ssLtuuXTvatWt31fYaNGjABx98wKZNm9i/fz+NGzcmKyuL/v37M2LECOrVq1eOkkRERESqp1IHs+joaGbOnImTkxN/+ctfaNy4MS4uLvz666/s2bOHjz/+mIiICPr371+mDvj5+fHUU0+VueMiIiIiNU2pgtkvv/zCzJkz6d69O88//zy+vr5F9mdmZjJ37lxmz57N7bffTvPmzUvdgZSUFH788UcuXrxY4v4HHnig1G2JiIiIVGelCmabNm3i1ltvZcWKFTg7OxfbX6tWLV544QWGDh3Kq6++yvz580t18ejoaJ599lny8vJK3G8ymRTMRERExDBKFcz27dvHuHHjSgxlhZycnHjkkUdKvZwGwMqVKwkODmbmzJnUrl271OeJiIiI1ESlCmapqanccsst1zyuUaNGpKUV/6zF1dqdP38+LVu2LPU55ZWbm8vixYv55JNPyMnJoVevXsyaNYs6depc8ZykpCSef/55YmJi8PLyYsiQIYSFheHs7ExSUhK9e/cu8TyTyWRbVmTHjh08/fTTxY7597//TaNGjSqmOBEREakRShXMfHx8SE1NveZxqampVw06f9amTRuOHTtGp06dSn1Oec2bN4/Y2FiioqJwc3Nj7ty5TJo0iS1btpR4fH5+PqNGjaJJkyZs3bqVU6dOMWvWLJycnJg0aRINGjTg66+/LnLOqVOnGDFiBKNHj7Zti4+PJzQ0tNjSH2UZJxERETGGUgWztm3bsn37du67776rHrdt2zbatm1b6ovPnTuXsWPHkpmZSatWrfDy8ip2TIcOHUrd3pWkpKSwfft21q1bR/v2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9hIAQGJiIikpKXTo0KHEczp06MCRI0fIzMy0bdu/fz/e3t4EBQXZ5o7Fx8cXOS8+Pp4mTZqUqg1783R1JiTQv8R9IYH+eLpqrTUREZGqZIhgFhAQQL9+/Zg9ezYHDhzg8OHDTJ06ldDQUNq0aQNAXl4eaWlptkePffr0wd/fnylTpnDs2DF2795NZGQkI0eOxM3NDX9/f/r3709ERAT//ve/+fXXX9m8eTPvvfceY8eOLVUb9mayWhk/OLhYOCt8K1NLZoiIiFQtk9VqjP/7ZmVlERERwa5duwDo1q0bs2fPxs/PD4ADBw4wfPhwNm/eTMeOHQE4efIk4eHhxMbG4uvra1u138npcp7Nyclh7dq1REdH8/vvv9O0aVPGjBnDvffea7vutdooD7PZwrlzFTf3y2oykZ1vISevAA83FzxdjbmOmYuLE35+3pw/f8mQt/BVv7HrB42B0esHjUFl1l+njnep5pgZJpjVJBUdzEC/GUFjoPqNXT9oDIxeP2gMHCGYGeJRpoiIiEh1oGAmIiIi4iAUzEREREQchIKZiIiIiINQMBMRERFxEApmIiIiIg5CwUxERETEQSiYiYiIiDgIBTMRERERB6FgJiIiIuIgFMxEREREHISCmYiIiIiDUDATERERcRAKZiIiIiIOQsFMRERExEEomImIiIg4CAUzEREREQehYCYiIiLiIBTMRERERByEgpmIiIiIg1AwExEREXEQCmYiIiIiDkLBTERERMRBKJiJiIiIOAgFMxEREREHoWAmIiIi4iAUzEREREQchIKZiIiIiINQMBMRERFxEApmIiIiIg5CwUxERETEQSiYiYiIiDgIBTMRERERB6FgJiIiIuIgFMxEREREHISCmYiIiIiDUDATERERcRAKZiIiIiIOQsFMRERExEEYJpjl5uYSHh5O586dCQkJYdq0aZw7d+6q5yQlJTFmzBjatm1L165dWblyJWazucgxmzdv5u6776ZNmzYMHjyYvXv3Ftm/du1aAgMDi/0jIiIi8meGCWbz5s3j66+/JioqildffZXjx48zadKkKx6fn5/PqFGjANi6dSvz5s3jzTff5KWXXrIds23bNlasWMG0adPYuXMn3bt3Z8KECRw7dsx2THx8PAMHDuTrr78u8o+IiIjInxkimKWkpLB9+3Zmz55N+/btCQ4OJjIykpiYGOLi4ko8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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_theme(style=\"darkgrid\")\n", "default_reg_scoring = config.settings.scoring\n", "ax = sns.scatterplot(data=study.trials_dataframe(), x=\"number\", y=\"value\")\n", "ax.set(xlabel=\"Trial number\", ylabel=f\"Ojbective value\\n({default_reg_scoring})\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Build the best PRF model:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "buildconfig = buildconfig_best(study)\n", "best_built = build_best(buildconfig, \"../target/best.pkl\")\n", "\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot predictions from the merged model for the (seen) train data for demonstration purposes" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#predict the input from the trained model (transductive evaluation of the model)\n", "example_smiles=config.data.get_sets()[0]\n", "expected = config.data.get_sets()[1]\n", "predicted = model.predict_from_smiles(example_smiles)\n", "\n", "# Plot expected vs predicted values for the best model.\n", "ax = plt.scatter(expected, predicted)\n", "lims = [expected.min(), expected.max()]\n", "plt.plot(lims, lims) # Diagonal line.\n", "plt.xlabel(f\"Expected {config.data.response_column} (PTR)\");\n", "plt.ylabel(f\"Predicted {config.data.response_column}\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interlude: Cautionary advice for PRF ∆y (response column) validity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "N.B It is not possible to train on response column values outside the likelihood for y-label memberships (ranging from 0-1), as expected for `∆y`. Doing so will result in the following error from QSARtuna:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:20:29,205] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:20:29,248] A new study created in memory with name: study_name_0\n", "[W 2024-10-02 17:20:29,249] Trial 0 failed with parameters: {} because of the following error: ValueError('PRFClassifier supplied but response column outside [0.0-1.0] acceptable range. Response max: 9.7, response min: 5.3 ').\n", "Traceback (most recent call last):\n", " File \"/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/optuna/study/_optimize.py\", line 196, in _run_trial\n", " value_or_values = func(trial)\n", " File \"/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/objective.py\", line 128, in __call__\n", " self._validate_algos()\n", " File \"/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/objective.py\", line 270, in _validate_algos\n", " raise ValueError(\n", "ValueError: PRFClassifier supplied but response column outside [0.0-1.0] acceptable range. Response max: 9.7, response min: 5.3 \n", "[W 2024-10-02 17:20:29,257] Trial 0 failed with value None.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "As expected, training the PRF on the raw pXC50 values resulted in the following error:\n", "\n", "\"PRFClassifier supplied but response column outside [0.0-1.0] acceptable range. Response max: 9.7, response min: 5.3 \n" ] } ], "source": [ "# Prepare problematic hyperparameter optimization configuration without PTR.\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Measurement\",\n", " training_dataset_file=\"../tests/data/pxc50/P24863.csv\"),\n", " descriptors=[\n", " ECFP.new(),\n", " ],\n", " algorithms=[\n", " PRFClassifier.new(n_estimators={\"low\": 5, \"high\": 10}), #n_estimators set low for the example to run fast\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=2,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "try:\n", " study = optimize(config, study_name=\"my_study\")\n", "except ValueError as e:\n", " print(f'As expected, training the PRF on the raw pXC50 values resulted in the following error:\\n\\n\"{e}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To summarise:\n", "1. PRF handles probability of `y` or `∆y` labels, which range between [`0-1`]\n", "2. PRF is evaluated in a probabilistic setting via conventional regression metrics (e.g. `RMSE`, `R2` etc.), despite the fact that PRF can be considered a modification to the classic Random Forest classifier\n", "3. Probabilistic output is the probability of activity at a relevant cutoff, similar to a classification algorithm\n", "4. Ouputs reflect liklihoods for a molecular property to be above a relevant threshold, given experimental uncertainty (and arguably a more useful component for within a REINVENT MPO score)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ChemProp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna has the functionaility to train `ChemProp` deep learning models. These are message passing neural networks (MPNNs) based on a graph representation of training molecules. They are considered by many to offer the state-of-the-art approach for property prediction.\n", "\n", "`ChemProp` was first described in the paper Analyzing Learned Molecular Representations for Property Prediction: https://pubs.acs.org/doi/full/10.1021/acs.jcim.9b00237\n", "\n", "More information is available in their slides: https://docs.google.com/presentation/d/14pbd9LTXzfPSJHyXYkfLxnK8Q80LhVnjImg8a3WqCRM/edit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `ChemProp` package expects SMILES as molecule inputs, since it calcaultes a molecule graph directly from these and so expects SMILES as descriptors. The `SmilesFromFile` and `SmilesAndSideInfoFromFile` descriptors (more about this later) are available for this purpose and are _only_ supported by the `ChemProp` algorithms:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Smiles based descriptors:\n", "(, )\n" ] } ], "source": [ "from optunaz.config.optconfig import ChemPropRegressor\n", "from optunaz.descriptors import SmilesBasedDescriptor, SmilesFromFile\n", "print(f\"Smiles based descriptors:\\n{SmilesBasedDescriptor.__args__}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simple ChemProp example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following is an example of the most basic ChemProp run, which will train the algorithm using the recommended (sensible) defaults for the MPNN architecture:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:20:29,311] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:20:29,313] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__668a7428ff5cdb271b01c0925e8fea45': 'ReLU', 'aggregation__668a7428ff5cdb271b01c0925e8fea45': 'mean', 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 100, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 50, 'depth__668a7428ff5cdb271b01c0925e8fea45': 3, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.0, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': 'none', 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -3, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45'}\n", "[I 2024-10-02 17:21:30,322] Trial 0 finished with value: -4821.6481382641 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45', 'activation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 100.0, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 50.0, 'depth__668a7428ff5cdb271b01c0925e8fea45': 3.0, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.0, 'ensemble_size__668a7428ff5cdb271b01c0925e8fea45': 1, 'epochs__668a7428ff5cdb271b01c0925e8fea45': 5, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': , 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2.0, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -3, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -4821.6481382641.\n", "[I 2024-10-02 17:22:35,146] Trial 1 finished with value: -6764.388663243151 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45', 'activation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 40.0, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 15.0, 'depth__668a7428ff5cdb271b01c0925e8fea45': 4.0, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.36, 'ensemble_size__668a7428ff5cdb271b01c0925e8fea45': 1, 'epochs__668a7428ff5cdb271b01c0925e8fea45': 5, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': , 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 1500.0, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2.0, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -1, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 1000.0, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -1, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -4821.6481382641.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " split_strategy=Stratified(fraction=0.50),\n", " deduplication_strategy=KeepMedian(),\n", " ),\n", " descriptors=[\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropRegressor.new(epochs=5), #epochs=5 to ensure run finishes quickly\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=2,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may safely ignore `ChemProp` warnings such as `Model 0 provided with no test set, no metric evaluation will be performed`, `\"rmse = nan\"` and `1-fold cross validation`, as they are information prompts printed from `ChemProp` due to some (deactivated) CV functionaility (ChemProp can perform it's own cross validation - details for this are still printed despite its deactivation within `QSARtuna`).\n", "\n", "NB: QSARtuna will first trial the sensible defaults for the MPNN architecture (where possible given the user config). This is communicated to the user, e.g. see the output which advises:\n", "\n", "`A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation': 'ReLU', 'aggregation': 'mean', 'aggregation_norm': 100, 'batch_size': 50, 'depth': 3, 'dropout': 0.0, 'features_generator': 'none', 'ffn_hidden_size': 300, 'ffn_num_layers': 3, 'final_lr_ratio_exp': -1, 'hidden_size': 300, 'init_lr_ratio_exp': -1, 'max_lr_exp': -3, 'warmup_epochs_ratio': 0.1, 'algorithm_name': 'ChemPropRegressor'}`.\n", "\n", "Enqueuing custom parameters ensures sampling from a sensible hyperparameter space to begin with, and to facilitate further optimisation from this point. Additional trials will not have any further preset enqueing and use Bayesian optimization for trial suggestion." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ChemProp optimization separate from shallow methods (default behavior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default, `QSARtuna` separates `ChemProp` from the other shallow methods using the `split_chemprop` flag. When this setting is set, the user must specify the number of `ChemProp` trials using the `n_chemprop_trials` flag if more than 1 (default) trial is desired:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "scrolled": true }, "outputs": [], "source": [ "from optunaz.config.optconfig import ChemPropClassifier, RandomForestClassifier\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " split_strategy=Stratified(fraction=0.75),\n", " deduplication_strategy=KeepMedian(),\n", " ),\n", " descriptors=[\n", " ECFP.new(),\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropClassifier.new(epochs=4),\n", " RandomForestClassifier.new(n_estimators={\"low\": 5, \"high\": 5}),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1, # run only one random forest classifier trial\n", " n_chemprop_trials=2, # run one enqueued chemprop trial and 1 undirected trial\n", " split_chemprop=True, # this is set to true by default (shown here for illustration)\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Turn on Hyperopt within trials (advanced functionaility & very large computational cost)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna optimises all aspects of the ChemProp architecture when using ChemPropRegressor or ChemPropClassifier, however, users can activate the [original hyperparameter-optimization implementation](https://github.com/chemprop/chemprop#hyperparameter-optimization) in the `ChemProp` package, which performs automated Bayesian hyperparameter optimization using the `Hyperopt` package within each trial, at large computational cost.\n", "\n", "NB: The principal way for users to expand and perform more advanced runs is to extend the available non-network hyperparameters, such as the `features_generator` option or e.g. to trial differnt side information weighting (if side information is available).\n", "\n", "NB: Please note that when `num_iters`=1 (default behavior), any optimisation of the MPNN architecture (done by Hyperopt) is deactivated - the sensible defaults as specified by the ChemProp authors are applied. i.e. optimisation of the MPNN is only possible when `num_iters`>=2, like so:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "from optunaz.config.optconfig import ChemPropHyperoptRegressor, ChemPropHyperoptClassifier\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " split_strategy=Stratified(fraction=0.5),\n", " deduplication_strategy=KeepMedian(),\n", " ),\n", " descriptors=[\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropHyperoptRegressor.new(epochs=5, num_iters=2), #num_iters>2: enable hyperopt within ChemProp trials\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1, #just optimise one ChemProp model for this example\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NB: Remember that parameter tuning of the MPNN network is performed _within_ each trial.\n", "\n", "#### A note on MPNN Hyperopt search space\n", "\n", "`ChemProp` models trained using Hyperopt use the [original implementation](https://chemprop.readthedocs.io/en/latest/hyperopt.html), but one key difference is the `search_parameter_level` setting created for `QSARtuna`; Instead of using pre-defined search spaces as in the original package, `QSARtuna` can (and will by the default since `search_parameter_level`=`auto` unless changed) alter the space depending on the characteristics of user input data. For example, no. training set compounds, hyperparameter trials (`num_iters`) & epochs (`epochs`) are used by the `auto` setting to ensure search spaces are not too large for limited data/epochs, and _vice-versa_, an extensive search space is trailed when applicable.\n", "\n", "N.B: Users can also manually define `Hyperopt` search spaces by altering `search_parameter_level` from `auto` to a different level between `[0-8]`, representing the increasing search space size (see the [QSARtuna documentation](https://molecularai.github.io/QSARtuna/optunaz.config.html#optunaz.config.optconfig.ChemPropSearch_Parameter_Level) for details)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Side information and multi-task learning (MTL) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_“Even if you are only optimizing one loss as is the typical case, chances are there is an auxiliary task that will help you improve upon your main task”_ [Caruana, 1998]\n", "\n", "`QSARtuna` typically optimizes for one particular metric for a given molecule property. While we can generally achieve acceptable performance this way, these single task (ST) models ignore information that may improve the prediction of main task of intent. See option `a.` in the figure below.\n", "\n", "Signals from relevant related tasks (aka \"auxiliary tasks\" or \"side information\") could come from the training signals of other molecular properties and by sharing representations between related tasks, we can enable a neural network to generalize better on our original task of intent. This approach is called Multi-Task Learning (MTL) See option `b.` in the figure below.\n", "\n", "\"Difference\n", "\n", "_(above) Differences between optimizing one vs. more than one loss function. a.) Single-task (ST): one model trained to predict one task one model optimised until performance no longer increases b.) Multi-task (MT/MTL): training one model to predict multiple tasks one model optimising more than one loss function at once enables representations to be shared between trained tasks training signals of related tasks shared between all tasks._\n", "\n", "\n", "`ChemProp` performs MTL by using the knowledge learnt during training one task to reduce the loss of other tasks included in training. In order to use this function in `QSARtuna`, a user should provide side information in a separate file, and it should have the same ordering and length as the input/response columns (i.e. length of y should = length of side information for y).\n", "\n", "E.g: consider the DRD2 example input from earlier:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "canonical,activity,molwt,molwt_gt_330\r\n", "Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1,0,387.233,True\r\n", "O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1,0,387.4360000000001,True\r\n", "COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1ccccc1,0,380.36000000000007,True\r\n", "CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N,0,312.39400000000006,False\r\n", "CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12,0,349.4340000000001,True\r\n", "Brc1ccccc1OCCCOc1cccc2cccnc12,0,358.235,True\r\n", "CCCCn1c(COc2cccc(OC)c2)nc2ccccc21,0,310.39700000000005,False\r\n", "CCOc1cccc(NC(=O)c2sc3nc(-c4ccc(F)cc4)ccc3c2N)c1,0,407.4700000000001,True\r\n", "COc1ccc(S(=O)(=O)N(CC(=O)Nc2ccc(C)cc2)c2ccc(C)cc2)cc1OC,0,454.54800000000023,True\r\n" ] } ], "source": [ "!head ../tests/data/DRD2/subset-50/train.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is an accompying example of side information/auxiliary data inputs (calculated PhysChem properties ) as provided in `train_side_info.csv` within the tests data folder:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "canonical,cLogP,cLogS,H-Acceptors,H-Donors,Total Surface Area,Relative PSA,H-Acceptors-gt-string\r\n", "Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1,4.04,-5.293,5,1,265.09,0.22475,Many\r\n", "O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1,4.8088,-5.883,4,2,271.39,0.32297,Few\r\n", "COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1ccccc1,1.6237,-3.835,9,1,287.39,0.33334,Many\r\n", "CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N,3.2804,-4.314,4,0,249.51,0.26075,Few\r\n", "CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12,3.2533,-4.498,5,1,278.05,0.18917,Many\r\n", "Brc1ccccc1OCCCOc1cccc2cccnc12,4.5102,-4.694,3,0,246.29,0.12575,Few\r\n", "CCCCn1c(COc2cccc(OC)c2)nc2ccccc21,3.7244,-2.678,4,0,255.14,0.14831,Few\r\n", "CCOc1cccc(NC(=O)c2sc3nc(-c4ccc(F)cc4)ccc3c2N)c1,4.4338,-6.895,5,2,302.18,0.26838,Many\r\n", "COc1ccc(S(=O)(=O)N(CC(=O)Nc2ccc(C)cc2)c2ccc(C)cc2)cc1OC,3.2041,-5.057,7,1,343.67,0.22298,Many\r\n" ] } ], "source": [ "!head ../tests/data/DRD2/subset-50/train_side_info.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I.e. the first column (Smiles) should match between the two files, and any columns after the SMILES within the `train_side_info.csv` side information file will be used as y-label side information in the training of the network.\n", "\n", "N.B: that calculated PhysChem properties are only one example of side information, and that side information may come from any related property that improves the main task of intent.\n", "\n", "A classification example can also be found here:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "canonical,cLogP_Gt2.5,cLogS_Gt-3.5,H-Acceptors_Gt5,H-Donors_Gt0,Total Surface Area_Gt250,Relative PSA_Lt0.25,H-Acceptors-gt-string\r\n", "!Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1,1,0,0,1,1,1,Many\r\n", "O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1,1,0,0,1,1,0,Few\r\n", "COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1ccccc1,0,0,1,1,1,0,Few\r\n", "CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N,1,0,0,0,0,0,Few\r\n", "CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12,1,0,0,1,1,1,Many\r\n", "Brc1ccccc1OCCCOc1cccc2cccnc12,1,0,0,0,0,1,Many\r\n", "CCCCn1c(COc2cccc(OC)c2)nc2ccccc21,1,1,0,0,1,1,Many\r\n", "CCOc1cccc(NC(=O)c2sc3nc(-c4ccc(F)cc4)ccc3c2N)c1,1,0,0,1,1,0,Few\r\n", "COc1ccc(S(=O)(=O)N(CC(=O)Nc2ccc(C)cc2)c2ccc(C)cc2)cc1OC,1,0,1,1,1,1,Many\r\n" ] } ], "source": [ "!head ../tests/data/DRD2/subset-50/train_side_info_cls.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The contribution or _weight_ of all side information tasks in their contribution to the loss function during training a network is a parameter that can be optimised within QSARtuna, e.g:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:37,977] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:22:37,986] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 17:22:42,900] Trial 0 finished with value: -5492.460529549569 and parameters: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 50}. Best is trial 0 with value: -5492.460529549569.\n", "[I 2024-10-02 17:22:42,953] Trial 1 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 50}, return [-5492.460529549569]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:45,348] Trial 2 finished with value: -5488.71615646329 and parameters: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 80}. Best is trial 2 with value: -5488.71615646329.\n", "[I 2024-10-02 17:22:47,076] Trial 3 finished with value: -5488.166537608711 and parameters: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 100}. Best is trial 3 with value: -5488.166537608711.\n", "[I 2024-10-02 17:22:47,103] Trial 4 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 100}, return [-5488.166537608711]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:48,746] Trial 5 finished with value: -5590.6396754537145 and parameters: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 0}. Best is trial 3 with value: -5488.166537608711.\n", "[I 2024-10-02 17:22:48,772] Trial 6 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 100}, return [-5488.166537608711]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:52,105] Trial 7 finished with value: -5527.605545861933 and parameters: {'algorithm_name': 'ChemPropHyperoptRegressor', 'ChemPropHyperoptRegressor_algorithm_hash': 'db9e60f9b8f0a43eff4b41917b6293d9', 'ensemble_size__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'epochs__db9e60f9b8f0a43eff4b41917b6293d9': 4, 'features_generator__db9e60f9b8f0a43eff4b41917b6293d9': , 'num_iters__db9e60f9b8f0a43eff4b41917b6293d9': 1, 'search_parameter_level__db9e60f9b8f0a43eff4b41917b6293d9': , 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 100, \"q\": 10}}}', 'aux_weight_pc__db9e60f9b8f0a43eff4b41917b6293d9': 10}. Best is trial 3 with value: -5488.166537608711.\n" ] } ], "source": [ "from optunaz.descriptors import SmilesAndSideInfoFromFile\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " test_dataset_file=\"../tests/data/DRD2/subset-50/test.csv\"), # Hidden during optimization.\n", " descriptors=[\n", " SmilesAndSideInfoFromFile.new(file='../tests/data/DRD2/subset-50/train_side_info.csv',\\\n", " input_column='canonical',\n", " aux_weight_pc={\"low\": 0, \"high\": 100, \"q\": 10}) #try different aux weights\n", " ],\n", " algorithms=[\n", " ChemPropHyperoptRegressor.new(epochs=4), #epochs=4 to ensure run finishes quickly\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=1,\n", " n_trials=8,\n", " n_startup_trials=0,\n", " random_seed=42,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the toy example above, the `ChemPropRegressor` has been trialed with a variety of auxiliary weights ranging from 0-100%, using the SmilesAndSideInfoFromFile setting `aux_weight_pc={\"low\": 0, \"high\": 100}`.\n", "\n", "The inlfuence of the weighting of side information on model performance next hence be explored via a scatterplot of the auxiliary weight percent as a product of the objective value:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmIAAAG1CAYAAABahZjsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXbUlEQVR4nO3de1yP9/8/8Me7eqeS8tYqh+RQKoeig2hshNGQ0fbdZ6MQw+QYU5jzCOU0GW0zTDltGEOzzRzah0o1G1aKnAoVKUUn9b5+f/Tz/uy9wvudel8dHvfbzW11va7rdb2u57Iee13X+3VJBEEQQEREREQapyX2AIiIiIgaKgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQiYRAjIiIiEgmDGBEREZFIGMSIiIiIRMIgRkRERCQSHbEHQC8mCALk8pp5+YGWlqTG+qb/YZ01g3XWHNZaM1hnzaiJOmtpSSCRSFTal0GslpPLBTx8+KTa+9XR0YJM1hh5eQUoLZVXe/9UjnXWDNZZc1hrzWCdNaOm6tysWWNoa6sWxHhrkoiIiEgkDGJEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQi4SuOiIiIqMERJBLkFZUh69ZD6DfSgZ6OFiSC5t/tySBGREREDUqZRILNBy7iQsp9xTZHW1P4eTlAW8NhjLcmiYiIapFnMzXJtx4iv7gMgkS1l0eTaoRKQhgAXEi+j80HL2q83pwRIyIiqiVq00xNfVX4tKxCCHvmQvJ9FD4tg4GO5uapOCNGRERUC9S2mZr6qqCo9JXaqxuDGBERUS2gykwNvToDvRffDHxZe3VjECMiIqoFattMTX2lL9WGo61ppW2OtqbQl2prdDwMYkRERLVAbZupqa8kggA/L4cKYezZs3iaXsKC/1aJiIhqgWczNReSK96eVMzU8IH9aqEtCJjq5YDCp3IUlZRCT1cH+lJx1hHjjBgREVEtUNtmauo7iSDASE8btm2awUhPW7T6ckaMiIiolqhNMzWkGZwRIyIiqkVqy0wNaQaDGBEREZFIGMSIiIiIRMIgRkSkYYJEgoJSOR48LkFBqZwrphM1YHxYn4hIg/guQSL6J86IERFpCN8lSET/xiBGRKQhfJcgEf0bgxgRkYbwXYJE9G8MYkREGsJ3CRLRvzGIERFpyLN3CVZG8S5BImpQGMSIiDSE7xIkon/jPDgRkQb9712CZSgoKoWBng70pXyNDVFDxSBGRKRhEkGAgY4WDAx1yzcwhBE1WLw1SURERCQSBjEiIiIikTCIEREREYmEQYyIiIhIJAxiRERERCJhECMiIiISCYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKRMIgRERERiYRBjIiIiEgkDGJEREREImEQIyIiIhJJgwliCQkJsLW1rfAnNjZWsY+vr2+Fdh8fH0V7cXExli5dCjc3Nzg6OmL27Nl4+PCh0nmio6Ph5eWFrl27wsPDA8eOHdPYNRIREVHdoiP2ADQlOTkZlpaW2L17t9J2Y2NjpX2WLFmCAQMGKLZJpVLF10uWLEF8fDxCQ0Ohq6uLxYsXY/r06YiIiAAApKamYtKkSfD19UVISAhOnz6NgIAANGvWDG5ubjV8hURERFTXNJgglpKSAmtra5iamlbanp2djezsbHTt2rXSfTIzM3Ho0CGEhYXBxcUFALBu3Tp4eHjgwoULcHR0xLfffgtbW1v4+/sDAKysrJCYmIitW7cyiBEREVEFDebWZHJyMqysrF7YLpFI0K5du0rbExISAAA9e/ZUbGvXrh3Mzc0RFxcHAIiPj68QuHr27ImEhAQIgvCql0BERET1TIOZEbt69SpkMhm8vLyQmZkJGxsb+Pv7w8HBAUD5jFmTJk2wbNkynD17FgYGBvDw8ICfnx90dXWRmZkJmUyGRo0aKfVrZmaGjIwMAEBGRgaaN29eob2wsBA5OTlo1qxZlcauo1P9eVlbW0vpn1QzWGfNYJ01h7XWDNZZM2pDnetFEEtPT0f//v2f23769Gnk5+ejoKAACxYsgLa2NiIiIuDt7Y2DBw/C2toaKSkpKC4uhoODA3x9fZGUlITg4GDcvXsXwcHBKCwshK6uboW+GzVqhOLiYgBAUVFRhX2efV9SUlKla9PSkkAma1ylY1VhZKRfY33T/7DOmsE6aw5rrRmss2aIWed6EcTMzc0RGRn53HYzMzPExcVBX19f8fC9vb09EhMTER4ejqVLl2LZsmUIDAxUPLxvY2MDqVQKf39/BAQEQE9Pr9IwVVxcDH398n+BjRo1qrDPs++f7aMuuVxAXl5BlY59EW1tLRgZ6SMvrxBlZfJq75/Ksc6awTprDmutGayzZtRUnY2M9FWeZasXQUwqlb7w+S8AMDIyUvpeS0sLVlZWyMzMBADo6OgofYISADp06ADgf7ccc3NzUVJSojTrlZWVBXNzcwBAixYtkJWVpdRHVlYWDAwM0KRJk6pdHIDS0pr7S1hWJq/R/qkc66wZrLPmsNaawTprhph1bhA3n6OiouDo6Ii0tDTFttLSUly5cgXW1tYAAB8fH8ybN0/puEuXLkEqlaJt27ZwdnaGXC5XPLQPADdu3EBmZia6d+8OAHBxccH58+eV+oiJiYGTkxO0tBpEqYmIiEgNDSIdODk5QSaTITAwEJcvX0ZycjICAwORm5uLsWPHAgAGDRqEw4cPY8+ePUhLS0NkZCSCg4Mxfvx4GBoawtzcHEOGDMGCBQsQGxuLixcvYtasWXB1dUW3bt0AlIe5ixcvYs2aNUhNTcW2bdtw/PhxfPTRR+JdPBEREdVaEqGBrKtw+/ZtrFmzBrGxsSguLoazszMCAwNhY2Oj2GfXrl3YtWsX0tLSYGpqivfffx8TJ05UzGYVFBQgKCgIP//8MwDgzTffxIIFCyCTyRR9REVFISQkBDdv3oSFhQWmTZuGwYMHV3ncZWVyPHz4pMrHP4+OjhZkssbIyXnCae8axDprBuusOay1ZrDOmlFTdW7WrLHKz4g1mCBWVzGI1W2ss2awzprDWmsG66wZtSGINYhbk0RERES1EYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKRMIgRERERiYRBjIiIiEgkDGJEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQiYRAjIiIiEgmDGBEREZFIGMSIiIiIRMIgRkRERCQSBjEiIiIikTCIEREREYmEQYyIiIhIJDpiDwAArl+/jvT0dDx+/BgymQwtW7ZEmzZtxB4WERERUY0SLYg9ePAA27dvx9GjR5GVlQVBEBRtEokEFhYWePvttzF69Gi89tprYg2TiIiIqMZoPIiVlZXhiy++wNatW9GyZUuMGDEC9vb2aNWqFQwMDPDo0SNkZmYiISEBJ0+exM6dOzFmzBhMnToVUqlU08MlIiIiqjES4Z9TURowfPhwWFhY4OOPP0aXLl1eun98fDy2bt2KjIwMHDp0qOYHWMuUlcnx8OGTau9XR0cLMllj5OQ8QWmpvNr7p3Kss2awzprDWmsG66wZNVXnZs0aQ1tbtcfwNT4jNnfuXPTs2VPl/V1cXODi4oLo6OgaHBURERGR5mn8U5P/DGGbN29GamqqSse5ubnV1JCIiIiIRCHq8hVffvkl0tPTxRwCERERkWhEDWLW1ta4ceOGmEMgIiIiEo2o64i5u7tj3bp1+P3332FrawsDAwOldolEgilTpog0OiIiIqKaJWoQ27RpEwDg7NmzOHv2bIV2BjEiIiKqz0QNYleuXBHz9ERERESiqhWvOAKA1NRU5Ofno1mzZrC0tBR7OEREREQ1TvQgdvToUaxevRoPHjxQbHvttdcwe/ZsDB8+XLyBEREREdUwUYPYyZMnMWfOHPTs2ROzZs3Ca6+9hqysLPz444+YN28emjZtir59+4o5RCIiIqIaI2oQ27JlCzw8PLB+/Xql7e+++y78/f3x5ZdfMogRERFRvSXqOmIpKSkYMWJEpW0jRozgw/xERERUr4kaxGQyGR49elRpW25uLnR1dTU8IiIiIiLNETWIubm5YdOmTcjIyFDafu/ePXzxxRfo1auXSCMjIiIiqnmiPiM2a9YsvPvuuxg4cCAcHR3x2muv4cGDB7hw4QKMjY0xe/ZsMYdHREREVKNEnREzNTXFDz/8AB8fHxQWFuLy5csoLCyEj48PfvjhB7Rq1UrM4RERERHVKFFnxBYuXIj33nsPc+bMEXMYRERERKIQdUbsxx9/xJMnT8QcAhEREZFoRA1ijo6OiI2NFXMIRERERKIR9dakra0tvvnmGxw/fhx2dnYwMDBQapdIJAgKChJpdEREREQ1S9Qg9uuvv8LMzAxPnz7FpUuXKrRLJBIRRkVERESkGaIGsUOHDsHIyEjMIRARERGJRtRnxIYMGYLIyEgxh0BEREQkGlGDWElJCWQymZhDICIiIhKNqLcmR48ejQ0bNkBPTw92dnbQ19cXczhEREREGiVqEDt8+DDu3r2LkSNHVtoukUiQmJio4VERERERaYaoQWzYsGFinp6IiIhIVKIGsalTp2rsXAkJCZXOvO3cuRM9evQAAPj6+uLcuXNK7a6urggPDwcA3Lt3DyEhIYiNjUVJSQkcHBwwd+5cdOjQQbH/Tz/9hNDQUKSnp6N9+/YIDAyEm5tbDV4ZERER1VWiBrFnzpw5g3PnzuH+/fvw9/dHUlISOnfuXK0v/U5OToalpSV2796ttN3Y2FhpnyVLlmDAgAGKbVKpFED5BwsmTpyIpk2bIiwsDHp6eggNDcWYMWNw9OhRNGvWDDExMZgzZw4CAgLQq1cv7N+/HxMnTsShQ4dgZWVVbddCRERE9YOoQaywsBBTpkzBuXPnYGhoiCdPnmD8+PHYs2cPEhMTERERoTTb9CpSUlJgbW0NU1PTStuzs7ORnZ2Nrl27VrpPfHw8UlJSEBUVBXNzcwBASEgIevTogZMnT+K9997D119/jQEDBmD06NEAgMDAQFy4cAHffvstli1bVi3XQURERPWHqMtXrFu3Dn///Td27NiBmJgYCIIAAFi9ejXMzc3x+eefV9u5kpOTXzgrlZycDIlEgnbt2lXa3qFDB3z11VeKEAYAWlrl5cvLy4NcLscff/xR4TZkjx49EBcXVw1XQERERPWNqDNiP/30E2bNmoWePXuirKxMsd3MzAyTJ0+u1lmkq1evQiaTwcvLC5mZmbCxsYG/vz8cHBwAlM+YNWnSBMuWLcPZs2dhYGAADw8P+Pn5QVdXF6ampujTp49Sn+Hh4SgqKkKvXr2Ql5eHgoICNG/eXGkfMzMzZGRkvNLYdXSqPy9ra2sp/ZNqBuusGayz5rDWmsE6a0ZtqLOoQSwvL++5z4EZGxujoKBApX7S09PRv3//57afPn0a+fn5KCgowIIFC6CtrY2IiAh4e3vj4MGDsLa2RkpKCoqLi+Hg4ABfX18kJSUhODgYd+/eRXBwcIU+f/31V6xduxZjx46Fra2tImzp6uoq7deoUSMUFxerdB2V0dKSQCZrXOXjX8bIiGu3aQLrrBmss+aw1prBOmuGmHUWNYh16NABR44cQe/evSu0nTx5UuXnw8zNzV/4qiQzMzPExcVBX19f8fC9vb09EhMTER4ejqVLl2LZsmUIDAxUPLxvY2MDqVQKf39/BAQE4LXXXlP0t2fPHnz22WcYNmwYAgICAJQHLqD8of5/Ki4ufqWFauVyAXl5qgVSdWhra8HISB95eYUoK5NXe/9UjnXWDNZZc1hrzWCdNaOm6mxkpK/yLJuoQWzy5MmYOnUqcnNz4e7uDolEgri4OBw8eBB79+7F2rVrVepHKpW+9FOJ/365uJaWFqysrJCZmQkA0NHRUfoEJQBFEMzIyFAEsZCQEGzduhW+vr4IDAyERCIBADRt2hQGBgbIyspS6iMrK0vpubKqKC2tub+EZWXyGu2fyrHOmsE6aw5rrRmss2aIWWdRbz4PGDAAISEhimUjBEHAqlWrcPz4cSxZsgQeHh7Vcp6oqCg4OjoiLS1Nsa20tBRXrlyBtbU1AMDHxwfz5s1TOu7SpUuQSqVo27YtgP+FsMDAQMydO1cRwoDytwA4OTnh/PnzSn3ExsbCxcWlWq6DiIiI6hfR1xHz9PSEp6cnrl+/jtzcXBgZGaF9+/aKTyQ+ExcXh86dO8PAwEDtczg5OUEmkyEwMBDz58+HVCrFV199hdzcXIwdOxYAMGjQIAQFBcHBwQG9e/fGpUuXEBwcjPHjx8PQ0BCxsbHYunUrfHx84Onpifv37yv6NzAwQOPGjeHr64uJEyeiU6dOePPNN3HgwAEkJSVhxYoVr1QjIiIiqp8kwrM1I2qxsrIydOnSBfv370fnzp2r1Mft27exZs0axMbGori4GM7OzggMDISNjY1in127dmHXrl1IS0uDqakp3n//fUycOBFaWlpYuHAhvvvuu0r7njp1KqZNmwYAOHToEDZv3oyMjAxYW1tjzpw5r7SyflmZHA8fPqny8c+jo6MFmawxcnKecNq7BrHOmsE6aw5rrRmss2bUVJ2bNWus8jNidSaIde7cGQcOHKhyEKurGMTqNtZZM1hnzWGtNYN11ozaEMS4QAkRERGRSF45iBUXF6MOTKoRERER1TpVelj/+vXr2LhxI86dO4fHjx/j+++/x/79+9G+fXv4+PhU9xiJiIiI6iW1Z8SSkpLw3nvv4e+//4anp6diNkxbWxtBQUH44Ycfqn2QRERERPWR2jNiq1evRpcuXbBt2zYA5Z80BIAFCxaguLgYO3fuxIgRI6p3lERERET1kNozYn/++SfGjh0LHR0dpQVNAWDw4MG4efNmdY2NiIiIqF5TO4g1atQIRUVFlbbl5uZWeOk1EREREVVO7SDWq1cvbNy4ERkZGYptEokET548wbZt2/D6669X6wCB8ufPVq5cCQsLi2rvm4iIiEgsaj8jNmfOHPznP/+Bh4cH7OzsIJFIsGrVKty4cQOCIGDdunUvPP7f73N8mZUrVwIAnzsjIiKiekftINaiRQscPnwYO3bsQExMDCwtLVFQUIChQ4fC19cXZmZmLzw+NjZW6fusrCyUlpaiZcuWMDU1RW5uLtLS0qCrqws7Ozt1h0dERERUZ1RpHTGZTAZ/f/8qnfDkyZOKr48cOYI1a9YgNDQUDg4Oiu3Xrl2Dn58f3n777Sqdg4iIiKguUDuIxcXFvXSf7t27q9TX+vXrMWvWLKUQBgDW1taYOXMmVq5ciTFjxqg7RCIiIqI6Qe0g5uPjA4lEovRao38vY5GUlKRSXzk5OTAyMqp8YDo6KCgoUHd4RERERHWG2kFs586dFbYVFBQgPj4ehw8fRmhoqMp9devWDVu2bIGTkxOMjY0V27OyshAaGooePXqoOzwiIiKiOkPtIObq6lrp9r59+8LAwABbtmzBl19+qVJfgYGB8PHxgbu7OxwdHdG0aVNkZ2fjwoULMDY2xpYtW9QdHtVTgkSCwqdlKCgqhYGeDvSl2pDwZfNERFTHVelh/edxcXHB119/rfL+dnZ2OHr0KHbs2IE//vgD6enpkMlkGDduHMaMGYOmTZtW5/CojiqTSLD5wEVcSLmv2OZoawo/LwdoM4wREVEdVq1B7OTJk2jcuLFax5ibmyMwMLA6h0H1iFBJCAOAC8n3sfngRUz1cuDMGBER1VlqB7HRo0dX2CaXy5GRkYE7d+5gwoQJavVXUlKC/fv349y5c7h//z6CgoJw/vx5dO7cucKnKanhKXxaViGEPXMh+T4Kn5bBQEftF0QQERHVCmoHMaGS2QctLS3Y2Nhg0qRJePfdd1Xu6+HDhxgzZgyuX7+O9u3b49q1aygqKsLp06exatUq7NixA46OjuoOkeqRgqLSl7YbGPL9pkREVDepHcTCw8Or7eTBwcF48uQJIiMj0apVK3Tp0gUAsHHjRowfPx4bN27E9u3bq+18VPcY6L34R/Rl7URERLWZSr/F7t69q1anLVu2VGm/U6dOYf78+WjTpg3KysoU2xs1aoRx48Zh7ty5ap2X6h99qTYcbU1xIbni7UlHW1PoS7UBPiNGRER1lEpBrF+/fhUWbX0RVRd0LS4ufu4nI7W1tfH06VOVz0n1k0QQ4OflgM0HLyqFsWefmuSD+kREVJepFMSCgoLUCmKqsre3x+7du9GnT58KbUeOHFHcqqSGTVsQMNXLgeuIERFRvaNSEPPy8qqRk8+YMQNjx47FO++8gz59+kAikeDo0aMIDQ3Ff//7X2zdurVGzkt1j0QQYKCj9b8H8xnCiIioHqjSk84XL15EbGwsSkpKFJ+iFAQBBQUFSEhIwHfffadSPy4uLti+fTvWrl2LrVu3QhAE7NixA506dcKXX36Jnj17VmV4RERERHWC2kFs165dWL58+XOXsejdu7fKfUVHR8PR0RF79+5FUVERHj16BENDQ7UXhSUiIiKqi9ReCTMiIgJvvvkmYmNjMW7cOLz//vv4888/8fnnn6NRo0YYNmyYyn1NmzYNv/zyCwBAT08P5ubmDGFERETUYKgdxNLT0zFy5EgYGxujS5cuSEhIgJ6eHgYNGoSJEydi586dKvdlZGQEPT09dYdAREREVC+ofWtSKpUqwlObNm1w69YtPH36FFKpFM7OzmotwDpp0iQsX74cN27cgJ2dHQwMDCrs0717d3WHSERERFQnqB3EOnbsiFOnTqFHjx5o164d5HI5/vrrL7i4uCAjI0OtvhYvXgwAWL9+PQAoLZEhCAIkEonKa5IRERER1TVqBzFfX19MnToVeXl5CAoKQv/+/REQEICBAwfiyJEjcHZ2VrkvdW5jEhEREdU3agexAQMGICwsDKmpqQCAZcuWYfbs2di7dy/s7e2xaNEilftydXVV9/RERERE9YbaQaysrAx9+/ZF3759AQAymQzbtm2r8gCqa00yIiIiorpG7SDWu3dvDBkyBO+88w7s7e1f6eTVuSYZERERUV2j9vIVQ4cOxc8//4z3338fHh4eCAsLw507d6p08upck4yIiIiorlE7iH366aeIiorCtm3bFK8oeuutt+Dt7Y3vv/8e+fn5KvdVnWuSEREREdU1agcxoHyZCTc3Nyxfvhz//e9/sXnzZrRo0QJLly7FG2+8oXI/z1uTDACcnZ1x8+bNqgyPiIiIqE6oUhB7prS0FP/9738RGRmJqKgoAICbm5vKxz9bkwyA0ppkANRek4yIiIiorlH7YX1BEBATE4Njx47h119/xaNHj+Dg4IDp06dj8ODBkMlkKvdVnWuSEREREdU1agexN954A9nZ2WjZsiVGjhyJd955B23btq3SyatzTTIiIiKiukbtINavXz8MGzYMLi4u1TKA6lyTjIiIiKguUTuILVu2rNpOfvfu3Zfu07Jly2o7HxEREVFtonYQq079+vVTetF3ZfjSbyIiIqqvRA1iQUFBFYJYQUEB4uPjERsbi6CgIJFGRkRERFTzRA1iXl5elW4fNWoUVq5ciSNHjiieHyMiIiKqb15pHbGa1K9fP5w+fVrsYRARERHVmCrPiJ05cwbnzp1DVlYWZs2ahaSkJHTu3BmtWrWqloH99ddf0NERdcKOiIiIqEapnXQKCwsxZcoUnDt3DoaGhnjy5Ak++ugj7NmzB4mJiYiIiECHDh1U6mvevHkVtsnlcmRkZCAuLg7vvfeeusMjIiIiqjPUDmLr1q3D33//jR07dsDFxQVdunQBAKxevRofffQRPv/8c2zatEmlvmJjYytsk0gkMDQ0xIQJE/Dxxx+rOzwiIiKiOkPtIPbTTz9h1qxZ6NmzJ8rKyhTbzczMMHnyZLXWGTt58qS6pyciIiKqN9R+WD8vL++5z4EZGxujoKDglQdFRERE1BCoPSPWoUMHHDlyBL17967QdvLkSZWfDwNUW9D1GYlEghMnTqjcNxEREVFtp3YQmzx5MqZOnYrc3Fy4u7tDIpEgLi4OBw8exN69e7F27VqV+xoxYgQiIiIAlIcyc3Nz5Obm4vfff8fdu3fh4eEBPT09dYdIREREVCeoHcQGDBiAkJAQrF27FmfOnAEArFq1CiYmJliyZAk8PDxU7uvx48do164dvvnmGzRu3FixvbS0FH5+fmjSpEm1vdsyISEBI0eOrLB9586d6NGjBwDA19cX586dU2p3dXVFeHh4hePi4+Ph4+ODHTt2KI4HgOjoaISEhCA1NRUtWrTAtGnTMGTIkGq5BiIiIqpfqrRQl6enJzw9PXH9+nXk5ubCyMgI7du3h5aWeo+cHTp0CCtXrlQKYQCgo6MDb29v+Pv7V1sQS05OhqWlJXbv3q203djYWGmfJUuWYMCAAYptUqm0Ql/5+fkICAiAXC5X2p6amopJkybB19cXISEhOH36NAICAtCsWTO4ublVy3UQERFR/aF2EJsyZQqGDx+Ovn37on379q88gNzc3Eq3p6eno1GjRq/c/zMpKSmwtraGqalppe3Z2dnIzs5G165dn7vPM0uWLEHr1q1x584dpe3ffvstbG1t4e/vDwCwsrJCYmIitm7dyiBGREREFaj9qcn09HRMmzYNvXv3xuLFi/HHH39U+eR9+/bF2rVrERUVpdgmCAJ+/fVXfP755/D09Kxy3/+WnJwMKyurF7ZLJBK0a9fuhf0cPnwYFy5cwPz58yu0xcfHVwhcPXv2REJCAgRBqNrAiYiIqN5Se0bs8OHDSE1NxdGjRxEZGYl9+/bBwsICw4YNwzvvvIM2bdqo3Nf8+fMxfvx4TJw4EVKpFE2bNkVOTg7Kysrw5ptvYvbs2eoO77muXr0KmUwGLy8vZGZmwsbGBv7+/nBwcABQPmP27Jm0s2fPwsDAAB4eHvDz84Ouri6A8hC6YsUKbN68ucLtVADIyMhA8+bNlbaZmZmhsLAQOTk5aNasWZXGrqNT/a8E1dbWUvon1QzWWTNYZ81hrTWDddaM2lDnKj0jZmVlhRkzZmDGjBm4dOkSIiMjcejQIWzZsgUODg7Yt2+fSv0YGxvj+++/x+nTp5GQkIBHjx5BJpPBzc1NrVt56enp6N+//3PbT58+jfz8fBQUFGDBggXQ1tZGREQEvL29cfDgQVhbWyMlJQXFxcVwcHCAr68vkpKSEBwcjLt37yI4OBhlZWWYM2cO/vOf/8DFxQXp6ekVzlNUVKQIbc88+76kpETl6/knLS0JZLKKoa+6GBnp11jf9D+ss2awzprDWmsG66wZYtb5ld+qbWlpCSsrK9ja2iIzMxO3b99W63iJRAJ3d3e4u7sDKP/E5OPHj9Xqw9zcHJGRkc9tNzMzQ1xcHPT19RUP39vb2yMxMRHh4eFYunQpli1bhsDAQMXD+zY2NpBKpfD390dAQAD27duHwsJCTJs27bnnadSoUYXA9ex7ff2q/UuWywXk5VX/Irna2lowMtJHXl4hysrkLz+AqoR11gzWWXNYa81gnTWjpupsZKSv8ixblYJYQUEBTpw4gcjISJw9exZaWlro06cPNm7ciD59+qjcT2lpKcLCwtCmTRt4enoiNjYW06dPR15eHlxdXbFx40alTzU+j1QqfeHzXwBgZGSk9L2WlhasrKyQmZkJoPyTmv8+17PFaTMyMnDgwAFkZWUplqp49szXhAkTMHz4cCxbtgwtWrRAVlaWUh9ZWVkwMDBAkyZNXnodz1NaWnN/CcvK5DXaP5VjnTWDddYc1lozWGfNELPOagexGTNmICoqCkVFRXBycsLChQvx9ttvVylobNy4Ed98843iwffly5ejadOmmDJlCrZv3461a9dWy/IVUVFRmDFjBn788Ue0bt0aQHkIvHLlCgYOHAgA8PHxgYWFBVauXKk47tKlS5BKpWjbti3Cw8NRWlqqaMvMzISPjw+WL1+OXr16AQBcXFxw/vx5pXPHxMTAyclJ7aU9iIiIqP5TO4glJydjwoQJGDZsGCwsLF7p5MeOHcOsWbMwatQopKam4urVq1i1ahWGDx+Opk2bIjg4uFqCmJOTE2QyGQIDAzF//nxIpVJ89dVXyM3NxdixYwEAgwYNQlBQEBwcHNC7d29cunQJwcHBGD9+PAwNDWFoaKjUp7a2NoDy26ImJiYAysPciBEjsGbNGowYMQJnzpzB8ePHsXXr1le+BiIiIqp/1A5ix48fr7aTZ2VloWvXrgDKH6jX0tLCm2++CQBo3rw58vPzq+U8hoaG2LFjB9asWYPx48ejuLgYzs7OiIiIwGuvvQYA8Pb2hkQiQXh4OIKCgmBqaoqxY8di4sSJKp+nQ4cO2Lx5M0JCQvDtt9/CwsICISEhXEOMiIiIKqVSEJs3bx78/PzQunVrzJs374X7SiQSBAUFqXRyMzMzpKenw8XFBSdPnkTHjh0VSzxcuHChwlIQr8LS0hIbN2584T6jRo3CqFGjVOrPwsICycnJFba/+eabijBJRERE9CIqBbHY2FiMGTNG8XV1GTp0KFauXIkjR44gISEBixYtAgCsWLECe/bswccff1xt5yIiIiKqbVQKYidPnqz061c1c+ZMGBgYIC4uDrNnz1a8lPvSpUsYN24c/Pz8qu1cRERERLWN2h/lmzdvHtLS0iptu379ulqzWBKJBJMmTcLWrVsxYcIExfa9e/di1qxZik8aCoKAefPm4e7du+oOl4iIiKjWUmlG7J8B6IcffsCAAQMUnxr8p6ioKJw7d676Rvf/yeVyHDp0CN7e3mjZsmW1909EREQkBpWC2NKlSxUv5pZIJJg6dWql+wmCoFhTq7rxpdlERERU36gUxJYtW4Zz585BEATMnz8fkydPhqWlpdI+WlpaMDIyUqw8T0REREQvplIQMzc3x4gRIwCUz4j17dsXRkZGituTRUVFePr06Su9xoeIiIiooVH7Yf2hQ4diw4YNeP/99xXb/vjjD7i5uWH16tWQy/lOLCIiIiJVqB3EQkND8eOPP2Lo0KGKbZ06dcInn3yC7777jq/zISIiIlKR2q84OnLkCAIDA/HBBx8otjVt2hRjx46Fjo4Odu7cqdZrgYiIiIgaKrVnxHJyctC6detK29q3b4+MjIxXHlRlJBJJjfRLREREJBa1g1j79u3x888/V9p28uRJtGnT5pUHVRkuX0FERET1jdq3JkePHo25c+ciNzcXAwYMgImJCR4+fIhTp07hp59+wsqVK9UexKNHj1BYWFjpg/4tW7aEtrY2rly5ona/RERERLWZ2kFs+PDhePLkCTZv3oxffvlFsV0mk2HhwoUYPny4yn3dunULgYGB+Ouvv567T1JSkrpDJCIiIqoT1A5iADBq1CiMHDkSN27cQG5uLoyMjNC+fXvFuyFV9dlnn+HmzZuYOnUqmjdvrvbxRERERHVZlYIYAOTl5eHGjRvIysrCoEGDcPPmTbRr106th+rj4uKwYsUKpaUwiIiIiBqKKgWxLVu24Msvv0RRUREkEgkcHBywYcMG5OTkYNu2bTAyMlKpH0NDQxgbG1dlCERERER1ntr3AiMiIhAaGgpfX1989913ik8zent7Iy0tDZ9//rnKfb3zzjvYtWsXPxFJREREDZLaM2Lh4eGYOHEiZsyYgbKyMsX2Pn36YObMmfjqq6+wcOFClfrS19dHQkIC3nrrLdjb20NPT0+pXSKRICgoSN0hEhEREdUJagexu3fvwtXVtdK29u3b48GDByr39cMPP6BJkyaQy+WVfnKSi7gSERFRfaZ2EGvRogUuXLiA119/vULb5cuX0aJFC5X7OnnypLqnJyIiIqo31A5i7733HkJDQ6Gnp4e+ffsCAAoKCvDzzz/jyy+/hK+vb7UN7vr162jfvn219UdERERUm6gdxCZMmID09HSsWbMGa9asAVC+2j4AeHp6YtKkSSr3lZubiw0bNuD8+fMoKSlRPLQvCAIKCgrw6NEjLuhKRERE9ZbaQUwikWDZsmXw9fVFbGwscnNz0aRJE3Tv3h02NjZq9bVy5UocO3YMb7zxBq5fvw59fX20bdsWCQkJyMvLw7Jly9QdHhEREVGdUeUFXdu1awe5XI68vDyYmJjA0tJS7T5+//13TJs2DZMmTcK2bdtw/vx5bNiwAU+ePIG3tzeuXbtW1eERERER1XpVeqdQeHg4evfujaFDh2LkyJEYNGgQ+vXrh6NHj6rVT15eHhwdHQEAVlZWuHz5MgCgcePGGDduHE6fPl2V4RERERHVCWrPiEVERGDFihUYMGAA3nrrLZiYmOD+/fs4duwY5syZA21tbbz99tsq9SWTyZCfnw8AaNu2LbKzs5Gbm4umTZvC3NwcmZmZ6g6PiIiIqM5Qe0Zs586d8Pb2xqZNm/DOO++gd+/eGDFiBLZu3QovLy9s2rRJ5b7c3NwQFhaGO3fuwNLSEsbGxvjhhx8AAKdOnYJMJlN3eERERER1htpBLCMjA/369au0bejQoUhLS1O5rxkzZiA7OxuBgYGQSCSYNGkSVq9ejR49emDHjh1499131R0eERERUZ2h9q1Je3t7REdHV7qga2JiImxtbVXuq1WrVoiMjMTNmzcBAL6+vnjttdfwxx9/wMHBASNGjFB3eERERER1hkpBLC4uTvH1kCFDsHLlShQWFuLtt9+GqakpcnNzcebMGYSHh2P58uVqDUBPTw92dnYAgOLiYgwdOhSenp5q9UFERERUF0mEZ6uovoCdnZ3Sex+fHfK8beoswnr9+nVs3LgR586dw+PHj/H9999j//79aN++PXx8fFTup74qK5Pj4cMn1d6vjo4WZLLGyMl5gtJSebX3T+VYZ81gnTWHtdYM1lkzaqrOzZo1hra2ak9/qTQjtnPnzlca0PMkJSVh1KhRMDExgaenJ3bv3g0A0NbWRlBQEAwNDXl7koiIiOotlYKYq6trjZx89erV6NKlC7Zt2wYA2LVrFwBgwYIFKC4uxs6dOxnEiIiIqN5SKYht2rQJ//d//wdzc3OVlqcwMDCApaUl+vbtCx2d55/izz//xLp166Cjo4OysjKltsGDB6u9QCwRERFRXaJyEHvzzTdVDmJA+bNinp6eCA4Ofu4+jRo1QlFRUaVtubm50NXVVelcRERERHWRSkHsypUrlX79PCUlJQgLC3vps2W9evXCxo0b4eTkBFNTUwDlAe7JkyfYtm1bpUtkEBEREdUXVX7pd35+PgRBgJGRUYU2XV1d9OrVC8nJyS/sY86cOfjPf/4DDw8PxSczV61ahRs3bkAQBKxbt66qwyMiIiKq9dQKYqmpqfj666/x22+/4fHjxwDKX9Ddv39/jBs3TmkxV2dnZzg7O7+wvxYtWuDw4cPYsWMHYmJiYGlpiYKCAgwdOhS+vr4wMzOrwiURERER1Q0qB7HIyEjMmzcPWlpaeP3112FpaQkdHR2kpaXh5MmT+OmnnxAUFIShQ4eqNQCZTAZ/f3+1B05ERERU16kUxFJTUzFv3jz06dMHn332GYyNjZXaHz9+jMWLF2PBggXo2LEjrKysVB5AZmYmLl++jPz8/Erbhw8frnJfRERERHWJSkFsx44dsLa2xvr166GtrV2h3dDQECEhIRg5ciS+/fZbLFu2TKWTR0ZGYu7cuSgpKam0XSKRMIgRERFRvaVSEIuOjsbkyZMrDWHPaGlp4YMPPlB5eQsA2LBhAxwcHDBv3jw0bdpU5eOIiIiI6gOVglhWVhbatGnz0v0sLCxw//59lU+elZWFZcuWoXPnziofQ0RERFRfqPRGSiMjI2RlZb10v6ysLDRr1kzlk3fr1k2ldcmIiIiI6iOVZsScnJxw6NAhDB48+IX7HTx4EE5OTiqffPHixfj444/x+PFj2Nvbw8DAoMI+3bt3V7k/IiIiorpEpSA2ZswYeHt7Y/PmzfDz86t0n7Vr1yI6Ohp79uxR+eQ3b97EgwcPFM+VSSQSRZsgCJBIJEhKSlK5PyIiIqK6RKUg5uzsDH9/f6xbtw7Hjh2Du7s7WrVqBR0dHdy5cwe//PILbty4gcDAQDg4OKh88tWrV8PS0hITJkzAa6+9VuWLICIiIqqLVF7QdeLEiejQoQM2bdqErVu3KrV169YNX3/9NXr37q3Wye/evYuwsDC+U5KIiIgaJLVeceTu7g53d3fk5OTgzp07EAQBrVq1UusB/X+ysbHBvXv3qnQsERERUV1XpZd+y2QyyGSyVz75vHnz8Mknn6CsrAzdunWDoaFhhX1atmz5yuchIiIiqo2qFMSqi6+vL0pLS7Fo0SKlB/X/iQ/rExERUX0lahBbunSpmKcnIiIiEpWoQWzEiBEq7ScIAubPn49p06bxViURERHVGyqtrC82uVyOQ4cOIScnp8p9JCQkwNbWtsKf2NhYxT6+vr4V2n18fJT6+eabb9C/f384ODjAy8sLMTExSu1JSUnw9vZGt27d0K9fP+zcubPKYyYiIqL6TdQZMXUIgvBKxycnJ8PS0hK7d+9W2m5sbKy0z5IlSzBgwADFNqlUqvh68+bN+Prrr7FixQp06tQJO3fuxOTJk/Hjjz+idevWyMnJga+vL/r164elS5fizz//xNKlS9G4cWO8++67rzR+IiIiqn/qTBB7VSkpKbC2toapqWml7dnZ2cjOzkbXrl0r3aegoABff/01PvnkE8Wrnj799FPEx8cjISEBrVu3xnfffQepVIply5ZBR0cHVlZWuHXrFr766isGMSIiIqqgTtyarA7JycmwsrJ6YbtEIkG7du0qbU9ISEBhYSGGDBmi2KatrY0ff/wRw4cPBwDEx8fD1dUVOjr/y7c9e/ZUvMqJiIiI6J8azIzY1atXIZPJ4OXlhczMTNjY2MDf31/xSqaUlBQ0adIEy5Ytw9mzZ2FgYAAPDw/4+flBV1cXN27cgLGxMZKTk7FhwwbcvHkT1tbW8Pf3V7zoPCMjAzY2NkrnNTMzAwDcu3evyq9x0tGp/rysra2l9E+qGayzZrDOmsNaawbrrBm1oc71Ioilp6ejf//+z20/ffo08vPzUVBQgAULFkBbWxsRERHw9vbGwYMHYW1tjZSUFBQXF8PBwQG+vr5ISkpCcHAw7t69i+DgYDx+/BhFRUVYtGgRZs+ejZYtW2Lfvn0YM2YMDh06BCsrKxQVFUFXV1fp3I0aNQIAFBcXV+natLQkkMkaV+lYVRgZ6ddY3/Q/rLNmsM6aw1prBuusGWLWuV4EMXNzc0RGRj633czMDHFxcdDX11c8fG9vb4/ExESEh4dj6dKlWLZsGQIDAxUP79vY2EAqlcLf3x8BAQHQ0dFBUVER5s+fjz59+gAAOnfujAsXLiAiIgKLFy+Gnp4eSkpKlM79LIAZGBhU6drkcgF5eQVVOvZFtLW1YGSkj7y8QpSVyau9fyrHOmsG66w5rLVmsM6aUVN1NjLSV3mWrc4EseetvA+Uf7LxRc9/AYCRkZHS91paWrCyskJmZiYAQEdHR+kTlADQoUMHAOW3HJs3bw4AsLW1VRqTlZUV0tPTAQDNmzdHVlaWUh/Pvjc3N3/h+F6ktLTm/hKWlclrtH8qxzprBuusOay1ZrDOmiFmnevMzedXWb4iKioKjo6OSEtLU2wrLS3FlStXYG1tDQDw8fHBvHnzlI67dOkSpFIp2rZtCxcXF0gkEvz5559KY7p27RratGkDAOjevTsSEhJQVlam2CcmJgbt2rWDiYlJlcdPRERE9ZOoM2J37959bpuWlhYMDAxgZGQEbW1tXLlypcrncXJygkwmQ2BgIObPnw+pVIqvvvoKubm5GDt2LABg0KBBCAoKgoODA3r37o1Lly4hODgY48ePh6GhIQwNDfHuu+9i+fLl0NfXh6WlJcLDw5Geno6RI0cCAN59911s3boVn376KT766CNcvHgRO3bs4KuciIiIqFIS4VVXSn0FdnZ2L7zlCJQvuDp69Gj4+fm90rlu376NNWvWIDY2FsXFxXB2dkZgYKDSpxx37dqFXbt2IS0tDaampnj//fcxceJEaGmVTxw+ffoUmzZtwsGDB/Ho0SN06tQJc+bMgbOzs6KPixcvYsWKFUhMTISpqSnGjRsHb2/vKo+7rEyOhw+fVP3Cn0NHRwsyWWPk5DzhtHcNYp01g3XWHNZaM1hnzaipOjdr1ljlZ8REDWKHDh3CokWL4OrqiqFDh8LExATZ2dn45ZdfcPr0afj5+eHJkyfYtWsX5s6dq5h5akgYxOo21lkzWGfNYa01g3XWjNoQxES9NXns2DEMGTIEK1euVNo+fPhwLF68GJcvX0ZYWBiaNm2KPXv2NMggRkRERPWXqA/rnz9/HkOHDq20beDAgYoXav/7QXsiIiKi+kDUINa0adPnPoR/5coVGBoaAih/z6O+Phe1IyIiovpF1FuTnp6e2LhxI3R0dODh4YFmzZohOzsbv/76KzZt2oQPPvgAjx49wrfffouuXbuKOVQiIiKiaidqEJs5cyays7OxatUqrFq1SrFdS0sL7777Lvz9/fHzzz8jMTER3377rYgjJSIiIqp+on5q8pnbt28jNjYWOTk5MDc3h5OTE1q3bg0AePToEfT19Su8w7Gh4Kcm6zbWWTNYZ81hrTWDddaMBv+pyWcsLCxQUFCArKwsODk5obS0VNH279cOEREREdUXogexw4cPY+3atbh//z4kEgm+//57hIaGQiqVYu3atQ12JoyIiIjqP1E/NRkZGYnAwED07NkT69atg1xePi341ltv4cyZM9i8ebOYwyMiIiKqUaLOiIWFheGDDz7AkiVLlF6U/e677+Lhw4f47rvvMHPmTPEGSERERFSDRJ0Ru3HjBt56661K27p27YrMzEwNj4iIiIhIc0QNYiYmJkhNTa20LTU1FSYmJhoeEREREZHmiBrEBg8ejI0bN+L48eMoKSkBAEgkEly+fBmbN2+Gh4eHmMMjIiIiqlGiL+iakpKCmTNnQkurPBP6+PigoKAALi4umDFjhpjDIyIiIqpRogYxXV1dbN26FWfPnkV0dDQePXqEJk2awNXVFX369IFEIhFzeEREREQ1SvR1xACgV69e6NWrl9jDICIiItIo0YPY2bNncerUKRQWFirWEXtGIpEgKChIpJERERER1SxRg9i2bdsQHByMRo0aoVmzZhVuRfLWJBEREdVnogaxiIgIeHp6YsWKFXyVERERETU4oi5f8eDBA7z33nsMYURERNQgiRrEOnXqhKtXr4o5BCIiIiLRiHprcv78+Zg5cyYMDAzQtWtX6OvrV9inZcuWIoyMiIiIqOaJGsQ+/PBDyOVyzJ8//7kP5iclJWl4VERERESaIWoQW758uZinJyIiIhKVqEFsxIgRYp6eiIiISFQaf1g/ICAADx48UOuYjIwMzJ49u4ZGRERERCQOjQcxOzs7DB06FMuXL8fFixdfuO/Fixfx6aefwtPTEx07dtTQCImIiIg0Q+O3JseNG4c+ffpgzZo1+M9//gMzMzPY29vDwsIC+vr6yM/Px71793DhwgXk5OSgb9++2LVrF2xsbDQ9VCIiIqIaJcozYlZWVtiyZQtSUlJw5MgRxMbGIiEhAfn5+ZDJZGjVqhU+/PBDDBw4ELa2tmIMkYiIiKjGifqwvo2NDZ/9IiIiogZL1JX1iYiIiBoyBjEiIiIikTCIEREREYmEQYyIiIhIJAxiRERERCJhECMiIiISCYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKRMIgRERERiYRBjIiIiEgkDGJEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQiYRAjIiIiEgmDGBEREZFIGkwQS0hIgK2tbYU/sbGxin18fX0rtPv4+Cjanzx5gqVLl6J3795wcXHBhAkTkJqaqnSe6OhoeHl5oWvXrvDw8MCxY8c0do1ERERUt+iIPQBNSU5OhqWlJXbv3q203djYWGmfJUuWYMCAAYptUqlU8fVnn32GixcvYuPGjTA2NkZISAg++ugjHD9+HI0aNUJqaiomTZoEX19fhISE4PTp0wgICECzZs3g5uZW8xdJREREdUqDCWIpKSmwtraGqalppe3Z2dnIzs5G165dn7vPiRMnMGPGDDg5OQEAZs6ciXfeeQfXrl1D586d8e2338LW1hb+/v4AACsrKyQmJmLr1q0MYkRERFRBg7k1mZycDCsrqxe2SyQStGvX7rn7mJiYIDIyEtnZ2SgpKcH+/fvRtGlTWFpaAgDi4+MrBK6ePXsiISEBgiBUz4UQERFRvdFgZsSuXr0KmUwGLy8vZGZmwsbGBv7+/nBwcABQPmPWpEkTLFu2DGfPnoWBgQE8PDzg5+cHXV1dAMCKFSsQEBCA119/Hdra2jAwMMC2bdvQpEkTAEBGRgaaN2+udF4zMzMUFhYiJycHzZo1q9LYdXSqPy9ra2sp/ZNqBuusGayz5rDWmsE6a0ZtqHO9CGLp6eno37//c9tPnz6N/Px8FBQUYMGCBdDW1kZERAS8vb1x8OBBWFtbIyUlBcXFxXBwcICvry+SkpIQHByMu3fvIjg4GED5rFnr1q2xfPlyGBgY4Ouvv8bUqVOxb98+tGjRAkVFRYrQ9syz70tKSqp0bVpaEshkjat0rCqMjPRrrG/6H9ZZM1hnzWGtNYN11gwx6ywR6sE9s6dPn+L27dvPbW/bti2ePHkCfX19xcP3crkcnp6ecHFxwdKlS1FaWoonT54oPbwfGRkJf39/nD17Funp6fjggw9w8uRJtGzZUnHet99+G+7u7vj000/h6OiIOXPmYOTIkYo+zpw5g4kTJ+L8+fNKfauqrEyOvLxCtY97GW1tLRgZ6SMvrxBlZfJq75/Ksc6awTprDmutGayzZtRUnY2M9FWeZasXM2JSqfSFz38BgJGRkdL3WlpasLKyQmZmJgBAR0enQlDq0KEDgPJbjgkJCTAxMVGEsGfn7dSpE27dugUAaNGiBbKyspT6yMrKgoGBgeL2ZVWUltbcX8KyMnmN9k/lWGfNYJ01h7XWDNZZM8Ssc4O4+RwVFQVHR0ekpaUptpWWluLKlSuwtrYGAPj4+GDevHlKx126dAlSqRRt27ZF8+bNkZOToxS05HI5rl27hrZt2wIAXFxccP78eaU+YmJi4OTkBC2tBlFqIiIiUkODSAdOTk6QyWQIDAzE5cuXkZycjMDAQOTm5mLs2LEAgEGDBuHw4cPYs2cP0tLSEBkZieDgYIwfPx6GhoZwd3dH69atMX36dPz1119ITU3FwoULce/ePYwePRpAeZi7ePEi1qxZg9TUVGzbtg3Hjx/HRx99JOLVExERUW1VL54RU8Xt27exZs0axMbGori4GM7OzggMDISNjY1in127dmHXrl1IS0uDqakp3n//fUycOFExm5WZmYng4GBFH/b29ggICICdnZ2ij6ioKISEhODmzZuwsLDAtGnTMHjw4CqPu6xMjocPn1T9wp9DR0cLMllj5OQ84bR3DWKdNYN11hzWWjNYZ82oqTo3a9ZY5WfEGkwQq6sYxOo21lkzWGfNYa01g3XWjNoQxBrErUkiIiKi2ohBjIiIiEgkDGJEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQiYRAjIiIiEgmDGBEREZFIGMSIiIiIRMIgRkRERCQSBjEiIiIikTCIEREREYmEQYyIiIhIJAxiRERERCJhECMiIiISCYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKR6Ig9ANI8QSJBXlEZsm49hH4jHejpaEEiCGIPi4iIqMFhEGtgyiQSbD5wERdS7iu2Odqaws/LAdoMY0RERBrFW5MNiFBJCAOAC8n3sfngRQgSiUgjIyIiapgYxBqQwqdlFULYMxeS76PwaZmGR0RERNSwMYg1IAVFpa/UTkRERNWLQawBMdB78SOBL2snIiKi6sUg1oDoS7XhaGtaaZujrSn0pdoaHhEREVHDxiDWgEgEAX5eDhXC2LNPTXIJCyIiIs3ivagGRlsQMNXLAYVP5SgqKYWerg70pVxHjIiISAycEWuAJIIAIz1t2LZpBiM9bYYwIiIikTCIEREREYmEQYyIiIhIJAxiRERERCJhECMiIiISCYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKRMIgRERERiYRBjIiIiEgkEkHg+21qM0EQIJfXzL8ibW0tlJXJa6Rv+h/WWTNYZ81hrTWDddaMmqizlpYEEolEpX0ZxIiIiIhEwluTRERERCJhECMiIiISCYMYERERkUgYxIiIiIhEwiBGREREJBIGMSIiIiKRMIgRERERiYRBjIiIiEgkDGJEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgaxBkYul2Pjxo1444030K1bN0yYMAFpaWliD6vOy83NxaJFi/Dmm2/CyckJH374IeLj4xXt0dHR8PLyQteuXeHh4YFjx46JONr64caNG3B0dMTBgwcV25KSkuDt7Y1u3bqhX79+2Llzp4gjrPsOHTqEwYMHw97eHkOGDMFPP/2kaEtPT8ekSZPg5OSE3r17Y8OGDSgrKxNxtHVTaWkpPv/8c7i7u8PR0RGjRo3Cn3/+qWjnz/Sr+/LLL+Hj46O07WV11ejvSoEalNDQUKFHjx7CqVOnhKSkJGHcuHHCwIEDheLiYrGHVqf5+voKQ4cOFeLi4oTr168LS5cuFRwcHITU1FTh2rVrgr29vbBu3Trh2rVrwtatW4VOnToJ586dE3vYdVZJSYng5eUl2NjYCAcOHBAEQRAePnwo9OjRQ5g3b55w7do1Yf/+/YK9vb2wf/9+kUdbNx06dEjo1KmTEBERIdy6dUvYvHmzYGdnJ/zxxx9CSUmJMHDgQGHixIlCcnKy8Ouvvwqurq7C559/Lvaw65yNGzcKvXr1En7//Xfh5s2bwqeffio4OzsLmZmZ/JmuBhEREYKdnZ3g7e2t2KZKXTX5u5JBrAEpLi4WHB0dhV27dim2PXr0SHBwcBCOHDki4sjqtps3bwo2NjZCfHy8YptcLhcGDBggbNiwQVi4cKHw3nvvKR0za9YsYdy4cZoear2xdu1aYfTo0UpBLCwsTOjdu7fw9OlTpf0GDhwo1jDrLLlcLri7uwurVq1S2j5u3DghLCxMOHLkiNClSxchNzdX0bZ3717BycmJ/1OnpmHDhgkrV65UfJ+fny/Y2NgIP//8M3+mX0FGRoYwadIkoVu3boKHh4dSEHtZXTX9u5K3JhuQK1eu4MmTJ3Bzc1NsMzIyQqdOnRAXFyfiyOo2mUyGr776Cvb29optEokEEokEeXl5iI+PV6o5APTs2RMJCQkQBEHTw63z4uLisG/fPqxatUppe3x8PFxdXaGjo6PY1rNnT9y8eRMPHjzQ9DDrtBs3buDOnTvw9PRU2v7NN99g0qRJiI+PR+fOnWFsbKxo69mzJx4/foykpCRND7dOMzExwalTp5Ceno6ysjLs27cPurq6sLOz48/0K/j7778hlUrx448/omvXrkptL6urpn9XMog1IBkZGQCAFi1aKG03MzNTtJH6jIyM0KdPH+jq6iq2/fzzz7h16xbeeOMNZGRkoHnz5krHmJmZobCwEDk5OZoebp2Wl5eHgIAALFiwoMLP8fPqDAD37t3T2Bjrgxs3bgAACgoKMH78eLi5ueH//u//cPLkSQCsdXX69NNPIZVK0b9/f9jb22P9+vXYuHEjLC0tWedX0K9fP4SGhqJ169YV2l5WV03/rmQQa0AKCwsBQCkwAECjRo1QXFwsxpDqpT/++APz5s3DwIED0bdvXxQVFVWo+bPvS0pKxBhinbVkyRI4OjpWmKkBUGmdGzVqBAD8+VbT48ePAQCBgYEYOnQotm3bhl69esHPzw/R0dGsdTW6du0amjRpgi+++AL79u2Dl5cXPvnkEyQlJbHONeRlddX070qdl+9C9YWenh6A8l/+z74Gyn/w9PX1xRpWvXLixAl88skncHJywpo1awCU/+X9d+B69j3rrrpDhw4hPj4eR44cqbRdT0+vQp2f/UfTwMCgxsdXn0ilUgDA+PHjMWLECABAx44dkZiYiO3bt7PW1eTevXuYPXs2duzYARcXFwCAvb09rl27htDQUNa5hrysrpr+XckZsQbk2TRrVlaW0vasrCyYm5uLMaR6JSIiAtOmTYO7uzvCwsIU/4fVokWLSmtuYGCAJk2aiDHUOunAgQPIzs5G37594ejoCEdHRwDA4sWL8dFHH6F58+aV1hkAf77V9KxeNjY2Stutra2Rnp7OWleTv/76C0+fPlV6vhQAunbtilu3brHONeRlddX070oGsQbEzs4OhoaGiI2NVWzLy8tDYmIiunfvLuLI6r7du3fjs88+w6hRo7Bu3TqlKW0XFxecP39eaf+YmBg4OTlBS4t/BVW1Zs0aREZG4tChQ4o/ADB9+nSsWLEC3bt3R0JCgtJaVjExMWjXrh1MTExEGnXd1LlzZzRu3Bh//fWX0vaUlBRYWlqie/fuSExMVNzCBMpr3bhxY9jZ2Wl6uHXWs+eUkpOTlbanpKSgbdu2/JmuIS+rq8Z/V1b75zCpVlu3bp3g6uoqnDhxQmltlJKSErGHVmddv35d6Ny5szBlyhQhKytL6U9eXp6QkpIidO7cWQgJCRGuXbsmfPPNN1xHrJr8c/mKBw8eCN27dxcCAwOFq1evCgcOHBDs7e2FgwcPijzKuumLL74QHB0dhSNHjiitIxYTEyMUFRUJAwYMEMaPHy8kJSUp1hELDQ0Ve9h1SllZmfDhhx8KHh4eQnR0tHDjxg1h/fr1QseOHYU///yTP9PVJDAwUGn5ClXqqsnflRJB4OfnG5KysjKsW7cOBw8eRFFREbp3745FixbBwsJC7KHVWWFhYVi/fn2lbSNGjMCqVasQFRWFkJAQ3Lx5ExYWFpg2bRoGDx6s4ZHWP7a2tli5ciW8vLwAABcvXsSKFSuQmJgIU1NTjBs3Dt7e3iKPsu7avn07IiIikJmZCSsrK0ybNg0DBgwAANy6dQtLly5FfHw8jI2N8d5772HatGmc5VXTo0ePsGHDBpw+fRqPHj2CjY0NZs2aBVdXVwD8ma4Oc+fOxZ07dxAeHq7Y9rK6avJ3JYMYERERkUj4vy5EREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBER1aCGtkJQQ7teolfFIEZEVTJ79mzY2tpi27ZtYg/llcTGxsLW1lbpdSbVdcz333+P1atXv+oQ64zffvsNgYGBKu178eJFDBo0SPHy5YSEBAwZMgQuLi4ICAhAQUGB0v47d+6Er69vhX6io6Pxzjvv4OnTp69+AUQiYBAjIrXl5+fjxIkTsLGxwb59++r0LEjnzp2xb98+dO7cudr73rJlC3Jzc6u939pqx44duHfv3kv3Ky4uRmBgIObMmQNdXV2UlJRg5syZcHR0xNq1a/HXX39hy5Ytiv0fP36MsLAwfPLJJxX6cnNzQ6tWrbB58+ZqvRYiTWEQIyK1HT16FADw6aef4ubNm4iJiRF5RFVnaGiIbt26wdDQUOyhNBi7d++Gjo6O4nVJ169fR1ZWFmbPno0+ffrgww8/xLlz5xT7f/311+jRo8dzw/LkyZOxdetWZGVlaWT8RNWJQYyI1HbgwAG4ubmhZ8+eaNOmDfbu3avU3q9fP8ydO1dp28GDB2Fra4v09HQ8fvwY7u7u8PDwUNyaEgQBo0ePRq9evfDw4cMK59y5cyfs7OyQk5Oj2PbFF1/A1tYW0dHRim0nTpyAnZ0dMjMzAQApKSmYNGkSnJyc4OTkhClTpiAtLU2xf2W3GU+fPg0vLy84ODhg0KBBOHr0KN566y2EhoYqjen69esYP348unbtil69emHNmjUoLS1V1ODOnTv44YcfFNddGR8fH8ydOxdhYWF4/fXX4ezsDD8/P9y5c0dpP1WvY+/evXB3d4eTkxPOnj0LADhz5gw++OADdOvWDb1798aiRYuQl5enOPbu3buK9xt27doVY8aMQWJioqI9PT0dtra2+OmnnzB9+nQ4OjrC1dUVCxYsUNxC9PHxwfnz53H+/PkX3rYtKSnB9u3bMXTo0Aptenp6AACpVAq5XA4AyMzMxK5duzBz5sxK+wMAe3t7tGzZEtu3b3/uPkS1FYMYEanl6tWruHTpEoYPHw4AGD58OH777Tc8ePBA5T4MDQ2xYsUK3Lx5E2FhYQDKg1ZsbCyCgoLQrFmzCsf07dsXgiAozb49+zouLk6xLSoqCp06dYK5uTlu3LiBDz74ANnZ2Vi9ejVWrFiBtLQ0fPjhh8jOzq50bDExMfDz80OLFi0QGhqKUaNGYfHixZXeclu5ciWcnZ0RFhaGt99+G19//bUilG7atAmmpqbo06cP9u3bBzMzs+fW47fffsPBgwexYMECLF26FElJSfDx8UFhYSEAqHUdmzZtQmBgIBYtWgRHR0ecOnUKkyZNgomJCTZs2IBPPvkEJ06cgL+/PwDg4cOH+OCDD/D3339j4cKFWLt2LeRyOUaNGoXU1FSlvhcvXqy4DTh+/Hjs379fcQtx8eLF6NSpEzp16vTCW72xsbHIzMzEwIEDFdvatm0LmUyGAwcO4OHDhzh+/DicnZ0BAKGhofD09ESbNm2eWz8A8PDwUMzUEtUpAhGRGlauXCm4uroKxcXFgiAIwt27dwU7Ozthy5Ytin3c3d2FwMBApeMOHDgg2NjYCGlpaYptixYtEjp37iycPn1acHBwEJYuXfrCcw8aNEhYuHChIAiCUFBQIHTu3FkYMWKE4O3trdinb9++wsaNGwVBEIRZs2YJr7/+upCfn69oz8nJEZydnYVVq1YJgiAIMTExgo2NjRATEyMIgiCMHDlSGDZsmCCXyxXHHD16VLCxsVH0++yYkJAQxT5yuVzo06ePMGXKlBfW4d+8vb2Fzp07C7dv31Zs+/vvvwUbGxth9+7dal/HF198odT/iBEjhOHDhytdz7Fjx4SBAwcK9+/fF9atWyfY29sL6enpivbi4mKhf//+wrRp0wRBEIS0tDTBxsZG+OSTT5T69vHxEYYOHap0Lf/8d1GZ4OBgwcXFpcL2U6dOCT179hRsbW2FsWPHCjk5OcK1a9cEJycnISsrSzh58qQwYsQI4b333hPOnj1b4fhff/1VsLGxEa5du/bC8xPVNpwRIyKVPX36FD/++CMGDBiAoqIi5OXloXHjxnB2dsZ3332nuJ2kqoCAAJibm+Pjjz9Gq1atEBAQ8ML9+/btq3h2KCEhAVKpFKNHj8Zff/2FkpISXLt2DXfv3kXfvn0BlM9uubq6Qk9PD6WlpSgtLYWhoSFcXFyUnkF6pqSkBBcuXMDAgQMhkUgU2z08PKCjo1NhfxcXF8XXEokErVq1UrrlpyonJye0bt1a8X2nTp3QunVrxUyfOtfRsWNHxddFRUVITEzEgAEDlK5n8ODB+Pnnn/Haa68hOjoaHTt2hLm5uaJvLS0tvPnmmxX67tatm9L3zZs3r/DpxpdJS0tDq1atKmzv27cvoqOjceHCBWzfvh1NmzZFSEgIfHx8oKWlhRkzZmDy5Mn46KOPMGXKlAozgRYWFgDw3FvARLVVxf+yEBE9x+nTp5GdnY39+/dj//79Fdp///139OnTR+X+GjdujIEDB2Lbtm1wc3NTPCP0PH369MH27duRnp6O6OhoODk5wc3NDcXFxfjrr79w+fJlmJqaokuXLgCA3NxcREZGIjIyskJfld3+zM3NRVlZGUxMTJS2a2tro2nTphX219fXV/peS0urSp8gNTc3r7DNxMQEjx49UoxL1eswMDBQfP3o0SMIglDhev4pNzcXt27deu6txGe3R4Hqud7Hjx9X6OefnrXFx8fjzz//xJo1a3D8+HFYWFjgrbfeAgB8/vnniIqKwogRIyocl5+fr9Z4iMTGIEZEKjtw4ABat26NFStWKG0XBAFTp07F3r17FUGsrKxMaZ/KZk5SUlIQHh6Ojh07Ys+ePRg2bBi6du363PO7uLjA0NAQ0dHRiImJwaBBg2Bubo62bdsiNjYWCQkJ6Nu3r2L2p0mTJnj99dcrXX+qshkuExMTSKXSCs+7yeXyGl2G4p8fQHjmwYMHsLS0BKD+dTxjaGgIiURS4cMPxcXFiImJQdeuXdGkSRO4uro+dzZSV1dXnUt5KZlMptKnG0NCQvDxxx/D0NAQDx8+hLGxsaLNyMgI9+/fV9r/WWiVyWTVOl6imsZbk0Skkvv37+P333/HkCFD0KNHD6U/PXv2hIeHB86cOYPMzEwYGhoiIyND6fiEhASl70tLSzF37lxYWlpi7969sLOzQ2BgIIqLi587BqlUil69euG3335DUlISXF1dAQA9e/bE6dOnER8fD3d3d8X+rq6uuHbtGjp27Ah7e3vY29ujS5cu2LFjB3799dcK/Wtra8PJyQm//fab0vaTJ08qPg2pDi0t1f4Tm5CQoBTGLl++jPT0dLi5uVXpOp5p3LgxOnbsiFOnTiltj4qKwsSJE5GVlQVXV1fcuHED7dq1U/Rtb2+Pw4cPY//+/dDW1q7W623ZsiUyMjJeOJN2/Phx3L9/HyNHjgRQPuv3z3B8//79CrN8zz4l27JlS5XHS1QbMIgRkUoOHTqE0tJSDBkypNL24cOHo6ysDN999x3c3d0RFxeHL7/8EjExMQgKCqqw1lhYWBgSExOxfPly6Onp4bPPPsPt27exfv36F46jT58+OHXqFBo1aqS4BdmjRw9cunQJEokEr7/+umJfPz8/3L59G5MmTcKJEyfw+++/Y9q0aTh27Bjs7Owq7X/69Om4cuUKpk+fjqioKOzduxcLFy4EAKXnrFRhZGSExMREnD9/HkVFRc/dr7CwEB999BFOnDiBw4cPY+rUqbCxsVEs8VCV6/jn9Vy6dAmzZs1CVFQUDh48iKVLl2LAgAGwsbHB2LFjIZfLMXbsWERGRiI6OhoLFy5EeHg42rVrp/b13rhxA9HR0YoZqn/r1asX8vPzkZKSUml7aWkp1q9fj+nTpytm43r37o179+5h27Zt2LZtG+7fv4/evXsrHZeQkAALCwu1x0wkNgYxIlLJwYMH0aFDB9jY2FTa7uzsDAsLC3z//feYNGkS/u///g/ffPMNJk+ejPv37yvdzrxy5QrCwsLw4YcfwsnJCUD5CvejR4/Gt99+W2H27J/69OkDiUQCJycnxW25Hj16QCKRoEePHkrPH9nZ2WHXrl2QSCQICAjA9OnTcf/+fXzxxRdKyyf8k4uLC0JDQ3Hjxg34+flh+/btiiDWuHFjtWo2btw4PHjwAOPHj8fly5efu5+Liwvc3d3x6aefIigoCG5ubti5c6ciiFTlOp5xd3dHWFgYbt++jSlTpuDzzz+Hp6cnQkJCAJQ/n7Z37160atUKS5Yswccff4yLFy9ixYoVGDt2rFrXO2rUKEilUkyYMAFRUVHPvVYTExOcOXOm0vZ9+/ZBV1cXw4YNU2xr3rw5goKCsGPHDoSHhyM4OLjCc3W///47PDw81BovUW0gEaryZCkRUT3122+/oXnz5koPr1+9ehVDhw7F5s2b0b9//2o9n4+PDwAgPDy8WvutzbZt24Y9e/bgl19+UXuWsTLx8fEYN24cTpw48cL12ohqI86IERH9w3//+1+MGzcO33//PeLj43Hs2DH4+/ujffv2FW6HUdWMHDkScrkcx48fr5b+tm7dijFjxjCEUZ3ET00SEf1DYGAg9PT0sGXLFmRlZaFp06Z44403MHv2bDRq1Ejs4dULenp6CAkJwdy5c9G/f/9X+mRmdHQ07t69i40bN1bjCIk0h7cmiYiIiETCW5NEREREImEQIyIiIhIJgxgRERGRSBjEiIiIiETCIEZEREQkEgYxIiIiIpEwiBERERGJhEGMiIiISCQMYkREREQi+X95DU+IwoJhpAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = study.trials_dataframe().query('user_attrs_trial_ran==True') #drop any pruned/erroneous trials\n", "data.columns = [i.split('__')[0] for i in data.columns] # remove algorithm hash from columns\n", "ax = sns.scatterplot(data=data, x=\"params_aux_weight_pc\", y=\"value\")\n", "ax.set(xlabel=\"Aux weight percent (%)\", ylabel=f\"Ojbective value\\n({default_reg_scoring})\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hence we can conclude that 100% weighting of the side information produces the most performant `ChemProp` model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Combining ChemProp & shallow models (only recommended for large no. trials & long run times)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Above described how ChemProp is by default split from shallow methods. Users can override this using the advanced functionaility when `split_chemprop`=False. In this situation `QSARtuna` will optimise `ChemProp` with the other shallow methods:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " split_strategy=Stratified(fraction=0.75),\n", " deduplication_strategy=KeepMedian(),\n", " ),\n", " descriptors=[\n", " ECFP.new(),\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropClassifier.new(epochs=4),\n", " RandomForestClassifier.new(n_estimators={\"low\": 5, \"high\": 5}),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " random_seed=42,\n", " n_trials=10, # run one random forest classifier trial\n", " split_chemprop=False, # set to false to run ChemProp along side other algorithms\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Combining ChemProp and traditional methods in this way means the potential search possible in `QSARtuna` comprises some incompatible sub-spaces; for example, `ChemProp` is only compatible with SMILES-based descriptors, whilst traditional methods are incompatible with SMILES. In the following examples, we consider the following search space: \"Valid" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pruning is an effective method to handle such incompatible algorithm-desciptor pairs (grey) to skip any incompatible tials that use non-SMILES descriptors with `ChemProp` and _vice-versa_, when any SMILES-based descriptors are trialed with non-`ChemProp` algorithms. \n", "\n", "This is only recommended for advanced users, when the no. trials is >100, since the optimiser has to learn which descriptors and methods are compatible at the same time as optimising for the most performative pairs.\n", "\n", "_What is pruning?_\n", "\n", "Pruning is an `Optuna` feature [originally designed](https://optuna.readthedocs.io/en/v2.0.0/tutorial/pruning.html) to automatically stop unpromising trials early in training.\n", "\n", "_How/why is pruning implemented in QSARtuna?_\n", "\n", "Instead of the original intention of pruning _unpromising trials_ due to poor performance, `QSARtuna` ensures `Optuna` prunes _incompatible algorithm-desciptor pairs_, so the sampler will not trial incomptaible settings again. Duplicated trials are also pruned, to avoid repeatedly suggesting the same hyerparameters. Pruning the trial (instead of returning a cached result) explicitly tasks the sampler to avoid identical parameters.\n", "\n", "Now let us consider the following run:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:52,649] A new study created in memory with name: my_study\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:958)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:958)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:958)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:958)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:958)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:22:52,875] Trial 0 finished with value: -inf and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.9525489095524835, 'descriptor': '{\"name\": \"SmilesAndSideInfoFromFile\", \"parameters\": {\"file\": \"../tests/data/DRD2/subset-50/train_side_info.csv\", \"input_column\": \"canonical\", \"aux_weight_pc\": {\"low\": 0, \"high\": 40, \"q\": 10}}}', 'aux_weight_pc__cfa1990d5153c8812982f034d788d7ee': 30}. Best is trial 0 with value: -inf.\n", "[I 2024-10-02 17:22:53,127] Trial 1 finished with value: -4824.686269039228 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.7731425652872588, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 1 with value: -4824.686269039228.\n", "[I 2024-10-02 17:22:53,206] Trial 2 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:53,241] Trial 3 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:53,493] Trial 4 finished with value: -4409.946844928445 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.791002332112292, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 4 with value: -4409.946844928445.\n", "[I 2024-10-02 17:22:53,541] Trial 5 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:53,852] Trial 6 finished with value: -5029.734620250011 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 23.329624779366306, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00015024763718638216, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -4409.946844928445.\n", "[I 2024-10-02 17:22:53,890] Trial 7 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:53,929] Trial 8 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:53,950] Trial 9 pruned. Incompatible subspace\n", "[I 2024-10-02 17:22:54,335] Trial 10 finished with value: -4396.722635068717 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 17, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 10 with value: -4396.722635068717.\n", "[I 2024-10-02 17:22:54,358] Trial 11 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 17, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-4396.722635068717]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:54,717] Trial 12 finished with value: -4030.45773791647 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 30, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 12 with value: -4030.45773791647.\n", "[I 2024-10-02 17:22:54,728] Trial 13 pruned. Duplicate parameter set\n", "[I 2024-10-02 17:22:54,876] Trial 14 finished with value: -4030.4577379164707 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 12 with value: -4030.45773791647.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 30, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-4030.45773791647]\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " test_dataset_file=\"../tests/data/DRD2/subset-50/test.csv\"\n", " ),\n", " descriptors=[\n", " ECFP.new(), # NB: The first 2 descriptors are incompatible with ChemProp \n", " MACCS_keys.new(),\n", " SmilesAndSideInfoFromFile.new(file='../tests/data/DRD2/subset-50/train_side_info.csv',\\\n", " input_column='canonical',\n", " aux_weight_pc={\"low\": 0, \"high\": 40, \"q\": 10}\n", " ), # NB: This is only compatible only with ChemProp\n", " ],\n", " algorithms=[\n", " SVR.new(), # NB: The first 6 regressors are incompatible with SMILES descriptors \n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ChemPropHyperoptRegressor.new(epochs=4) # NB: ChemProp only compatible with SMILES\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=15,\n", " random_seed=4, # seed 4 ensures sampling of incompatible subspace for this example\n", " n_startup_trials=10,\n", " split_chemprop=False,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consulting the `QSARtuna` output, we observe cases of e.g. \"`Trial 3 pruned. Incompatible subspace`\", which indicates an instance when the sampler has sampled an incompitble algo-descriptor pair. \n", "\n", "\"`Trial 13 pruned. Duplicate parameter set`\" is an example of pruning a duplicated trial parameter suggestion.\n", "\n", "N.B: \"`Trial 0 finished with value: -inf`\" can occur when the very first `Optuna` trial comprises incompitble algo-descriptor pairs (`-inf` is assigned instead of pruning, since `Optuna` does not allow pruning first trials)." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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MEAiBvafCOW7A3+TlGSiTqX81CqfD0cD2PB/1aeC/pykTnmxpJykTnmx9KRy4u3trkUfRJ4jaXok7+rVq+kaNG/evGnq9+OPPzJixAgKFiyI0Wg0H3d2dqZTp04MGzYsXdcVeZaZTGCPiVpl81C9tB9Ozg4YkkzExyeSxWslEREREZtJU8FUt27dVPcmsiatG9fGxcVZXQnP3t6ehISENF9T5HlhNCbh6GCHZ3YXLYUsIiIiYmNpKpgmTZqUroIprcqWLcunn37KK6+8YtG2ZcsWypQpk+HXFBERERERSas0FUwtW7Z8Ihfv168f7733Hm+88QavvPIKBoOBb775hjlz5vDrr79qdTkREREREbGpR9qH6dixY+zfv5/4+Hjzi+gmk4no6GgOHz7MF198kaZxAgMDWb58OdOnT2fJkiWYTCZWrFjBiy++yKJFi6hWrdqjhCciIiIiIpIh0l0wrV27lgkTJqS6YpednR01a9ZM81h79+4lICCAdevWERsby+3bt8mWLVu6N78VERERERF5EtK95uWaNWt4+eWX2b9/P506deLtt9/mt99+4+OPP8bZ2ZnXX389zWP16dOH7777DgAXFxd8fX1VLImIiIiIyFMj3QVTSEgIrVu3JkeOHJQpU4bDhw/j4uLCq6++yvvvv8+qVavSPJaHhwcuLi7pDUFERERERCRTpPuRPEdHR3ORU7BgQS5dukRCQgKOjo5UqlQpXRvNduvWjQkTJnDhwgVKlSqFm5ubRZ/KlSunN0QREREREZEMke6C6YUXXuDHH3+katWqFC5cmKSkJH7//XcCAwMJDQ1N11hjxowBYObMmQApli43mUwYDIY07+kkIiIiIiKS0dJdMHXs2JHevXsTFRXFpEmTqFevHkFBQTRs2JAtW7ZQqVKlNI+Vnsf3REREREREMlu6C6b69euzcOFCzp07B8D48eMZNGgQ69ato2zZsowePTrNY1WpUiW9lxcREREREck06S6YjEYjtWvXpnbt2gB4eXmxbNmyRw4go/Z0EhERERERyWjpLphq1qxJkyZNeOONNyhbtuxjXTwj93QSERERERHJaOleVrxp06bs2LGDt99+m0aNGrFw4UKuXLnySBfPyD2dREREREREMlq6C6aRI0eya9culi1bRmBgIMuXL6dBgwa0bduW9evXc+fOnTSPlZF7OomIiIiIiGS0dBdMkLz8d/Xq1ZkwYQK//vor8+fPJ0+ePIwbN45atWqleRxrezoBVKpUiYsXLz5KeCIiIiIiIhnikQqm+xITE/n111/Ztm0bu3btAqB69eppPv/+nk5Aij2dgHTv6SQiIiIiIpLR0r3og8lkYt++fWzdupXvv/+e27dvU65cOfr27Uvjxo3x8vJK81gZuaeTiIiIiIhIRkt3wVSrVi1u3rxJ3rx5ad26NW+88QaFChV6pItn5J5OIiIiIiIiGS3dBVPdunV5/fXXCQwMzJAAMnJPJxERERERkYyU7oJp/PjxGXbxq1evPrRP3rx5M+x6IiIiIiIi6ZHugikj1a1bF4PB8MA+p06dyqRoREREREREUrJpwTRp0iSLgik6OppDhw6xf/9+Jk2aZKPIREREREREbFwwtWzZMtXjbdq0YfLkyWzZssX8fpOIiIiIiEhme6x9mJ6kunXr8tNPP9k6DBERERERycIeeYbp559/Zs+ePYSHhzNw4EBOnTpF6dKlyZcvX4YE9vvvv+PgYNMJMBERERERyeLSXZHExMTQq1cv9uzZQ7Zs2bh37x5dunThs88+4+TJk6xZs4bixYunaazhw4dbHEtKSiI0NJSDBw/y5ptvpjc8ERERERGRDJPugmnGjBmcOHGCFStWEBgYSJkyZQCYOnUqXbp04eOPP2bu3LlpGmv//v0WxwwGA9myZaNr16507949veGJiIiIiIhkmHQXTN9++y0DBw6kWrVqGI1G8/HcuXPTo0ePdO3TtHPnzvReXkREREREJNOke9GHqKgoq+8p5ciRg+jo6McOSkRERERE5GmQ7hmm4sWLs2XLFmrWrGnRtnPnzjS/vwRp27j2PoPBwA8//JDmsUVERERERB5XugumHj160Lt3byIjI6lTpw4Gg4GDBw+yceNG1q1bx/Tp09M8VosWLVizZg2QXDz5+voSGRnJL7/8wtWrV2nUqBEuLi7pDVFERERERCRDpLtgql+/PtOmTWP69On8/PPPAEyZMgUfHx/Gjh1Lo0aN0jzW3bt3KVy4MEuXLsXd3d18PDExkZ49e5I9e/Z0vRMlIiIiIiKSkR5po6NmzZrRrFkzzp8/T2RkJB4eHhQpUgQ7u/S9ErVp0yYmT56colgCcHBwoG3btgwYMEAFk4iIiIiI2Ey6C6ZevXrRvHlzateuTZEiRR47gMjIyFSPh4SE4Ozs/Njji4iIiIiIPKp0r5IXEhJCnz59qFmzJmPGjOHIkSOPfPHatWszffp0du3aZT5mMpn4/vvv+fjjj2nWrNkjjy0iIiIiIvK4DCaTyZTek86dO8c333zDtm3buHTpEvnz5+f111/njTfeoGDBgmke5/bt23Tu3Jnjx4/j6OiIp6cnERERGI1GXn75ZebMmYOTk1N6w3uuGI1J3Lp1z9ZhPFEODnZ4ebkTEXGPxMQkW4fzVFBOLCknqVNeLCknqVNeLD2pnHh7u2Nvn+6fSYvIU+qRCqZ/++OPP9i2bRs7duzg2rVrlCtXjs8//zzN55tMJn766ScOHz7M7du38fLyonr16lSvXv1xwnpuqGDKmpQTS8pJ6pQXS8pJ6pQXSyqYRCQtHmnRh3/z9/enaNGilCxZkrCwMP7+++90nW8wGKhTpw516tQBklfIu3v37uOGJSIiIiIi8tge6ccf0dHRfP3113Tv3p2aNWvy4Ycf4ujoyOzZs/nll1/SPE5iYiJz585ly5YtAOzfv58aNWpQvXp1OnTowO3btx8lPBERERERkQyR7oKpX79+1KhRg6FDh3Lnzh0++OADfv31V2bPnk29evVwcEj7pNXs2bNZsGABUVFRAEyYMAFPT0+GDx/O33//na5NcEVERERERDJauh/JO3PmDF27duX1118nf/78j3XxrVu3MnDgQNq0acO5c+f4888/mTJlCs2bN8fT05OPPvpI+zCJiIiIiIjNpLtg2r59e4ZdPDw8nPLlywPw008/YWdnx8svvwyAn58fd+7cybBriYiIiIiIpFeaCqbhw4fTs2dPChQowPDhwx/Y12AwMGnSpDRdPHfu3ISEhBAYGMjOnTt54YUX8Pb2BuDo0aP4+fmlaRwREREREZEnIU0F0/79++nQoYP59xmladOmTJ48mS1btnD48GFGjx4NwMSJE/nss8/o3r17hl1LREREREQkvdJUMO3cuTPV3z+u/v374+bmxsGDBxk0aBCtW7cGkvd26tSpEz179sywa4mIiIiIiKRXulfJGz58OJcvX0617fz58+maFTIYDHTr1o0lS5bQtWtX8/F169YxcOBA7OySwzOZTAwfPpyrV6+mN1wREREREZFHlqYZpn8XKl999RX169fH3t7eot+uXbvYs2dPxkX3X0lJSWzatIm2bduSN2/eDB9fREREREQkNWkqmMaNG8euXbuA5Fmh3r17p9rPZDJRo0aNjIvuf8YWERERERHJTGkqmMaPH8+ePXswmUyMGDGCHj164O/vn6KPnZ0dHh4eVK1a9YkEKiIiIiIiktnSVDD5+vrSokULIHmGqXbt2nh4eJgfy4uNjSUhIYHs2bM/uUhFREREREQyWboXfWjatCmzZs3i7bffNh87cuQI1atXZ+rUqSQlJWVogCIiIiIiIraS7oJpzpw5fP311zRt2tR87MUXX2Tw4MF88cUXLFmyJEMDFBERERERsZU0PZL3b1u2bGHo0KG8++675mOenp689957ODg4sGrVKt5///0MDVJERERERMQW0j3DFBERQYECBVJtK1KkCKGhoY8dVGoMBkOGjXXo0CFeeOEF9u/fn+L4hQsXeP/99wkICKBGjRqMHz+emJgYc3tSUhKzZ8+mVq1aVKhQga5du1rsSXXq1Cnatm1LhQoVqFu3LqtWrcqwuEVEREREJHOlu2AqUqQIO3bsSLVt586dFCxY8LGDSk1GLSt+584dgoKCLN61ioiIoG3btjg4OLB+/XqmTZvG999/z9SpU8195s+fz6effsqHH37IunXrSEpKokuXLsTHx5vH6NixI/7+/mzYsIFevXoRHBzMhg0bMiR2ERERERHJXOl+JK99+/YMGzaMyMhI6tevj4+PD7du3eLHH3/k22+/ZfLkyekO4vbt28TExKS6YETevHmxt7fn9OnT6R43NWPHjqVAgQJcuXIlxfE1a9bg4ODAzJkzcXZ2plixYvTt25fPPvsMk8lEQkICy5YtY/DgwdSuXRuAmTNnUqtWLb777juaNm3KF198gaOjI+PHj8fBwYGiRYty6dIlPvnkE1q1apUh8YuIiIiISOZJd8HUvHlz7t27x/z58/nuu+/Mx728vPjggw9o3rx5mse6dOkSQ4cO5ffff7fa59SpU+kN0arNmzdz9OhRFixYwOuvv56i7ddff6VBgwY4Ozubj7311lu89dZbAJw+fZp79+5RvXp1c7uHhwcvvvgiBw8epGnTphw6dIgqVarg4PBPWqtVq8aiRYu4ceMGOXPmzLB7ERERERGRJy/dBRNAmzZtaN26NRcuXCAyMhIPDw+KFCmCnV36nvD78MMPuXjxIr1798bPzy/d56dHSEgIEydOZP78+bi7u1u0X7hwgXr16jF5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J4PBYG4zmUwYDAZOnTqV5vFEREREREQyUpoKpkqVKjFgwABmzJjB1q1bqVOnDvny5cPBwYErV67w3XffceHCBYYOHUq5cuXSfPGpU6fi7+9P165dyZkz5yPfhIiIiIiIyJOQ5o1r33//fYoXL87cuXNZsmRJirYKFSqwePFiatasma6LX716lYULF/LSSy+l6zwREREREZHMkOaCCaBOnTrUqVOHiIgIrly5gslkIl++fOla6OHfSpQowbVr1x7pXBERERERkSctXQXTfV5eXnh5eT32xYcPH87gwYMxGo1UqFCBbNmyWfTJmzfvY19HRERERETkUTxSwZRROnbsSGJiIqNHj06x4MO/adEHERERERGxFZsWTOPGjbPl5UVERERERB7IpgVTixYt0tTPZDIxYsQI+vTpo0f0REREREQk09jZOoC0SEpKYtOmTURERNg6FBERERERyUKeiYIJkmeZREREREREMtMzUzCJiIiIiIhkNhVMIiIiIiIiVqhgEhERERERsUIFk4iIiIiIiBUqmERERERERKx4Zgomg8Fg6xBERERERCSLeWYKJi0rLiIiIiIimc3Blhe/evWq1TY7Ozvc3Nzw8PDA3t6e06dPZ2JkIiIiIiIiNi6Y6tat+9BH7XLkyEH79u3p2bNnJkUlIiIiIiKSzKYF05QpUxg9ejRVqlShadOm+Pj4cPPmTb777jt++uknevbsyb1791i4cCGenp60bt3aluGKiIiIiEgWY9OCaevWrTRp0oTJkyenON68eXPGjBnD8ePHzcXSZ599poJJREREREQylU0XfThw4ABNmzZNta1hw4bs27cPgICAAC5fvpyZoYmIiIiIiNi2YPL09LS6mMPp06fJli0bANHR0bi6umZmaCIiIiIiIrZ9JK9Zs2bMnj0bBwcHGjVqhLe3Nzdv3uT7779n7ty5vPvuu9y+fZuVK1dSvnx5W4YqIiIiIiJZkE0Lpv79+3Pz5k2mTJnClClTzMft7Oxo1aoVAwYMYMeOHZw8eZKVK1faMFIREREREcmKDKanYEfYv//+m/379xMREYGvry8VK1akQIECANy+fRtXV1ecnJxsHKVtGI1J3Lp1z9ZhPFEODnZ4ebkTEXGPxMQkW4fzVFBOLCknqVNeLCknqVNeLD2pnHh7u2Nvb9O3HkQkA9l0hum+/PnzEx0dTXh4OBUr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EREREZGnTKZ/fxwUFMSNGzfSdU5oaCiDBg16QhFlDQ52dvj7Wl/avKCfBw72adv3SkREREQkq8j0gqlUqVI0bdqUCRMmcOzYsQf2PXbsGCNHjqRZs2a88MILmRThc8qURMs6xVJtsjNAs5qF9TieiIiIiMj/yPRH8jp16sQrr7xCcHAw77zzDrlz56Zs2bLkz58fV1dX7ty5w7Vr1zh69CgRERHUrl2btWvXUqJEicwO9bliMoF3NieGtKnE/A2/cy82eV+q7G6O9H27AtldHbRKnoiIiIjI/7DpKnlnz55ly5Yt7N+/n8uXL3Pnzh28vLzIly8fNWrUoGHDhpQsWdJW4T0VMmqVvPvs7A3EJZq4E50ABsju6oizg4Eko+2KJa3cZEk5saScpE55saScpE55saRV8kQkLWy66EOJEiX0blImSzKacDSAt7tjimMiIiIiImJJP/4QERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWqGASERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWqGASERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWqGASERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWqGASERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWqGASERERERGxQgWTiIiIiIiIFSqYRERERERErFDBJCIiIiIiYoUKJhEREREREStUMImIiIiIiFihgklERERERMQKFUwiIiIiIiJWZJmC6fDhw5QsWdLi1/79+8199u7dS8uWLSlfvjyNGjVi69atKcaIi4tj3LhxVK9enYCAAAYNGsStW7dS9HnYGCIiIiIi8uzIMgXTmTNn8Pf359dff03xKyAgAIBz587RrVs3atWqxcaNG3nr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fHZ3d09ruCIiIs8NFUwiIv9y6NAhhg4dSrt27ejcuTO+vr4AfPTRRxw+fDhDr3X//aCkpKQUx+/du5dh17hfFN13/fp1ILlw8vDwACAoKIgqVapYnKv3lERERPRInohICkePHiUpKYk+ffqYiyWj0ciePXsAy+LmcdyfNQoNDTUfO3funEWR8zh27dqV4vPWrVsxGAxUqVKFIkWK4OPjQ0hICGXLljX/8vX1Zfr06Zw8eTLD4hAREXlWaYZJRORfypUrB8D48eNp1aoVt2/fZu3atZw+fRpIfv/oQZvgpkfVqlVxcXFhypQp9OvXj3v37jF79mw8PT0zZHyAP/74g5EjR9K0aVP++OMPZs+ezZtvvkmhQoUAGDBgAKNHj8be3p46deoQFRXF/PnzCQsLo3Tp0hkWh4iIyLNKBZOIyL9UrVqV0aNHs3z5crZv307OnDmpWrUqc+fOpVevXhw+fJhXXnklQ67l4eHBnDlzmD59Or169SJfvnz07t07xV5Nj6tXr14cP36c7t27kz17drp06ULv3r3N7W+99Rbu7u4sWbKEzz//HDc3NypWrEhwcDAFChTIsDhERESeVQbTo7x9LCIiIiIikgXoHSYRERERERErVDCJiIiIiIhYoYJJRERERETEChVMIiIiIiIiVqhgEhERERERsUIFk4iIiIiIiBUqmERERERERKxQwSQiIiIiImKFCiYRERERERErVDCJiIiIiIhYoYJJRERERETEChVMIiIiIiIiVvw/lAgrGUwcPdcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = study.trials_dataframe().query('user_attrs_trial_ran==True') #drop any pruned/erroneous trials\n", "ax = sns.scatterplot(data=data, x=\"number\", y=\"value\",hue='params_algorithm_name')\n", "ax.set(xlabel=\"Trial number\", ylabel=f\"Ojbective value\\n({default_reg_scoring})\")\n", "sns.move_legend(ax, \"upper left\", bbox_to_anchor=(1, 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown in the overview graph, `Optuna` never successfully samples/trials `ChemProp` with a compatible descriptor, as seen from it's absence in the generated plot. The pruned 8th trial is also missing due to the pruning. This highlights a limitation of combining `ChemProp` (and the associated descriptors) with other algorithms - it makes optimisation more complex, and not all combinations may be suggested. Aside from splitting ChemProp into separate trials, another mitigation strategy is to reduce the complexity of the search space, by removing some incompatible descriptors/traditional methods, to ensure ChemProp has more sampling success. Overall, this serves as a cautionary argument to split `ChemProp` trials (using `split_chemprop`=True)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pre-training and adapting ChemProp models (Transfer Learning)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Transfer learning (TL) to adapt pre-trained models on a specific (wider) dataset to a specific dataset of interest in a similar manner to [this publication](https://pubs.acs.org/doi/10.1021/acs.molpharmaceut.3c01124) can be performed in QSARtuna. This option is available for ChemProp models and employs the [original ChemProp package implementation](https://chemprop.readthedocs.io/en/latest/tutorial.html#pretraining).\n", "For example, a user can perform optimisation to pre-train a model using the following:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:22:55,736] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:22:55,738] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__e0d3a442222d4b38f3aa1434851320db': 'ReLU', 'aggregation__e0d3a442222d4b38f3aa1434851320db': 'mean', 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50, 'depth__e0d3a442222d4b38f3aa1434851320db': 3, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'features_generator__e0d3a442222d4b38f3aa1434851320db': 'none', 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db'}\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 17:23:51,502] Trial 0 finished with value: -4937.540075659691 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db', 'activation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100.0, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50.0, 'depth__e0d3a442222d4b38f3aa1434851320db': 3.0, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'ensemble_size__e0d3a442222d4b38f3aa1434851320db': 1, 'epochs__e0d3a442222d4b38f3aa1434851320db': 4, 'features_generator__e0d3a442222d4b38f3aa1434851320db': , 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2.0, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -4937.540075659691.\n" ] } ], "source": [ "from optunaz.descriptors import SmilesFromFile\n", "from optunaz.config.optconfig import ChemPropRegressor\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[SmilesFromFile.new()],\n", " algorithms=[\n", " ChemPropRegressor.new(epochs=4),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "_ = build_best(buildconfig_best(study), \"../target/pretrained.pkl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The pretrained model saved to `../target/pretrained.pkl` can now be supplied as an input for the `ChemPropRegressorPretrained` algorithm. This model can be retrained with (or adapted to) a new dataset (`../tests/data/DRD2/subset-50/test.csv`) like so:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:24:08,172] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:24:08,222] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 17:25:11,638] Trial 0 finished with value: -5114.7131239123555 and parameters: {'algorithm_name': 'ChemPropRegressorPretrained', 'ChemPropRegressorPretrained_algorithm_hash': 'dfc518a76317f23d95e5aa5a3eac77f0', 'frzn__dfc518a76317f23d95e5aa5a3eac77f0': , 'epochs__dfc518a76317f23d95e5aa5a3eac77f0': 4, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -5114.7131239123555.\n" ] } ], "source": [ "from optunaz.config.optconfig import ChemPropRegressorPretrained\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/test.csv\",\n", " ),\n", " descriptors=[SmilesFromFile.new()],\n", " algorithms=[\n", " ChemPropRegressorPretrained.new(\n", " pretrained_model='../target/pretrained.pkl',\n", " epochs=ChemPropRegressorPretrained.Parameters.ChemPropParametersEpochs(low=4,high=4))\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have the basics covered, we can now provide an example of how QSARtuna can compare the performance of local, adapted and global (no epochs for transfer learning) models within a single optimisation job in the following example:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:25:11,764] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:25:11,766] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__e0d3a442222d4b38f3aa1434851320db': 'ReLU', 'aggregation__e0d3a442222d4b38f3aa1434851320db': 'mean', 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50, 'depth__e0d3a442222d4b38f3aa1434851320db': 3, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'features_generator__e0d3a442222d4b38f3aa1434851320db': 'none', 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db'}\n", "[I 2024-10-02 17:25:40,665] Trial 0 finished with value: -5891.7552821093905 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db', 'activation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100.0, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50.0, 'depth__e0d3a442222d4b38f3aa1434851320db': 3.0, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'ensemble_size__e0d3a442222d4b38f3aa1434851320db': 1, 'epochs__e0d3a442222d4b38f3aa1434851320db': 4, 'features_generator__e0d3a442222d4b38f3aa1434851320db': , 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2.0, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -5891.7552821093905.\n", "[I 2024-10-02 17:26:17,759] Trial 1 finished with value: -5891.7552821093905 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db', 'activation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 105.0, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 60.0, 'depth__e0d3a442222d4b38f3aa1434851320db': 3.0, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'ensemble_size__e0d3a442222d4b38f3aa1434851320db': 1, 'epochs__e0d3a442222d4b38f3aa1434851320db': 4, 'features_generator__e0d3a442222d4b38f3aa1434851320db': , 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2.0, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -5891.7552821093905.\n", "[I 2024-10-02 17:26:59,666] Trial 2 finished with value: -5846.8674879655655 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db', 'activation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 14.0, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 10.0, 'depth__e0d3a442222d4b38f3aa1434851320db': 2.0, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.24, 'ensemble_size__e0d3a442222d4b38f3aa1434851320db': 1, 'epochs__e0d3a442222d4b38f3aa1434851320db': 4, 'features_generator__e0d3a442222d4b38f3aa1434851320db': , 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 1600.0, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2.0, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 900.0, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -1, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -2, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 2 with value: -5846.8674879655655.\n", "[I 2024-10-02 17:27:35,570] Trial 3 finished with value: -5890.94653501547 and parameters: {'algorithm_name': 'ChemPropRegressorPretrained', 'ChemPropRegressorPretrained_algorithm_hash': '77dfc8230317e08504ed5e643243fbc2', 'frzn__77dfc8230317e08504ed5e643243fbc2': , 'epochs__77dfc8230317e08504ed5e643243fbc2': 0, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 2 with value: -5846.8674879655655.\n", "[I 2024-10-02 17:28:04,410] Trial 4 finished with value: -5890.881210303758 and parameters: {'algorithm_name': 'ChemPropRegressorPretrained', 'ChemPropRegressorPretrained_algorithm_hash': 'dfc518a76317f23d95e5aa5a3eac77f0', 'frzn__dfc518a76317f23d95e5aa5a3eac77f0': , 'epochs__dfc518a76317f23d95e5aa5a3eac77f0': 4, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 2 with value: -5846.8674879655655.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # test.csv supplied for fair comparison\n", " test_dataset_file=\"../tests/data/DRD2/subset-50/test.csv\", # test.csv supplied for fair comparison\n", " ),\n", " descriptors=[SmilesFromFile.new()],\n", " algorithms=[\n", " ChemPropRegressor.new(epochs=4), # local\n", " ChemPropRegressorPretrained.new(\n", " pretrained_model='../target/pretrained.pkl',\n", " epochs=ChemPropRegressorPretrained.Parameters.ChemPropParametersEpochs(low=0,high=0)) # global\n", " , \n", " ChemPropRegressorPretrained.new(\n", " pretrained_model='../target/pretrained.pkl',\n", " epochs=ChemPropRegressorPretrained.Parameters.ChemPropParametersEpochs(low=4,high=4)) #adapted\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=1,\n", " n_trials=5,\n", " n_startup_trials=0,\n", " random_seed=0, # ensure all model types trialed\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "tl_study = optimize(config, study_name=\"my_study\").trials_dataframe()\n", "\n", "tl_study['epochs'] = tl_study.loc[:,tl_study.columns.str.contains('params_epochs'\n", " )].fillna(''\n", " ).astype(str\n", " ).agg(''.join, axis=1).astype(float) # merge epochs into one column\n", "\n", "tl_study.loc[~tl_study['params_ChemPropRegressor_algorithm_hash'].isna(),\n", " \"Model type\"]='Local' # Annotate the local model\n", "\n", "tl_study.loc[tl_study['params_ChemPropRegressor_algorithm_hash'].isna() \n", " & (tl_study['epochs'] == 4), \"Model type\"] = 'Adapted' # Annotate the adapted model (TL to new data)\n", "\n", "tl_study.loc[tl_study['params_ChemPropRegressor_algorithm_hash'].isna() \n", " & (tl_study['epochs'] == 0), \"Model type\"] = 'Global' # Annotate the global model (no TL)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "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7LUKJengwYOqWbNmnsfp0qWLFi9erEmTJqlfv376/ffftWzZMk2ZMqVA6gAAAACAgmRWINyyZUuev75XI0eOlIeHh/bt26eXX35Z3bp1kyT98ccf6tOnj4YMGVIgxylZsqSWLVumyMhI9e3bV+np6apfv75WrlyZvRTEc889J1dXVy1dulTz5s2Tn5+funXrpv79++cY68KFC6pTp06ex/H19dXixYs1ffp0derUSWXLltW4cePUqVOnAqkDAAAAAAqSwWQymSzZ4e+3j/6v48eP680339R7771XYBOUJJPJpIkTJ2r48OGqWLFigY59vzMas3T58vUCH9fJyUE+PiWUmHjdJm+TsfX6JNuvkfqKP1uv0dbrk2y/xsKqr3TpEjxDCKDYMOsK4dmzZ7N//dVXX6lt27bZz8j93fbt27Vz586Cm93/y8rK0tq1axUeHm53gRAAAAAACotZgXDKlCnavn27pJsvjRk2bFie/Uwmk5o2bVpws/ufsQEAAAAABcesQDh16lTt3Lkz+9bNwYMHy9/fP0cfBwcHeXp6qlGjRoUyUQAAAABAwTIrEPr5+WW/GMVgMKhVq1by9PTMvm00LS1NN27cUKlSpQpvpgAAAACAAmXxE88dOnTQ/Pnz9c9//jN7288//6wmTZpo9uzZysqyvYfOAQAAAMAWWRwIFyxYoHXr1qlDhw7Z22rVqqUxY8bo888/1+LFiwt0ggAAAACAwmHWLaN/t379ekVEROj555/P3ubt7a1evXrJyclJy5cv14ABAwp0kgAAAACAgmfxFcLExMQ81yCUpGrVqik+Pv6eJ5UXg8FQKOMCAAAAgL2yOBBWq1ZNmzdvzrNty5Ytqlq16j1PKi8sOwEAAAAABcviW0Z79uyp8ePHKykpSW3btpWvr68uX76sH374Qd98841mzpxp8SSuXLmi1NTUPF9IU7FiRTk6Ourw4cMWjwsAAAAAuD2LA2HHjh11/fp1LVq0SN999132dh8fH7366qvq2LGj2WOdOnVKERER+u23327b59ChQ5ZOEQAAAABgBosDoSR1795d3bp104kTJ5SUlCRPT09Vq1ZNDg6W3YH6xhtv6OTJkxo2bJjKly9v8f4AAAAAgPzLVyCUpOTkZJ04cUIJCQl68skndfLkST344IMWvfxl3759mj59eo4lLAAAAAAARSNfgfDdd9/V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zJmjfv36af369XJxccnVf8SIEUpNTdWyZcuUnJysSZMmKSUlRbNnz7bC7O/O0vpiYmIUGhqqefPm5dheunTpoppyvq1atUrz589XgwYN7tivuJ3DW8ytr7idw9GjR+vChQuaN2+efH19tWLFCvXt21dfffWVqlWrlqPvjRs31LdvXz3wwAP67LPP9Ndff2nSpElycHDQiBEjrFTB3VlSo3TzHD777LMaO3asFWZruaFDhyorK0sffPCBSpQoobffflu9evXSd999J3d391z9i+Nn0NIai9vn8JYbN25ozJgxSklJuWO/4ngOAeCemWBz0tPTTcHBwaZVq1Zlb7ty5Yqpbt26pvXr1+fq//PPP5uqV69uOnbsWPa2HTt2mGrUqGGKj48vkjlbwtL6TCaTqV+/fqY33nijqKZYIOLj400DBw40BQUFmdq1a2cKDw+/bd/idg5NJsvqM5mK1zk8efKkqXr16qb9+/dnb8vKyjK1bdvWNH/+/Fz9169fb3rkkUdMSUlJ2ds+++wzU0hIiCk9Pb1I5mwpS2s0mUym9u3bm5YuXVpEM7w3SUlJptGjR5tiYmKytx06dMhUvXp102+//Zarf3H8DFpao8lUvD6Hfzd37lxTz549TdWrVzd9+eWXefYpjucQAAoCt4zaoMOHD+v69etq0qRJ9jZPT0/VqlVL+/bty9V///79Klu2rAICArK3hYaGymAwKDo6ukjmbAlL65Nu/qv23+srDv788085Oztr3bp1qlev3h37FrdzKFlWn1S8zqGPj48++OAD1alTJ3ubwWCQwWBQcnJyrv779+9X7dq15eXllb2tcePGunbtmg4dOlQkc7aUpTVmZGTo5MmTeV45vB95eXlp7ty5ql69uiTp8uXLWrZsmcqXL6/AwMBc/YvjZ9DSGqXi9Tm8Zd++fVq9erVmzZp1x37F8RwCQEEgENqg+Ph4SVKFChVybC9Xrlx229+dP38+V18XFxd5e3vr3LlzhTfRfLK0vitXruj8+fPav3+/wsLC1KxZMw0ZMkQnTpwokvnmV5s2bbRgwQJVqVLlrn2L2zmULKuvuJ1DT09PtWzZMsfty5s3b9apU6fUvHnzXP3j4+NVvnz5HNvKlSsnSfft+bO0xmPHjsloNGrz5s168skn1apVK40dO1YJCQlFOe18efXVV9WkSRNt3LhR06dPl4eH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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_theme(style=\"darkgrid\")\n", "default_reg_scoring= config.settings.scoring\n", "ax = sns.scatterplot(data=tl_study, x=\"number\", y=\"value\",hue='Model type')\n", "ax.set(xlabel=\"Trial number\",ylabel=f\"Ojbective value\\n({default_reg_scoring})\")\n", "sns.move_legend(ax, \"upper right\", bbox_to_anchor=(1.6, 1), ncol=1, title=\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this toy example we do not observe a large difference between the adapted and global model types, but in a real world setting a user can build the best model from the three model types evaluated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ChemProp fingerprints (encode latent representation as descriptors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible for ChemProp to provide generate outputs in the form intended for use as a fingerprint using the [original package implementation](https://github.com/chemprop/chemprop/tree/master?tab=readme-ov-file#encode-fingerprint-latent-representation). Fingerprints are derived from the latent representation from the MPNN or penultimate FFN output layer, which can be used as a form of learned descriptor or fingerprint." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "with open(\"../target/pretrained.pkl\", \"rb\") as f:\n", " chemprop_model = pickle.load(f)\n", "\n", "ax = sns.heatmap(\n", " chemprop_model.predictor.chemprop_fingerprint(\n", " df[config.data.input_column].head(5),\n", " fingerprint_type=\"MPN\",\n", " ), # MPN specified for illustration purposes - this is the default method in QSARtuna\n", " cbar_kws={'label': 'Fingerprint value'}\n", ")\n", "ax.set(ylabel=\"Compound query\", xlabel=f\"Latent representation\\n(ChemProp descriptor/fingerprint)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output is n compounds as the input query in the rows by n latent representation features from the MPN in the columns. This output can then be used for any semi-supervise learning approach outside of QSARtuna, as required. Alternatively the last layer of the FFN can be used as so:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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UWlRVpqZ3vfll19iypQp6Ny5s9rzLrJx1U2bNsWsWbPw119/IS0tTZHeqlUrTJ06Fdu2bVMM4yIiIipNhBofJYWuri7Mzc0LJe8818x8rAMPAHz//fcf3Wf8+PEYO3YsevbsifXr16NJkyaKbf7+/tDS0spV3xsiIiIq/saMGYNFixYhISEBDg4OMDIyUtknvysI5DmYyaqDTlJSEh4+fAgjIyP4+fnlKh8zMzNs2bIFz549yzJS+/LLL9GwYUOcOHEir0UkIiIq1spiM9PMmTORkZGR5aKWmfK7gkCeg5n3O/O8Ly4uDoMHD0bt2rXzlF/16tWz3VarVi0MHTo0T/kREREVd2VlNNP75s6dW2h5q238s5mZGYYMGYL58+fnqimKiIiorJIVdQGKQJcuXQotb7VP5vLmzRt1Z0lERESlwOvXr/H999/jypUriIuLQ4UKFdCwYUP07t0bpqam+c43X2szfSgjIwMRERFYs2YNnJ2d810YIiKiskCg7DUzhYaGok+fPkhNTYWHhweqVq2K169fY/369fjhhx+we/duzXUA7t27t8rEeJmdgitXroypU6fmqyBERERlhawkjalWk4ULF6Jy5crYtGkTLC0tFemRkZEYNGgQvv32Wyxfvjxfeec5mMlq2LVEIoGxsTHs7e2hpVVkU9cQERFRMXXz5k0sXrxYKZABACsrK4waNQrTpk3Ld955Dma8vb0VPycnJ+Pt27coX748dHV1810IIiKiskRWBpuZzM3NkZCQkOW2jIwMlbUe8yJf1ShXr15F9+7dUa9ePTRp0gSurq7o0aMHLl26lO+CEBERlRUCErU9SoqRI0di8eLFuH79ulL6o0ePsHz5cowaNSrfeee5Zub69evo168fqlWrhhEjRqBixYqIiorC0aNHMWjQIGzfvh0eHh75LhARERGVPgcOHEBqaip69eoFGxsbWFlZISYmBk+ePIFMJsOGDRuwYcMGAPLuK7///nuu885zMLNs2TLUr18fmzdvhra2tiJ91KhRGDhwIFauXIktW7bkNVsiIqIyoyzOM2NjYwMbGxultGrVqsHV1bXAeec5mPn7778RHBysFMgAgJaWFvz9/TFp0qQCF4qIiKg0K0nNQ+rSsWNHeHh4FKhvTHby3GemXLlySE9Pz3Jbenp6lms3ERERUdk2evToQltvMc/BjKenJzZs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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = sns.heatmap(\n", " chemprop_model.predictor.chemprop_fingerprint(\n", " df[config.data.input_column].head(5),\n", " fingerprint_type=\"last_FFN\"), # Last FFN\n", " cbar_kws={'label': 'Fingerprint value'}\n", ")\n", "ax.set(ylabel=\"Compound query\", xlabel=f\"Latent representation\\n(ChemProp descriptor)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 5 compounds in the user query are also represented by the rows, howeever the 300 features are now derived from the last output layer of the FFN" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Probability calibration (classification)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When performing classification you often want not only to predict the class label, but also obtain a probability of the respective label. This probability gives you some kind of confidence on the prediction. Some models can give you poor estimates of the class probabilities. The `CalibratedClassifierCV` QSARtuna models allow better calibration for the probabilities of a given model.\n", "\n", "First, we should understand that well calibrated classifiers are probabilistic classifiers for which the output of the predict_proba method can be directly interpreted as a confidence level. For instance, a well calibrated (binary) classifier should classify the samples such that among the samples to which it gave a predict_proba value close to 0.8, approximately 80% actually belong to the positive class.\n", "\n", "See the [Scikit-learn documentation](https://scikit-learn.org/stable/modules/calibration.html#calibration) on the topic for more details.\n", "\n", "The available methods are `Sigmoid`, `Isotonic regression` and `VennABERS`, and a review of those calibration methods for QSAR has been performed [here](https://pubs.acs.org/doi/10.1021/acs.jcim.0c00476).\n", "\n", "we can review the effect of e.g. `sigmoid` calibration on the Random Forest algorithm by doing a calibrated run:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:28:34,653] A new study created in memory with name: calibrated_rf\n", "[I 2024-10-02 17:28:34,656] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "[I 2024-10-02 17:28:36,107] Trial 0 finished with value: 0.8353535353535354 and parameters: {'algorithm_name': 'CalibratedClassifierCVWithVA', 'CalibratedClassifierCVWithVA_algorithm_hash': 'e788dfbfc5075967acb5ddf9d971ea20', 'n_folds__e788dfbfc5075967acb5ddf9d971ea20': 5, 'max_depth__e788dfbfc5075967acb5ddf9d971ea20': 16, 'n_estimators__e788dfbfc5075967acb5ddf9d971ea20': 100, 'max_features__e788dfbfc5075967acb5ddf9d971ea20': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: 0.8353535353535354.\n" ] } ], "source": [ "from optunaz.config.optconfig import CalibratedClassifierCVWithVA, RandomForestClassifier\n", "from sklearn.calibration import calibration_curve\n", "import seaborn as sns\n", "\n", "from collections import defaultdict\n", "\n", "import pandas as pd\n", "\n", "from sklearn.metrics import (\n", " precision_score,\n", " recall_score,\n", " f1_score,\n", " brier_score_loss,\n", " log_loss,\n", " roc_auc_score,\n", ")\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-100/train.csv\"),\n", " descriptors=[ECFP.new()],\n", " algorithms=[ # the CalibratedClassifierCVWithVA is used here\n", " CalibratedClassifierCVWithVA.new(\n", " estimator=RandomForestClassifier.new(\n", " n_estimators=RandomForestClassifier.Parameters.RandomForestClassifierParametersNEstimators(\n", " low=100, high=100\n", " )\n", " ),\n", " n_folds=5,\n", " ensemble=\"True\",\n", " method=\"sigmoid\", \n", " )\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " n_startup_trials=0,\n", " n_jobs=-1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " random_seed=42,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"calibrated_rf\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " calibrated_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "followed by an uncalibrated run:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:28:37,168] A new study created in memory with name: uncalibrated_rf\n", "[I 2024-10-02 17:28:37,228] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "[I 2024-10-02 17:28:37,650] Trial 0 finished with value: 0.8185858585858585 and parameters: {'algorithm_name': 'RandomForestClassifier', 'RandomForestClassifier_algorithm_hash': '167e1e88dd2a80133e317c78f009bdc9', 'max_depth__167e1e88dd2a80133e317c78f009bdc9': 16, 'n_estimators__167e1e88dd2a80133e317c78f009bdc9': 100, 'max_features__167e1e88dd2a80133e317c78f009bdc9': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: 0.8185858585858585.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-100/train.csv\"),\n", " descriptors=[ECFP.new()],\n", " algorithms=[ # an uncalibrated RandomForestClassifier is used here\n", " RandomForestClassifier.new(\n", " n_estimators=RandomForestClassifier.Parameters.RandomForestClassifierParametersNEstimators(\n", " low=100, high=100\n", " )\n", " )\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " n_startup_trials=0,\n", " n_jobs=-1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " random_seed=42,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"uncalibrated_rf\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " uncalibrated_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sigmoid calibration assigns more conservative probability estimates compared to the default RF, as shown by the lower median:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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XZd3332XlJQUevfuHbb/G2+8EXYMVVyka5KUlMRBBx3EwoULKSgooKCggOeee46OHTty8MEHV+foddpnn31GQkICzz//PBkZGb+477Jly2jWrBmdOnUq35aVlUVMTAzLly+P+NzxEX+F9CObNm0CoFWrVmHbmzdvXv65H2vTpg1t2rQJ25aTk0NSUhI9evSoukHrkUjXBODTTz/lkUceYf78+V4fUUUiXZfVq1fTtm1bXnvtNXJycti8eTNHHXUUY8aMCXsCUMVFuiaJiYlMnTqV2267je7duxMTE0Pz5s2ZO3du+f/c6cCdeuqpnHrqqb9p382bN++zfomJiRx66KFs3Lgx4nO7ijogey9mS0xMDNveoEGD33SN0Jw5c5g7dy4jR44kNTW1SmasbyJdk927dzNy5EhGjhxJhw4dqmPEeinSdSkoKGDNmjXMmjWLG264gQcffJD4+HguueQS8vLyqmXmui7SNQmCgM8//5zMzEyeeOIJHn/8cQ477DCGDRtGQUFBtcyscIWFhfusH/z256CfMop0QPa+DfbTixKLiopo2LDhz35dEARMnz6d22+/nauuuupX/3SBfrtI1+T222+nY8eOXHTRRdUyX30V6brEx8dTUFDAfffdx4knnkjXrl257777AHj22WerfuB6INI1efnll5k7dy733HMP3bp1Iysri9mzZ7Nhwwbmz59fLTMrXFJS0n4vii8qKqJRo0YRH88o0gHZ+7Llli1bwrZv2bKFFi1a7PdrSkpKuOmmm5g9ezZjx45lxIgRVT1mvRLpmjzzzDO89957ZGZmkpmZyZAhQwA455xzmD17dtUPXE9Eui4tW7YkPj4+7K2ypKQk2rZt669LqCSRrsmyZcvo2LEjycnJ5dsOOeQQOnbsyJo1a6p2WO1Xy5Yt91m/4uJivv/+e5o3bx7x8YwiHZAjjzyS5ORkli5dWr5t586drFy58mevERo1ahSvvPIK06ZNY9CgQdU0af0R6Zq89tprvPjiiyxcuJCFCxdy++23Az9c6+WrR5Un0nXp0aMHpaWlrFixonzbnj17WLduHe3bt6+Wmeu6SNekZcuWrFmzJuxtmd27d7N+/Xrfeo6SHj16sGnTprAo/eCDDwDo1q1bxMfzQmsdkMTERC699FLuvfdeUlNTad26Nffccw8tW7bkjDPOoKysjG3btpGSkkJSUhILFixg0aJFjBo1iqysLL777rvyY+3dRwcm0jX56RPs3gtMDzvsMA499NAo3IK6KdJ16d69O8cffzyjR49m0qRJHHroocyYMYO4uDj69+8f7ZtTJ0S6Jueddx7/+Mc/GDFiBNdddx0A06dPp0GDBgwYMCDKt6Z++OmaZGRkcNxxx3H99dczYcIEdu/ezW233cZ55533s+9W/KIK/AoBKUxpaWlw9913Bz179gyOPfbYYMiQIeW/42bdunVBWlpa8MwzzwRBEASDBw8O0tLS9vvP3n104CJZk59asmSJv6eoikS6Lvn5+cH48eOD7OzsICMjIxg8eHCwatWqaI1fJ0W6Jl999VUwdOjQICsrK+jZs2cwfPhwf1aq0OjRo8N+T9H+1mTr1q3BNddcExx77LFBdnZ2MH78+GDPnj0VOl9MEARB5becJElS7eI1RZIkSRhFkiRJgFEkSZIEGEWSJEmAUSRJkgQYRZIkSYBRJEmSBBhFkuq5BQsWkJ6e7t8nJskokiRJAqNIkiQJMIok1WLjxo3jhBNOoKysLGz7HXfcQXZ2NiUlJbz++utccsklZGZmcswxx9CnTx+eeOKJnz3mZZddxmWXXRa2benSpaSnp4f9beq5ubnccMMNZGVlkZGRwcCBA1m5cmXl3kBJ1cooklRr9e/fn61bt4bFSigU4uWXX+bss8/m3Xff5eqrr+boo49m1qxZPPDAA7Rt25ZJkybxySefVPi827Zt46KLLuKzzz5j3LhxTJs2jVAoxJ/+9Ce+/vrryrhpkqIgPtoDSFJFdevWjdatW/Piiy9y/PHHAz+8qvPdd9/Rv39/PvzwQ84//3xuueWW8q/JzMwkOzubpUuXkpGRUaHzPv7443z//fc8+eSTtG7dGoDevXvTt29f7r//fmbMmHHgN05StTOKJNVaMTExnHvuucybN48JEyaQmJjISy+9RIcOHcjIyCiPnl27drF69WrWrl3LihUrACguLq7wed9//306d+5MixYtKC0tBSA2NpbevXvz/PPPH/gNkxQVRpGkWq1///48+OCDvP3225x00km89tprDBw4EPjhba7x48fz+uuvExMTQ/v27enevTsAQRBU+Jzff/89a9as4eijj97v5wsLC2nYsGGFjy8pOowiSbVax44d6dq1Ky+//DKxsbHs3LmTc889F4CRI0fyzTff8Nhjj5GZmUliYiKFhYU8/fTTv3jMn164vXv37rCPU1JSyMrKYtSoUfv9+sTExAO4RZKixQutJdV6/fv35+233+all17iuOOOo23btgAsX76cM844g+zs7PJQWbx4MfDDBdn7k5yczKZNm8K2LV++POzjrKwsVq9eTceOHenSpUv5P8899xzz588nLi6usm+ipGpgFEmq9fr27cuuXbtYtGgR/fv3L9/etWtXXnjhBZ577jmWLl3Kgw8+yJgxY4iJiaGwsHC/xzrllFPYsGEDd955J0uXLuVvf/sbCxcuDNtn0KBBhEIhBg0axKJFi3j//fcZN24cc+bMoWPHjlV5UyVVId8+k1TrpaamcuKJJ/Luu+/Sp0+f8u1Tp05l8uTJTJ48GYAOHTowceJEnn/+eZYtW7bfY/3hD39g7dq1PPvsszz11FP06NGDGTNmcPHFF5fv06JFC5566immTZvGhAkTKCoqokOHDtxxxx388Y9/rNobK6nKxAQHcrWhJElSHeHbZ5IkSRhFkiRJgFEkSZIEGEWSJEmAUSRJkgQYRZIkSYBRJEmSBBhFkiRJgFEkSZIEGEWSJEmAUSRJkgQYRZIkSQD8P3JjWt6VzKsfAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = pd.read_csv(\n", " '../tests/data/DRD2/subset-1000/train.csv'\n", " ).sample(500, random_state=123) # Load and sample test data.\n", "expected = df[config.data.response_column]\n", "input_column = df[config.data.input_column]\n", "calibrated_predicted = uncalibrated_model.predict_from_smiles(input_column)\n", "uncalibrated_predicted = calibrated_model.predict_from_smiles(input_column)\n", "\n", "cal_df=pd.DataFrame(data={\"default\":uncalibrated_predicted,\"sigmoid\":calibrated_predicted})\n", "sns.boxplot(data=cal_df.melt(),x='value',y='variable').set_ylabel('');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting the (sigmoid) calibrated predictions as a function of uncalibrated (default) values further highlights the behaviour of the probability calibration scaling:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot expected vs predicted values for the best model.\n", "import matplotlib.pyplot as plt\n", "ax = plt.scatter(calibrated_predicted, uncalibrated_predicted)\n", "lims = [expected.min(), expected.max()]\n", "plt.plot(lims, lims) # Diagonal line.\n", "plt.xlabel(f\"Calibrated {config.data.response_column}\");\n", "plt.ylabel(f\"Uncalibrated {config.data.response_column}\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now visualize how well calibrated the predicted probabilities are using calibration curves. A calibration curve, also known as a reliability diagram, uses inputs from a binary classifier and plots the average predicted probability for each bin against the fraction of positive classes, on the y-axis. See [here](https://scikit-learn.org/stable/modules/calibration.html) for more info." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9gAAAPXCAYAAADQfOOkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3RU1d7G8e+Zmk5CKAm9N+kdFKSDAoKIoChiwYpd7xWvXrx6rdeGiqgodkSKCCoggiig0psUEZDeW3pmJlPO+0ckr0gLZJKZhOezlks4c+bs30w2SZ7Z++xtmKZpIiIiIiIiIiIFYgl1ASIiIiIiIiIlgQK2iIiIiIiISBAoYIuIiIiIiIgEgQK2iIiIiIiISBAoYIuIiIiIiIgEgQK2iIiIiIiISBAoYIuIiIiIiIgEgQK2iIiIiIiISBAoYIuIiACmaYa6hEJRUl9XUdB7JyIi50oBW0REzsu6dev4xz/+QadOnWjcuDHdunXj3//+N7t37z7naw0dOpShQ4fm/b1u3bq88cYbACxdupS6deuydOnSoNX+d2PHjmX8+PF5f3/jjTeoW7duobV3rs6nngMHDnDbbbexd+/eQqkpIyODrl278scffxToOnv27KFu3bpMmzYNgGnTplG3bl327NmT72vk5zl/b+fv7+nf++CUKVN44YUXzvXlFDuvvfYa//nPf0JdhohIiaGALSIi52zChAlcc801HD16lIceeoh3332X2267jWXLljFw4EA2bdpUoOtPmjSJq6++OkjVnt1rr72Gy+XK+/vVV1/NpEmTiqz9wvDLL7+wYMGCQrv+M888Q5cuXahZs2ZQr9upUycmTZpEuXLlgnrdcuXKMWnSJDp16nTKx5944gmeeOKJvL+/9dZbpKamBrWGcHTbbbcxf/58Fi9eHOpSRERKBFuoCxARkeJl5cqVPPPMM1x33XU89thjecfbtGlDt27d6N+/P//617/yRgrPR9OmTYNQ6flLSkoiKSkppDWEsw0bNvD1118XSoAvXbo0pUuXDvp1HQ7HGftVrVq1gt5mcRAZGcmwYcN47rnn+Oqrr0JdjohIsacRbBEROSfjx48nNjaWBx988KTHSpcuzciRI+natSvZ2dkAuN1uXn75ZXr06EHDhg1p3rw5N910E7/99ttp2/jrFPHjtm7dypAhQ2jUqBHdu3fnk08+Oek5Y8aMYcCAATRu3JgxY8YAsHz5cm655RZatWpFw4YN6dKlC2+88QaBQCDveQBjxozJ+/OppmTPmjWLAQMG0KxZMy6++GJGjRpFWlpa3uNvvPEG3bt358cff6Rv3740bNiQnj17Mn369DO+nyNHjmTo0KFMnTqVzp0706xZM4YNG3bWWQBnqmfatGk8+uijAHTt2pWRI0cCsH79eoYNG0aLFi1o1qwZN954I2vWrDljO6fyzjvv0LZtW8qUKZN3rEuXLjz77LMMGzaMxo0b5334kpqayqhRo2jfvj2NGjVi0KBBZxwtPdV07ylTpjBgwACaNm1K48aN6devH7Nnzz7puatWraJ///40bNiQPn36MGvWrLzH/j5F/O/+OkW8S5cu7N27ly+//JK6deuyYcMGGjVqxCuvvHLCc1wuFy1atOCtt9467evZtm0bd999N61bt6ZVq1bcfvvtedPqT3f7w9+nq5/qvW3RosVJU9h9Ph9t27bl6aefPuG96927Nw0bNqRTp0688cYb+P3+E57Xp08ftmzZwo8//nja1yEiIvmjgC0iIvlmmiY//fQT7dq1IzIy8pTnXH755YwYMYKoqCgA/vnPf/LFF19w22238f777/Poo4+yZcsWHnrooXNaROq5556jadOmvPXWW3To0IGnn36ajz766IRz3n77bfr27cvrr79Oz5492bRpEzfeeCPx8fG8+uqrvPXWW7Rs2ZIxY8bkBbTjU8EHDhx42mnhY8eO5cEHH6Rp06a8/vrrjBgxgjlz5jB06FDcbnfeeYcPH+app57ihhtuYNy4cVSqVIlHHnnkrPcp//bbb7z66qvcfffdvPjii6SkpHD99ddz6NCh86qnU6dO3HnnnUDuBwd33XUXmZmZDB8+nISEBN544w1effVVXC4Xt9xyCxkZGfn7IgBZWVnMnz+fHj16nPTYhAkTaNSoEWPHjmXgwIF4PB6GDRvG999/zwMPPMCYMWNISkpi+PDh+Z6SPGHCBEaNGkW3bt145513eOmll3A4HDz88MMcOHDghHNHjRrFZZddxtixY6lduzYPPPAA8+bNy/drO27MmDGULVuWSy+9lEmTJlG7dm26devG119/fUKfnTt3LtnZ2fTv3/+U1zl48CCDBw9mx44d/Oc//+HFF1/kyJEjDBs27Jynn//9ve3ZsyezZ88+oZ6ff/6ZlJQU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7FRat27N/v37SUxMpFGjRnn//fzzz7z33nt5txycTkpKCtu3b2fgwIE0atQImy13XGDhwoXAycH0r30kEAjw7bff0qRJk3O61/m4U/WJihUr0q5dOz7++GN+++03BgwYcMZrtGzZkrVr154Qso8ePcrw4cNZsGABMTExwInvZVpa2lkXxTuuZs2aXHTRRcycOZMFCxZwxRVX5D3WpEkT7HY7Bw8ePOG9t9lsvPLKKyes0n68hjJlyuR7JoOIiJyaRrBFROScNG3alPvuu4/Ro0fzxx9/0L9/fxISEtiyZQvjx4/H4/Hkhe+LLroIm83Giy++yM0330xOTg7Tpk3LC0Jnuzf5rz755BOio6Np0KABM2fOZNGiRfzvf//LC+2n0rhxY2bPns3EiROpWbMmmzZt4q233sIwjBPuNY2Li2PVqlUsX778hHuhAeLj47ntttt48803sdvtdO7cmT179vDaa69Rq1atM96Dm1+maXLHHXfwwAMPYLVaGTNmDKVKlTphq6Zzref4CObcuXPp2LEjzZs3JxAIMGLECG677Taio6OZPXs2GRkZp1wR/HRatmxJREQEK1eupEGDBmc8d8CAAXz66afcdNNN3HHHHSQnJ/PLL7/w7rvvcv3112O328/4/MTERCpWrMiECRNISkoiLi6ORYsW8fHHHwOcdL/w6NGj8fv9JCcnM3HiRLZv384HH3yQ79f2V3FxcWzcuJFly5bRuHHjvJA+cOBAHnzwQWrWrJm3cNvp3HjjjUyfPp3hw4dz++23Y7fbeeutt0hKSqJv377ExMSQnJzMm2++SUxMDIZh8M4775zTFO1+/frxwgsvYLPZ6NWrV97xhIQEhg8fzmuvvUZmZiZt2rTh4MGDvPbaaxiGkTfN/rhVq1bRoUOHc3iHRETkVBSwRUTknN155500aNCACRMm8Oyzz5KWlkZycjKdOnXKC1IAVatW5eWXX2bMmDHceeedlCpViqZNm/LJJ58wdOhQVqxYcdJ+06fz9NNP89577zF69GgqV67MK6+8csIK0qcycuRIvF4vo0ePJicnh0qVKnHnnXeydetW5s+fj9/vx2q1cscddzB27FhuvfXWE/ZOPu6ee+6hTJkyfPrpp0yaNIn4+Hh69erF/ffff9K9seejQoUK3HzzzTz77LO4XC7at2/PW2+9ddrpuvmpp02bNrRv356X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IP0w7p8+wr9nPXB8662bsJarGeLKCtfw4Xfw228buOKK/qEupcRQwBYRERERkUKXlpXDFwv+CHUZJzADfrzr/9x6y3d8661+OJpcViK33po3bw4+n49evXoDUK9efWbM+BabreS91lDROykiIiIiIoUmYJosWruPKT/8QbbHF+py8viP7Pxz660dAFiT6xHR4UYs8SVv6y2A+fPn8fDD9xETE0uLFq0oW7YcgMJ1kOndFBERERGRQrH3SBYff7uJLXvSAEgqHcWBY9khrSl3663peNfNyd16yxGFs+1g7HU7luiFvTp27ESTJs1o3botcXEldyX0UFPAFhERERGRoMrx+vlm8Q5mL9mFP2DitFu5skN1mtYpw7/fXXbWfbBjIgtnoS3fng24F334t623hmCJii+U9kJp584dfPHFZO6//2EsFgs2m4333/8Uq9Ua6tJKNAVsEREREREJmo07jvHxnN85lOICoGmtMlzXvU7evtbP3taWTJf3tM+PibQHfQ/s3K23Pse35Wfgz623LrkBW9WmQW0nXLhcLoYNu4bU1FSqVKnKwIGDARSui4ACtoiIiIiIFFh6dg6Tvt/K4g0HAIiPcXBd9zo0r1P2hKnXiaUigh6gT+eUW29d1BVnq6tK7NZbAJGRkQwffic//bSAdu0uDnU5FxQFbBEREREROW+mafLTuv1Mnr+VLLcPA+jSvBJXdqxBVETo4kYg4zDuRX/ZeiuhEhEdb8RavlbIaiosLpeLcePG0q/flVSrVgOAIUOGct11N5To+8rDkQK2iIiIiIicl/1Hs/j429/5fXcqAJXKxjDssrrUrBC6RbRyt96ai2fFtP/feqvZFTiaXI5hLZnx58UXn2XatCmsXbua8eM/wTAMLBZLqMu6IJXMHiYiIiIiIoXG6wswa8lOZi7egc9v4rBZ6NehOt1bVsZmDV2wO3nrrbpEdLipxG69ddzw4XewatUKbrjhZo1Yh5gCtoiIiIiI5Nvvu1L46Nvf87bbalijNEN71KVsfOjuaTZ9HnJWziDn12//tvVWBwyj5I3kzp8/l0OHDnLNNdcDUKFCRaZNm6lR6zCggC0iIiIiImeV6fIyef5Wflq3H4C4aAdDutWmVb1yIR01PXnrrVY4219XIrfeAli+fCkPPngPdrudtm3b591zrXAdHhSwRURERETktEzTZMmGg0z8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IA6HI095dnY2wcHBxYrFV/+oCuOfHamyK+gvCbfbA3rfSoX6pPgT9UfxN+qT4k8K0x/d7vzn7RqGAa68f4vnW9d5/oVoz9QznAUcKLPaSnTtoYCAAKKjfTN67k8xlGUcv/++lc2bN/J///cJtWvXA2DMmHGMGjWM++9/iGrVqud73PLlS3jttVeIicl/dH3Nmu+54oqrad/+EgCGDn2EZcs+448/tnLppT3OGk9xbiKd4VcJ9pnp3kePHqVOnTre8qNHj9KkSZM89WNiYli1alWuMofDwalTp6hePf8fhoiIiIiIFI9hGJxe+iyepF0l2m7msmcLXNdSoxFBvZ8oVJL9888/8tZbr7Nv3x6CgoLp2LEzw4aNJDw8nE2bNjB8+AMsXLiU2NiaZGVlMWvWDL79dhVOp4sePa4gOzsbq9XKuHETWbFiGe+99za33noH778/j5SUU3Ts2JlHHhnNnDmvsGbNd4SGhnHvvffTq1cfANxuN5988hGfffYpSUmJ1KgRw80330bfvjcA5IkhPT2dmTOn8cMP32O1Whk48O5CvJv/c+LEcUaNGs7mzRuIjq7KLbcMZMCAmwC819GxYxe++GIZbdq048Ybb80Vh9PpZO7c11i58gsyMtKpX78hgwc/4E1g82uja9fuTJmS/yh0TEwsn3yyjC1bNhMdXZX69Rt4E9vWrdtiMpnYuvVXLr+8Z77Hr179Lffd9yDt21/CTTf1yfN6VFQUP/20hhtuuJnq1WuwZMlibDYbF1zQuEjvX2H4VYLdtGlTQkNDWbdunTfBTk1NZdu2bQwcODBP/fj4eF588UX2799P3bp1Afjll18AaNu2bdkFLn7BFBgGloDzPttjCgwru6BEREREKigT5WvnmlOnTjFu3GiGDh1Bp05dOHo0iWeemcCcOS/z+ONP5ak/efIEdu7czsSJU4iOjmbevLl8//03XH31dd46iYkJfPvt17z44sskJSXx+OMj2bhxA3fddQ93330v//d/C5g+fSpdu15KREQks2bN5MsvP2fEiDFceGEz1q79iZdfno7D4eCmm27LE8P48Y+TlJTI88/PIDg4mFmzZpKYWPi1ppYt+4z77vsXDz88il9++ZlXXplO1arVuPTSywA4fPgQx48fY968D8jOzubUqeRcxz/77ET279/L+PHPUK1adX78cTVjxjzClCkv0qlT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VnHkyKEi75HtD6xWs08/H8/Xx6tUCcFiKdjT1XoGW0RERERE5G9sNhsvvfQ806Y9x759ezl48ACvvfYqSUmJXHbZFb4Oz8vj8fDxxx/Srdtl568sZUJTxEVERERERP7GZDIxbdpM5sx5hQceGITb7aZx46a89NIs6tat5+vwvMxmM6+++gYBBdwGTUqfEmwREREREZF/aNSoCTNmzPZ1GOel5Nq/aIq4iIiIiIiISAlQgi0iIiIiIueltZGloirJvq0EW0REREREzurM3sMOR7aPIxEpHWf6tsVS/Ceo9Qy2iIiIiIicldlsISgolPT0nP2XbTY7JpPJx1FJReLxmHC7y36GhGEYOBzZpKcnExQUmu9+6IWlBFtERERERM4pPLwKgDfJFilJZrMZj8d3+2AHBYV6+3hxKcEWEREREZFzMplMREREExYWhdvt8nU4UoFYLCYiIoJJSTntk1Fsi8VaIiPXZyjBFhERERGRAjGbzZjNNl+HIRWI1WomMDCQzEw3LpfvRrFLihY5ExERERERESkBSrBFRERERERESoASbBEREREREZESoARbREREREREpASYDMMo+6Xa/JxhGHg8/v22WCxm3O7yvwiAVBzqk+JP1B/F36hPij9RfxR/4+990mw2FXjvdyXYIiIiIiIiIiVAU8RFRERERERESoASbBEREREREZESoARbREREREREpAQowRYREREREREpAUqwRUREREREREqAEmwRERERERGREqAEW0RERERERKQEKMEWERERERERKQFKsEVERERERERKgBJsERERERERkRKgBFtERERERESkBCjBFhERERERESkBSrBFRERERERESoASbD/k8Xh45ZVX6Nq1K61ateK+++7j4MGDZ62fnJzMqFGjiI+Pp3379kyaNInMzMwyjFgqusL2yb/++oshQ4bQoUMHOnbsyPDhwzly5EgZRiwVWWH7498tXbqUJk2acOjQoVKOUiqTwvZJp9PJ9OnTvfUHDhzIn3/+WYYRS0VW2P544sQJRo0axSWXXEKHDh0YMWIESUlJZRixVCZvvPEGd9xxxznrlPfcRgm2H5ozZw4ffvghzzzzDB999BEej4fBgwfjcDjyrT98+HD279/Pu+++y8svv8z333/PxIkTyzZoqdAK0yeTk5MZNGgQgYGBzJ8/n7lz53Ly5EkGDx5Mdna2D6KXiqawn5FnHD58mKeffrqMopTKpLB9cuLEiSxatIgpU6bw6aefUqVKFe677z7S0tLKOHKpiArbHx955BGOHDnCO++8wzvvvMORI0d46KGHyjhqqQw++OADZs6ced565T63McSvZGdnG61btzY++OADb1lKSorRokULY9myZXnqb9q0yWjcuLGxa9cub9maNWuMJk2aGImJiWUSs1Rshe2TH3/8sdG6dWsjMzPTW3bkyBGjcePGxk8//VQmMUvFVdj+eIbb7TZuvfVW48477zQaN25sHDx4sCzClUqgsH3ywIEDRpMmTYxvv/02V/3LLrtMn5FSbIXtjykpKUbjxo2Nr7/+2lu2atUqo3HjxkZycnJZhCyVQGJionH//fcbrVq1Mq6++mpj4MCBZ61bEXIbjWD7me3bt5ORkUHHjh29ZeHh4TRr1oz169fnqb9hwwaqVatGw4YNvWXt27fHZDKxcePGMolZKrbC9smOHTsyZ84cAgMDvWVmc85HTWpqaukHLBVaYfvjGa+//jpOp5P777+/LMKUSqSwffLHH38kLCyMbt265ar/zTff5GpDpCgK2x8DAwMJCQnhs88+Iz09nfT0dJYsWUL9+vUJDw8vy9ClAvvjjz8ICAhg6dKltGzZ8px1K0JuY/V1AJJbYmIiALGxsbnKq1ev7n3t75KSkvLUtdlsREZGkpCQUHqBSqVR2D4ZFxdHXFxcrrI333yTwMBA4uPjSy9QqRQK2x8Btm7dyrx58/jkk0/0XKGUuML2yb1791K7dm1WrlzJm2++SVJSEs2aNePxxx/P9QelSFEUtj/abDamTp3K+PHjadeuHSaTierVq7NgwQLvzXGR4urRowc9evQoUN2KkNvoX46fOfMAv81my1Vut9vzfX41MzMzT91z1RcprML2yX+aP38+CxYs4NFHH6VKlSqlEqNUHoXtj6dPn+bRRx/l0UcfpV69emURolQyhe2T6enp7N+/nzlz5jBy5Ehee+01rFYrt912GydOnCiTmKXiKmx/NAyDP//8k9atW/PBBx/w3nvvUbNmTR588EHS09PLJGaRv6sIuY0SbD9zZlrtPxeiyM7OJigoKN/6+S1akZ2dTXBwcOkEKZVKYfvkGYZhMHPmTCZPnsy//vWv864YKVIQhe2PkydPpn79+txyyy1lEp9UPoXtk1arlfT0dGbMmEGXLl1o0aIFM2bMAGDx4sWlH7BUaIXtj1988QULFixg2rRptG3blvbt2/P6669z+PBhPvnkkzKJWeTvKkJuowTbz5yZEnH06NFc5UePHqVGjRp56sfExOSp63A4OHXqFNWrVy+9QKXSKGyfhJwtaEaPHs3rr7/O2LFjeeSRR0o7TKkkCtsfP/30U3766Sdat25N69atue+++wDo1asXr7/+eukHLBVeUX5vW63WXNPBAwMDqV27traPk2IrbH/csGED9evXJzQ01FsWERFB/fr12b9/f+kGK5KPipDbKMH2M02bNiU0NJR169Z5y1JTU9m2bVu+z6/Gx8eTmJiY60Pwl19+AaBt27alH7BUeIXtkwBjxozhyy+/ZPr06dx9991lFKlUBoXtjytXrmT58uV89tlnfPbZZ0yePBnIWRdAo9pSEorye9vlcvHbb795y7Kysjh48CB169Ytk5il4ipsf4yJiWH//v25pt6ePn2aQ4cO6bEa8YmKkNtokTM/Y7PZGDhwIC+++CJVqlShVq1aTJs2jZiYGHr27Inb7ebkyZOEhYURGBhIy5YtadOmDSNGjGDixImcPn2a8ePH07dv37OOLooURmH75KJFi1ixYgVjxoyhffv2HDt2zNvWmToiRVXY/vjPhOXMIj81a9YkMjLSB1cgFU1h+2S7du3o1KkTjz32GE8//TSRkZG88sorWCwW+vTp4+vLkXKusP2xb9++vP322zzyyCM8/PDDAMycORO73U7//v19fDVSGVTE3EYj2H5o+PDh3HDDDTz55JPceuutWCwW3n77bQICAkhISKBLly6sWLECAJPJxKxZs4iLi+Ouu+7ikUceoVu3buVrM3bxe4Xpk8uXLwfghRdeoEuXLrm+ztQRKY7C9EeRslDYPvnqq6/Svn17hg4dyg033EB6ejrvv/++FoKUElGY/li9enU+/PBDDMPgrrvuYtCgQQQEBPDhhx8SFhbm4yuRyqAi5jYmwzAMXwchIiIiIiIiUt5pBFtERERERESkBCjBFhERERERESkBSrBFRERERERESoASbBEREREREZESoARbREREREREpAQowRYREREREREpAUqwRUREREREREqAEmwRERERERGREqAEW0RERERERKQEKMEWERERERERKQFKsEVERERERERKgBJsERERERERkRKgBFtERERERESkBCjB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wwZJ0quvvqomTZq4/CvYBiiJ4oxHoDQUd0xOnz5dKSkp6t+/vx5//HFlZ2dryZIlXAgSpijOeCxXrpxWrFghwzDUtWtXdevWTWXKlNGKFSsUGRlp8WcCf+CL3cZmGIZhdQgAAAAAALwdZ7ABAAAAADABBRsAAAAAABNQsAEAAAAAMAEFGwAAAAAAE1CwAQAAAAAwAQUbAAAAAAATULABAAAAADABBRsAAJjOMAyrIwAAUOoo2AAAn9e5c2dVrVpV7du3v+Y2gwcPVtWqVTV8+PBSTOaZqlatqunTp0uSjh49qqpVq2rt2rVFvv+sWbO0YMECU7J07txZnTt3NuWxPOF5AAC+jYINAPALdrtd//jHP5SWllZoXU5OjrZt22ZBKs9Xrlw5rVq1Ss2aNSvyfV5//XWdP3/++oUCAMBDUbABAH6hevXqCg4O1ubNmwut27Ztm0JDQxUfH29BMs8WFBSkunXrqmzZslZHAQDA41GwAQB+ISwsTPfcc89VC/amTZt03333KTAw0GW5w+HQvHnzdO+996pmzZq67777tHTpUpdt8vPzNW/ePD344IOqXbu26tatq/bt22vXrl3ObaZPn657771XH330kdq2bet8rHXr1v1h5uHDh6tz585666231Lx5c9WrV09du3bVt99+69xm7dq1ql69ulavXq277rpLKSkpOnjwoCRp69atevTRR1WrVi3dddddevnll5WTk+PyHLt379aTTz6pOnXq6L777tMnn3zisv5qU8R//PFH9e/fXykpKUpOTlZqaqr+9a9/Sbo8vVySZsyY4fy/JH3//fdKTU1V/fr1Vb9+ffXr109Hjhxxea7jx4+rf//+atCgge666y4tWrToD/dPbm6uGjRooFdeecVl+aVLl9SoUSO9/PLLkqQLFy5o8uTJatWqlWrWrKn69eurW7duOnDgwFUf91rT4ocPH64WLVq4LCvKPgYA+A8KNgDAb7Ru3brQNPHs7Gzt2LFDDz74YKHtx4wZo2nTpumhhx7SnDlzdP/992v8+PGaOXOmc5tJkyZp1qxZevLJJzV//ny99NJLyszM1MCBA12mSf/yyy968cUX1aVLF82bN0+JiYkaNmyYs5hey4EDBzRlyhT1799fEydOVEZGhjp16qT09HTnNvn5+Vq4cKHGjRunESNGqEqVKlq/fr369eunW2+9VTNn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.calibration import calibration_curve\n", "\n", "plt.figure(figsize=(10, 10))\n", "ax1 = plt.subplot2grid((3, 1), (0, 0), rowspan=2)\n", "ax2 = plt.subplot2grid((3, 1), (2, 0))\n", "\n", "ax1.plot([0, 1], [0, 1], \"k:\", label=\"Perfectly calibrated\")\n", "for pred, name in [(uncalibrated_predicted, 'default'),\n", " (calibrated_predicted, 'sigmoid')]:\n", "\n", " fraction_of_positives, mean_predicted_value = \\\n", " calibration_curve(expected, pred, n_bins=10)\n", " \n", " brier=brier_score_loss(expected,pred)\n", "\n", " ax1.plot(mean_predicted_value, fraction_of_positives, \"s-\",\n", " label=\"%s, brier=%.2f\" % (name, brier))\n", "\n", " ax2.hist(pred, range=(0, 1), bins=10, label=name,\n", " histtype=\"step\", lw=2)\n", "\n", "ax1.set_ylabel(\"Fraction of positives\")\n", "ax1.set_ylim([-0.05, 1.05])\n", "ax1.legend(loc=\"lower right\")\n", "ax1.set_title('Calibration plots (reliability curve)')\n", "\n", "ax2.set_xlabel(\"Mean predicted value\")\n", "ax2.set_ylabel(\"Count\")\n", "ax2.legend(loc=\"upper center\", ncol=2)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The diagonal line on the calibration (scatter) plot indicates the situation when a classifier is perfectly calibrationed, when the proportion of active instances annotated by the model are perfectly captured by the probability generated by the model. Deviation above this line indicates when a classifier is under-confident, since the proportion of actives obtaining that score is higher than the score itself, and vice-versa, lines below indicate over-confident estimators, when the proportion of actives obtaining a given score is lower.\n", "\n", "Brier score loss (a metric composed of calibration term and refinement term) is one way to capture calibration calibration improvement (this is recorded in the legend above). Notice that this metric does not significantly alter the prediction accuracy measures (precision, recall and F1 score) as shown in the cell below. This is because calibration should not significantly change prediction probabilities at the location of the decision threshold (at x = 0.5 on the graph). Calibration should however, make the predicted probabilities more accurate and thus more useful for making allocation decisions under uncertainty." ] }, { "cell_type": "code", "execution_count": 53, "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", "
Brier lossLog lossPrecisionRecallF1Roc auc
calibration
yes0.1847050.5471290.8305650.7440480.7849290.716536
no0.1752970.5294740.8112090.8184520.8148150.714104
\n", "
" ], "text/plain": [ " Brier loss Log loss Precision Recall F1 Roc auc \n", "calibration \n", "yes 0.184705 0.547129 0.830565 0.744048 0.784929 0.716536\n", "no 0.175297 0.529474 0.811209 0.818452 0.814815 0.714104" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from collections import defaultdict\n", "\n", "import pandas as pd\n", "\n", "from sklearn.metrics import (\n", " precision_score,\n", " recall_score,\n", " f1_score,\n", " brier_score_loss,\n", " log_loss,\n", " roc_auc_score,\n", ")\n", "\n", "scores = defaultdict(list)\n", "for i, (name, y_prob) in enumerate([('yes',calibrated_predicted), ('no',uncalibrated_predicted)]):\n", " \n", " y_pred = y_prob > 0.5\n", " scores[\"calibration\"].append(name)\n", "\n", " for metric in [brier_score_loss, log_loss]:\n", " score_name = metric.__name__.replace(\"_\", \" \").replace(\"score\", \"\").capitalize()\n", " scores[score_name].append(metric(expected, y_prob))\n", "\n", " for metric in [precision_score, recall_score, f1_score, roc_auc_score]:\n", " score_name = metric.__name__.replace(\"_\", \" \").replace(\"score\", \"\").capitalize()\n", " scores[score_name].append(metric(expected, y_pred))\n", "\n", " score_df = pd.DataFrame(scores).set_index(\"calibration\")\n", " score_df.round(decimals=3)\n", "\n", "score_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Uncertainty estimation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna offers three different ways to calculate uncertainty estimates and they are returned along with the normal predictions in the format `[[predictions], [uncertainties]]`. The currently implemented methods are:\n", "\n", "1. VennABERS calibration (a probability calibration covered in the section above).\n", "2. Ensemble uncertainty (ChemProp models trained with random initialisations).\n", "3. MAPIE (uncertainty for regression)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### VennABERS uncertainty" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "VennABERS (VA) uncertainty is implemented as in the section \"Uses for the Multipoint Probabilities from the VA Predictors\" from https://pubs.acs.org/doi/10.1021/acs.jcim.0c00476. This is based on the margin between the upper (p1) and lower (p0) probability bounary, output by the VennABERS algorithm. More details on this can be found in [this](https://cml.rhul.ac.uk/people/ptocca/HomePage/Toccaceli_CP___Venn_Tutorial.pdf) tutorial" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:28:39,211] A new study created in memory with name: calibrated_rf\n", "[I 2024-10-02 17:28:39,260] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "[I 2024-10-02 17:28:40,275] Trial 0 finished with value: 0.8213131313131313 and parameters: {'algorithm_name': 'CalibratedClassifierCVWithVA', 'CalibratedClassifierCVWithVA_algorithm_hash': '79765fbec1586f3c917ff30de274fdb4', 'n_folds__79765fbec1586f3c917ff30de274fdb4': 5, 'max_depth__79765fbec1586f3c917ff30de274fdb4': 16, 'n_estimators__79765fbec1586f3c917ff30de274fdb4': 100, 'max_features__79765fbec1586f3c917ff30de274fdb4': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: 0.8213131313131313.\n" ] } ], "source": [ "from optunaz.config.optconfig import CalibratedClassifierCVWithVA, RandomForestClassifier\n", "from sklearn.calibration import calibration_curve\n", "import seaborn as sns\n", "\n", "from collections import defaultdict\n", "\n", "import pandas as pd\n", "\n", "from sklearn.metrics import (\n", " precision_score,\n", " recall_score,\n", " f1_score,\n", " brier_score_loss,\n", " log_loss,\n", " roc_auc_score,\n", ")\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-100/train.csv\"),\n", " descriptors=[ECFP.new()],\n", " algorithms=[ # the CalibratedClassifierCVWithVA is used here\n", " CalibratedClassifierCVWithVA.new(\n", " estimator=RandomForestClassifier.new(\n", " n_estimators=RandomForestClassifier.Parameters.RandomForestClassifierParametersNEstimators(\n", " low=100, high=100\n", " )\n", " ),\n", " n_folds=5,\n", " ensemble=\"True\",\n", " method=\"vennabers\", \n", " )\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " n_startup_trials=0,\n", " n_jobs=-1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " random_seed=42,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"calibrated_rf\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " calibrated_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "VennABERS uncertainty can now be obtained by running inference and supplying `uncert=True`." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "from rdkit.Chem import AllChem\n", "from rdkit.Chem import PandasTools\n", "from rdkit import RDConfig\n", "from rdkit import DataStructs\n", "\n", "# get training data, mols & fingerprints\n", "train_df = pd.read_csv('../tests/data/DRD2/subset-100/train.csv') # Load test data.\n", "PandasTools.AddMoleculeColumnToFrame(train_df,'canonical','molecule',includeFingerprints=True)\n", "train_df[\"fp\"]=train_df[\"molecule\"].apply(lambda x: AllChem.GetMorganFingerprint(x,2 ))\n", "\n", "# get test data, mols & fingerprints and calculate the nn to training set\n", "df = pd.read_csv('../tests/data/DRD2/subset-1000/train.csv') # Load test data.\n", "PandasTools.AddMoleculeColumnToFrame(df,'canonical','molecule',includeFingerprints=True)\n", "df[\"fp\"]=df[\"molecule\"].apply(lambda x: AllChem.GetMorganFingerprint(x,2 ))\n", "df['nn']=df[\"fp\"].apply(lambda x: max(DataStructs.BulkTanimotoSimilarity(x,[i for i in train_df[\"fp\"]])))\n", "\n", "# add uncertainty & prediction to the df \n", "df['va_pred'], df['va_uncert'] = calibrated_model.predict_from_smiles(df[config.data.input_column], uncert=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible to relate the uncertainty to the nearest neighbor (nn) to look for distance-to-model (DTM) effect and to the probabilistic output from the RF model scaled by VA:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9gAAAHkCAYAAADFDYeOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eZxc1X3njX/O3Wrt6k2tbqGlW2IREjKLbQQCY7DBgEFJCHaw8zweGJ7YiWfsEE8CM/697GRek3gmfgYP9jiOlxDswc5jBxscLwgDwRhiAxIYzCohC6RuLagXdXXXXnWXc35/nHura+2uqq7qqu7+vl8vgVR169a559463/PdmRBCgCAIgiAIgiAIgiCIRaG0ewAEQRAEQRAEQRAEsRIgBZsgCIIgCIIgCIIgmgAp2ARBEARBEARBEATRBEjBJgiCIAiCIAiCIIgmQAo2QRAEQRAEQRAEQTQBUrAJgiAIgiAIgiAIogmQgk0QBEEQBEEQBEEQTYAUbIIgCIIgCIIgCIJoAqRgEwRBEARBEARBEEQT0No9gOWCEAKci3YPoy0oClu1114rNEcLQ3O0MDRHC0NztDD1zpGiMDDGmvLdK01W0vNWDs1JOTQnlaF5KYfmpJzlMif1yEpSsGuEc4FoNNXuYSw5mqagtzeEeDwN2+btHk5HQnO0MDRHC0NztDA0RwvTyBz19YWgqs1RsFeSrKTnrRyak3JoTipD81IOzUk5y2lO6pGVFCJOEARBEARBEARBEE2AFGyCIAiCIAiCIAiCaAKkYBMEQRAEQRAEQRBEEyAFmyAIgiAIgiAIgiCaACnYBEEQBEEQBEEQBNEESMEmCIIgCIIgCIIgiCZACjZBEARBEARBEARBNAFSsAmCIAiCIAiCIAiiCZCCTRAEQRAEQRAEQRBNgBRsgiAIgiAIgiAIgmgCpGATBEEQBEEQBEEQRBMgBZsgCIIgCIIgCIIgmoDW7gEQBNF8uBA4OpFAMm0hHNSxabALCmPtHhZBEASxiiBZRBDEaoQUbIJYYRwYjWLP3jGMR9NwHAFVZRjqC+L6i4exbaSv3cMjCIIgVgEkiwiCWK1QiDhBrCAOjEZx7yMHcXwqCZ+uIhI24NNVHJ9K4d5HDuLAaLTdQyQIgiBWOCSLCIJYzZCCTRArBC4E9uwdQ9a00RP2wdBVKIzB0FX0hA1kTQd79o6BC9HuoRIEQRArFJJFBEGsdkjBJogVwtGJBMajaYT8OlhJjhtjDCG/hvFoGkcnEm0aIUEQBLHSIVlEEMRqhxRsglghJNMWHEdA0yr/rDVNgeMIJNPWEo+MIAiCWC2QLCIIYrVDCjZBrBDCQR2qymDbvOL7ts2hqgzhoL7EIyMIgiBWCySLCIJY7ZCCTRArhE2DXRjqCyKVtSFKctuEEEhlbQz1BbFpsKtNIyQIgiBWOiSLCIJY7bRdweac48tf/jIuu+wynH/++fjYxz6GY8eO1fTZn/zkJ9i6dSuOHz9e9PrVV1+NrVu3Fv359Kc/3YrhE0THoDCG6y8eht9QMZs0YVoOuBAwLQezSRN+Q8X1Fw9TD1KCIAiiZZAsIghitdP2Pthf/epX8d3vfhef//znMTQ0hDvvvBMf/ehH8dOf/hSGYVT93IkTJ/DXf/3XZa+n02kcO3YM3/jGN3DOOefkX/f7/S0ZP0F0EttG+nDLNVvzvUfTWRuqyrBhIES9RwmCIIglgWQRQRCrmbYq2KZp4pvf/CZuv/12XHHFFQCAL37xi7jsssvw6KOPYvfu3RU/xznHHXfcgXPOOQd79+4teu+NN94A5xwXXHABuru7W30JBNFxbBvpw9bhXhydSCCZthAO6tg02EXeAoIgCGLJIFlEEMRqpa0h4q+//jpSqRR27dqVfy0SiWD79u147rnnqn7u61//OizLwp/8yZ+UvXfw4EGsWbOGlGtiVaMwhpGhCHZs6cfIUIQ2NARBEMSSQ7KIIIjVSFs92OPj4wCAdevWFb2+du3a/HulvPzyy/jmN7+J+++/HxMTE2XvHzx4EMFgELfddhteeOEF9Pb24gMf+ABuvvlmKMri7AnVWk6sZFRVKfo/UQ7N0cLQHC0MzdHC0BwtTCfM0UqRlZ0wl50GzUk5NCeVoXkph+aknJU6J21VsDOZDACU5Vr7fD7EYrGy49PpNG6//XbcfvvtGBkZqahgHzp0CPF4HNdccw0+8YlP4Pnnn8edd96JWCyGP/uzP2t4rIrC0Nsbavjzy51IJNDuIXQ8NEcLQ3O0MDRHC0NztDDtmqOVKCvpeSuH5qQcmpPK0LyUQ3NSzkqbk7Yq2F7hMdM0i4qQ5XI5BALlE/25z30Omzdvxoc//OGq57z77ruRy+XQ1SXbP2zduhXJZBJf+9rX8Kd/+qcNe7E5F4jH0w19djmjqgoikQDi8Qwcp3JPy9UOzdHC0BwtDM3RwtAcLUwjcxSJBJrmPVhJspKet3JoTsqhOakMzUs5NCflLKc5qUdWtlXB9kLDJycnsWnTpvzrk5OT2Lp1a9nxDzzwAAzDwAUXXAAAcBwHALB79258/OMfx8c//nEYhlHmET/rrLOQTqcRi8XQ29vb8Hhtu7NvfCtxHL6qr78WaI4WhuZoYWiOFobmaGHaOUcr7d7Q81YOzUk5NCeVoXkph+aknJU2J21VsM8++2yEw2Hs27cvr2DH43Hs378fH/nIR8qOf/TRR4v+/dJLL+GOO+7AP/zDP+Css86CEALve9/7cMMNN+CTn/xk/rhXXnkFAwMDi1KuCYIgCIIgCIIgCGI+2qpgG4aBj3zkI/jCF76Avr4+rF+/HnfeeSeGhoZw9dVXw3EcRKNRdHV1we/3Y3h4uOjzXiG00047DT09PQCA973vfbjnnnuwZcsW7NixA8888wz+8R//EZ/5zGeW+vKIFQQXglqNEARBEKuOQvnX3eVDd3ew3UMiCILoaNqqYAPAbbfdBtu28dnPfhbZbBYXXngh7rnnHui6juPHj+PKK6/E3/7t3+LGG2+s6Xx/8Rd/gXA4jLvuugvj4+PYsGEDPvOZz+Cmm25q8ZUQK5UDo1Hs2TuG8WgajiOgqgxDfUFcf/Ewto30tXt4BEEQBNESSuWfpjJsHDqCay/ciLM29rR7eARBEB0JE0KIdg9iOeA4HNFoqt3DWHI0TUFvbwgzM6kVlRtRKwdGo7j3kYPImjZCfh2apsC2OVJZG35DxS3XbMXbzlizqueoFlb7c1QLNEcLQ3O0MI3MUV9fqGlFzlaSrFztz1sl+ec4HOmcA5+m4OZrtpKRGfScVIPmpRyak3KW05zUIytXVtMxgmgiXAjs2TuGrGmjJ+yDoatQGIOhq+gJG8iaDvbsHQMnGxVBEASxgphP/vVHfCT/CIIg5oEUbIKowtGJBMajaYT8OlhJvjVjDCG/hvFoGmPjiTaNkCAIgiCaz4LyLyDl39EJkn8EQRClkIJNEFVIpi2Zc6ZV/pnIcDmBRNpa4pERBEEQROuoVf4lSf4RBEGUQQo2QVQhHNShqqxqTohtc6gqQ1dQX+KREQRBEETrqFX+hUn+EQRBlEEKNkFUYdNgF4b6gkhlbZTWAhRCIJW1MdQXxPBQV5tGSBAEQRDNZ0H5l5Hyb9MgyT+CIIhSSMEmiCoojOH6i4fhN1TMJk2YlgMuBEzLwWzShN9Qcf3Fw9QPmyAIglhRzCf/puM5kn8EQRDzQAo2QczDtpE+3HLNVmwYCCFnOYgnTeQsBxsGQriFWpQQBEEQK5SK8s90MLIugluv20byjyAIogpauwdAEJ3OtpE+bB3uxdGJBJJpC+Ggjk2DXWS5X4VwIeg5IAhi1VAq/7q7fDj/7CHEYumO71m7ELSeEwTRKkjBJogaUBjDyFCk3cMg2siB0Sj27B3DeDQNxxFQVYahviCuv3iYPDkEQaxYCuWfpilQlOWvhNJ6ThBEK6EQcYIgiAU4MBrFvY8cxPGpJHy6ikjYgE9XcXwqhXsfOYgDo9F2D5EgCIKoAVrPCYJoNeTBJpYcCstaGayW+8iFwJ69Y8iaNnrCPjD3Gg1dha4pmE2a2LN3DFuHe1fk9RMEsTpoZE1fbnKA1nOCIJYCUrCJJYXCslYGq+k+Hp1IYDyaRsiv5zdjHowxhPwaxqNpHJ1IUBoBQRDLkkbW9OUoB2g9JwhiKaAQcWLJoLCslcFqu4/JtAXHEdC0ysulpilwHIFk2lrikREEQSyeRtb0/UeWpxyg9ZwgiKWAFGxiSSgNyzJ0FQpjMHQVPWEDWdPBnr1j4EK0e6jEPKzG+xgO6lBVVrVirm1zqCpDOKgv8cgIgiAWRyNrOucCDz49uizlAK3nBEEsBaRgE0tCPWFZROeyGu/jpsEuDPUFkcraECUbRiEEUlkbQ31BbBrsatMICYIgGqORNf3wiRhOTqeWpRyg9ZwgiKWAFGxiSaCwrJXBaryPCmO4/uJh+A0Vs0kTpuWACwHTcjCbNOE3VFx/8TAVxCEIYtnRyJoeT5mwl6kcoPWcIIilgBRsYkmgsKyVwWq9j9tG+nDLNVuxYSCEnOUgnjSRsxxsGAjhlmu2dmxBH4IgiPloZE2PhAxoy1gO0HpOEESroSrixJLghWUdn0pB15SisDIvLGvDQIjCsjqc1Xwft430Yetw77JqSUMQBDEfjazpW9Z3Y11/CEcnk8tWDtB6ThBEKyEPNrEkUFjWyqCd95ELgdHxOF49PI3R8XhbCugojGFkKIIdW/oxMhSh55UgiGVNI2u6ojDsvmRk2cvzVq7nnSCvCIJoH+TBJpYMLyzL65uZztpQVYYNA6GO7ptJFNOO+7gc+60SBEEsBxpZ07dvJnleDZJXBEGQgk0sKRSWtTJYyvvo9WjNmjZCfh1aQIFt83y/VcqZIwiCWByNrOkkz8sheUUQBEAKNtEGvLAsYnmzFPextEerl+tn6Cp0TcFs0sSevWPYOty7qjd1BEEQi6WRNZ3k+RwkrwiC8KAcbIIgOpbV2HebIAiCWH6MjZO8IghCQgo2QRAdy2rsu00QBEEsPxIkrwiCcCEFmyCIjmW19t0mCIIglhddJK8IgnAhBZsgiI7F69GaytoQJW1OvH6rQ33Bju63ShAEQax8hodIXhEEISEFmyCIjoX6pxMEQRDLAZJXBEF4kIJNEERH4/Vo3TAQQs5yEE+ayFkONgyEqOUJQRAE0TGQvCIIAqA2XQRBLAOo3ypBEASxHCB5RRAEKdgEQSwLqN8qQRAEsRwgeUUQqxsKEScIgiAIgiAIgiCIJkAKNkEQBEEQBEEQBEE0AQoRJ1YVXAjKiyIIgiBIHhAEQRAtgRRsYtVwYDSKPXvHMB5Nw3EEVJVhqC+I6y8erlrZs9oGrPD17i4furuDS3w1BEEQRKM0Ig+IzsHmHM/un0A0nkVfxI+d2wehKRSUSRBEZ0AKNrEqODAaxb2PHETWtBHy69ACCmyb4/hUCvc+crBi+4xqG7Adm/vw6pFo/nVNZdg4dATXXrgRZ23sac8FEgRBEDXRiDwgOoeH941hzzNjyORsCAAMwPceO4Trdw3j2ouG2z08giAIysEmVj5cCOzZO4asaaMn7IOhq1AYg6Gr6AkbyJoO9uwdAxci/xlvA3Z8KgmfriISNuDTVYydTOCBJw9jdDw+97qhYvRkHN966AAOjEbbeKUEQRDEfDQiD4jO4eF9Y3jgycNIZW0ojEFVGBTGkMraeODJw3h431i7h0gQBEEKNrHyOTqRwHg0jZBfByvJr2OMIeTXMB5N4+hEAsD8GzCbczhcwOGArin51/sjPtqYEQRBdDj1ygOic7A5x55nxuBwAV1lUFzlWlEYdJXB4QJ7nhmDzXm7h0oQxCqHFGxixZNMW/kQ75zlIJOzkbMcCFcR1jQFjiOQTFsAqm/ATMuB7QhoCoNtc5j2nBBnjCEUoI0ZQRBEJ+PJA02rvP0plQdE5/Ds/glkcjY0hVU0jmgKQyZn49n9E1XPwYXA6Hgcrx6exuh4nAziBEG0BMrBJlY84aAOLgQmZzJwHJHP2dI1BZGQAVVhUFWGcFAHULABCxRvwDh3BTEDhCj4t4umKXAyNm3MCIIgOpRwUIeqSiOpoatl79s2L5IHROcQjWchACnAK+HK5mg8W/FtKmxHEMRSQR5sYsWTytrImg5Mi4MxQGUAY4BpO4jGs4ilTAz1BbFpsAtA8QasEEWRUl0IAQjA4SLvBQeWdmNGVniCIIj62TTYhaG+IFJZu2j9BuTansraRfKgndA6X0xfxC9162rTIKTu3Rfxl71Vra6KV9huofopdC8IgqgH8mATKxouBH62dwy6qoBzDi4AlTEwBigCsB0Bxjiuu2hTvv+ptwE7PpWCrin5UDTOBTgXrmwXmIlnkcqo6A4bCAd0pDI21g+EWr4xIys8QRBEYyiM4fqLh3HvIwcxmzQR8mvQNFlFPJW14TdUXH/xcNv7YdM6X87O7YP43mOHkMra0BmKwsSFELC5QMivYef2waLPldZV8T5n6Cp0TcFs0sSevWPYOtxb8b7TvSAIol7Ig020lVZbhb186u6wgTXdARiaAi7mFGVDU+A3VAQDc15nbwPmN1TMJk2YloNM1sKpWKbIcK4wBtNycGo2i/FoZkk2Zou1whMEQax2to304ZZrtmLDQAg5y0E8aSJnOdgwEOqIFl2dss53mtdWUxRcv2sYqsJgOVKOe/LccgRUheH6XcNl/bAXU9iuU+4FQRDLC/JgE21jKazChfnUCmPw+zSYlgPOBRSFQdMUxJNmWd60twHbs3cM49NpxNMmuAB8hoqgoSJjOrDcEHLOBRQG/Pv3n42tm3qbMu5KLNYKTxAEQUi2jfRh63Avjk4kkExbCAd1bBrsavva2SnrfDX5/LuXbsalvaGWfe9CeH2u832w3bDwkF+r2ge7Wl0VD01TkM6W10+p9V6cc3p/cy+SIIhlDynYRFvwrMJZ00bIr0MLyBA9zyrcLC9CpYI2hYVtTMupmjftbcD2vjaOf378Dfh1FUG/BsYYIu5nPQu6ACvygreCeqzwI0ORlo6FIAhiuaMw1nFrZSes8/PJ5289dADhLj82rQm25Ltr4dqLhnHVhRvx7P4JRONZ9EX82Ll9sMxz7dFoYbta78XYeAL9feHmXSBBEMseChEnlpz5+kz3hI2m9pOutaCNEKJiGJzCGCJBAypjCLjKtYehq/D7NAT8GhyHI9Hi6uHUXoYgCGJl0+51vhb5fP/jhzoiXPySHeuw+5LNuGTHuqrKNdB4Ybta70WrZf9i6bRQf4JYDZAHm1hyltJCv1BBG4UBqYyFv/+XV6uGqddi/dZUBV0trh5O7WUIgiBWNu1e5xeUzwENJyaTGBtPYOPA8vDaNlrYrtZ70WrZvxioQBtBtAfyYBNLzlJb6KsVtOnt8gEAZpK5eYuXLGj9zthYvzaM4aHWVg9fTu1lCIIgiPpp9zpfi3y2lyBiq9k0Utiu1nvRatnfKFSgjSDaB3mwiSWnHRb60oI2wYCOB554AzMJUVMhmfms3wFDxQffeyYUxsCrNuhcPIXjmI5l4dNVGLpsI9ZJ7WUIgiCIxmh3G7FOidhqBfUWtmvmveBCLGlBvU4plkcQq5W2e7A55/jyl7+Myy67DOeffz4+9rGP4dixYzV99ic/+Qm2bt2K48ePF73+s5/9DNdddx3OPfdc3HDDDXjmmWdaMXSiQdplofcK2uzY0g+FARMzmZrbdsxn/b71um0478yBpo51PgKGipzlYCaZw8RMBlOzGfR2+TqivQxBEASxONrZRqxTIrZaReE+YGQosqBy2Yx7cWA0irvuexFf+eEruGfPAXzlh6/grvtebKkHeTGtyQiCWDxt92B/9atfxXe/+118/vOfx9DQEO6880589KMfxU9/+lMYhlH1cydOnMBf//Vfl72+d+9e3HHHHfjP//k/49JLL8X999+PP/7jP8aPfvQjnH766a28FKJG2m2hBxpr21HN+l3Jyt8KCiu7run2QwCwLI6c5SCdXV7hegRBEER12tVGrFMitjqJxdyLpeqYUkqjrckIgmgObfVgm6aJb37zm7jttttwxRVX4Oyzz8YXv/hFjI+P49FHH636Oc457rjjDpxzzjll791999246qqrcPPNN+P000/Hf/kv/wXnnHMO7r333lZeClEn7bTQA8VhcJWoFqZer/W7WZSGe/kMDX5DQ1fIQH+3HzmLN63yOkEQBNF+2iVvOiliq1No5F4sZceUUhrd4xAE0Rza6sF+/fXXkUqlsGvXrvxrkUgE27dvx3PPPYfdu3dX/NzXv/51WJaFT37yk9i7d2/+dc45XnjhBXz6058uOv6iiy6aV2En2kO7LPTAXBjc8akUdE0pCqHywtQ3DIQ6pmBYJ/RGJQiCIFYH7Y7YWgm0U24vtz0OQaw02qpgj4+PAwDWrVtX9PratWvz75Xy8ssv45vf/Cbuv/9+TExMFL0Xj8eRTqcxNDRU8/nqoVpVzZWMqipF/28ELgTGxhNIpC10BXUMDxUr0Wds6FnsMBvidy/djG89dACxpIlQoCAMLiPD4H730s01bSaaMUellM5ZKmvDcQT0oIJK9gddl+Fe6ZzTkc9pK+ZopUFztDA0RwvTCXPUSWuQzTn2vTaBU7Es1nT7cdE5g/P2TC6kE+ay3ZTKZ5qTcqrNSTrntFVuN2uP0yj0rJRDc1LOSp2TtirYmUwGAMpyrX0+H2KxWNnx6XQat99+O26//XaMjIyUKdjZbLbq+XK53KLGqigMvb2hRZ1jOROJBBr63EuHpnD/44dwYjIJ25HVR9evDeOD7z2zKWFmnAscPhFDPGUiEjKwZX03FKU2D/ilvSGEu/z58WVyFjRVweb13fjAe85AOGDgyESq5vM2OkelVJqz3ogfACBE5c1rznRg6CrWD0Y6+jlt1hytZGiOFobmaGHaNUedJCt/+MQbuP/nv0UqY0NAgIHhu//6W3zwyrNw4xVn1Hye1fK81SNPV8uc1IM3J948JjI2GGPgXMAwyhXZVsvt+fY4zdqD1QI9K+XQnJSz0uakrQq23y+VBtM0838HgFwuh0CgfKI/97nPYfPmzfjwhz9c8Xw+ny9/vkKqna8eOBeIx9OLOsdyRFUVRCIBxOMZOE7lXJ5q7D8SxbceOoCs6SAU0BDw67BtjiMnYvi7+36DW6/bhu2bG8+13n8kigefHsXJ6RRsR0BTGdb1h7D7kpGaz7tpTRCf+oNz897iUEDD6Ftx/OOPXsFsMgchAF1T5j3vYuao0jVVmrOJ6RQyORu2w7Gmx18W7hVPmdi4NozekIaZmdSixtAKmjlHKxWao4WhOVqYRuYoEgk0zXvQKbLyoWfG8INfvAHOBVSVgYFBQBZ/+vae/cikTVy3a3jec6ym561WeVrLnCwUtbbSKJyTV944VTSP6ayNRNpEf7cPQf9cvvNSye3SPU7h/Wj1XmE1/X5qheaknOU0J/XIyrYq2F5o+OTkJDZt2pR/fXJyElu3bi07/oEHHoBhGLjgggsAAI7jAAB2796Nj3/84/iTP/kTBINBTE5OFn1ucnISg4ODix5vtWIRqwHH4XVdPxcCP3nqCDIlPRh1TUV3WPZg/MlTR3DGhu6GBG9pZc6gW5nz6GQS33zoQN2F0jYOhHFgNIr/89DrODaRlN4OxqBrCjRNqem89c5RKQvNmW1zmDZHNJ5DOKCXVV5//0WbwB3R0ZVdFztHqwGao4WhOVqYds5Ru++NzTl++tQROFxAV1l+LWUAmApYjsBPnzqC975jfU3h4iv9eWtEnlabkwOjUezZO4bxaBqOI40bQ31BXH/x8IpvI/nKG6fwzYcOFM2jqjLMJHKYms2it0sgFNDbIrc3DoTzf1/qfcJK//00As1JOSttTtoa8H722WcjHA5j3759+dfi8Tj279+PCy+8sOz4Rx99FA8++CB+9KMf4Uc/+hE+97nPAQD+4R/+AR/+8IfBGMPb3/52PPvss0Wf27dvH975zne29mKIIlrZg7EVlTm9DcbxSalcawqDwgDLdhBPmfAbSksrfnIhsPe1cRydTMLQykPJGGOIhA34DRVruv1tqbxOEASxHHh2/wQyORuawirKH01hyORsPLt/osoZVg/NlKd5OTqVhE9XEQkb8OlqviVVK/s+txvOBR58erRsHruCBga6/VAYQzxlIpbILQu5zYXA6Hgcrx6exuh4nDqUEESdtNWDbRgGPvKRj+ALX/gC+vr6sH79etx5550YGhrC1VdfDcdxEI1G0dXVBb/fj+Hh4nAur3DZaaedhp6eHgDArbfeij/+4z/G9u3b8e53vxsPPPAADhw4gP/+3//7Ul/eqqaVPRibXZnT22CkMhaEENAUWZCEQf5xuMBswkRXUMf4dPMrfnoW/2OTSaQyFjJZG8mMhUjIQMA39xPVNAUKY/i9d21GJGQseeV1giCI5UA0npX+uWrLIpP1LKLx7BKOqjNpljwtVdS9cxm6Cl2TUWt79o5h63Bv2+QVF6JlXUsOn4jh5HSq4jwG/DrWqgpSWRu/s2sYp2/o7mi5vZqjEAiiWbRVwQaA2267DbZt47Of/Syy2SwuvPBC3HPPPdB1HcePH8eVV16Jv/3bv8WNN95Y0/ne9a534X/8j/+Br371q/jiF7+IM844A1//+tdx+umnt/hKiEIKezBWqlK5mB6MzVbevQ2Gz1CRNZ38powLAYcLCIF8aLaqMuw/Em2agl0YmufTVaQyFhgA03YQjWfRF/HnlWxvziIhg1pxEQRBVKEv4pfLuEBlJVvIl/si/gpvri6aJU87vZVkq5XGeMqE7QgE55lHBmCwL9jR8rs0XUBz0wW8KIRO9roTRCfRdgVbVVXccccduOOOO8re27BhAw4ePFj1sxdddFHF92+44QbccMMNzRwmUSet7MEYCmgQEEilLRiGCqPk/PUq794GI+BzDQEC4BCwneKQKMakN/vnL5zA5nWRRQuZShb/ZMaCaXOojMFxi6D43eqj9c5ZK6z1rfQArCRongiifezcPojvPXYIqawNnaFM/thcIOTXsHP74muztIusbeP7jx3C5EwGa3sDuOmqM+HX6t/SNcsY3sqotcWyFEpjJGRAa5FTYalYDlEIBLFcaLuCTaxMFMZw/cXDuPeRg5hNmgj5tbKiXNdfPFz3Iu1ZodNZGw4XUNxCZF44dSPKu7fB8IqamTaHcPONGJAvBSIgBY3t8LyQAYAjJ+M4MpECuIP1a0I1X1Mli393yMB0PAtHAAoYLJsjnbVh2ryuOWuFtZ7CxmqD5okg2oumKLh+1zAeePIwLEdAU5BfzG0uoCoM1+8arrkfdqfxpR+8iJffnMtn3j82iydePIlzT+/Dp/7g/LrO1SxjeCuj1hZDYQpYyC+3vF6OeTOVxi3ru7GuP4Sjk8mmOxWWik6PQiCI5cTylC7EsmDbSB9uuWYrNgyEmlKUq7CASiRkQGFSeJqWDKdOpE3MJs26lXdvg5HK2ogEdbkPc7XqQh+2wqQCHA7oGI+m8eRvTuCu+17El3/wEr70zy/gyz94CXfd92LNhVzyFv+CvtZ+n4b+iB+GpoALAS4EsnXOWSsKzazm4jX1QPNEEJ3BtRcN4wOXb0HIr+XTfbiQnusPXL4F1140f4uuTqVUuS7k5Tej+NIPXqzrfJ4x3G+omE2aMC0nL1frkaeFclSUFMTyFMyhvuCSK5hP/uYEfntsFpmcjel4DpMzGUxE08jm7EUXXC1EURh2XzKy6HlsJ5X2JIVomgLHEW2JQiCI5QZ5sImWsm2kD1uHe2sOl60WWlspdElXFcRSUpA5jgynPnNDN3bvGqlLeS/0tmdNB0GfikTGLjpG1xT0dvkQ8MnNWjxl4idPj0IIgXBAh9/QkDXtopCzha67msXf79Pg92lIZSzkLAcfeu8ZuPicoZoEcytCvChsrDZongiis7j2omFcdeFGPLt/Il/TYuf2wUV7rm3Om37OWsjadlXl2uPlN6PI2nZd4eKeMdyLvElnbagqw4aBUM2RN62KWlsMB0aj+MnTo3C4gMoYmMIAt6bKdDwrjdmG2rTQ9e2bFz+P7aRToxAIYjlCCjbRchTGagonmi+0NuBamQtDlzxF1LQc5EwHNhf4wBVnYMs6+V315MEWbjCOT6XyVcRVVUE4qKMrMPe9ts2Rs2QP9v5uPxSFQVHctiaqVKS+/4s3EHI93dXChBcKzTNtjo1rwzUr18DiQryqzReFjdUGzRNBdB6aouCSHeuadr6H941hzzNjyOTsfA217z12CNfvGm65V/z7jx2q+bibr91W17nrNYZXO0enKJiewdO2ubwGV6aDARpjsLlALGWiV/E1VWlsxjy2i8I9iaYyZHIObIdDUxUEfOqyCHMniE6BFGyiI1ioCMm7z11XtYCKoavQNAXxpIl0xsqfr948WE8wjo4n8O2HX8d0LIu+iA9KgWdCuN5rAOgKVlakNJXh2GQSAZ8mC59UKajSCot/LYVmUlkbb5yIFQn/g2MzVefL4aJji9d0Ep1c5IcgiMXz8L4xPPDkYThcQFNYPq87lbXxwJOHAaClSvbkTKapx5VSqzHco5JRtlMUTM/g2RXU4XAB03Zk6013HCpjMC0H8ZSJ4aGupiqN9c5jp+DtSb76o1dxbDJV9n7Ir3V8mDtBdAqkYBNtp5bQ2ud/OwVVqS10aTEVQxXGsGVdBB96zxm495GDiKWsMsVXd/OT9Arj8HLNhJDCyBtrtTDhZlv8FwrxSqUtpLMWHnx6FAwMqsrQFdARS5lufmL5fF2zc2PHho11UrVuCq8jiJWLzTn2PDMGhwvoblFMAAADdAZYjsCeZ8Zw1YUbWxYuvrY3gP1jswseN9AbaMn3F7L/SBQ/eepIVSN2uxVMz+CpB1REQgai8SwcIVBQ7w5CyPQvUhrnGJtIIJOzK76XydkYm0h0fKg7QXQCpGATbaeW0NrZZA69XT6ciuXmrdC5YW0YX/r+S4vOg51P8X3H1gHseWasoiJl2hyWzcGYDC+vdC2lYcLNtPjPF3aeyVqYSeagMIagT4Ouq7AsB8enUuBCYKDbn78eXVMQ9KmIpyz86uWTWNvjx1vTmY6qjtpp1bpb2ZqOIIj28uz+CWRyNjSFVY5cUqQC8uz+iaaGpBdy01Vn4okXTy543Ph0GgdGoy1bB186NIVvPXQAmQ7plVzJ0Fpo8Az4NPRF/IinTFg2B3c/p6oMv3NpfTVbVjKeEYkLQFMZ5kwR8v/2EhiRCGKlQAo20XZqCa3lWeDtZw7g314+OW849fHJZNPyYKspvgDw/MGpioqU48gWX4amVPRiVgsTblZI2Xxh59PxHACgv9sHn+H+9AvGHk9bCPh1ZHJ2fiMihMDYeAKDvUEoDB1VvKbVfU3rpROL/BAE0Ryi8azsKlHt58ukRzQaz7ZsDH5Nw7mn981b6MynKzgZzbRsHeRC4P7HDyFrOh1RzLGaofX9Fw8XGTwDPg1+Q4VpcziObH+5aTCMy89f3/IxLhcKjUhz927u/0thRCKIlQKZoIi2U2hproQXWutV6Jyv7Vez20x4iu+OLf0YGYpAYaxyWxMu23GkszYYGEKBymHASxEmXKk9WiprgzG4ldDnvptzAQGZj2bZHIm0iWg8K/PVmGw9AgAxN++8N2w0peXaYihNKTB0Nd/XtCdsIGs62LN3DLykVcxS0OzWdARBdAZ9Eb9UNaotK0KqIn0Rf0vH8ak/OB/nnl55HfEbKob6Qy1dB8fGEzgxmUQooC1oxG4187VF/M4jB7Fjc1+RnPZ8sTmLIxTQsXvXCBk8C6jJiITWGpEIYqVAHmyi7dQTWqswNm84damyzrnIV/gGmqfgFoaQT0TTyOQcKAzYNBhGOudgJpGDEKJtYcKl3veJaBo/fXq0TPFXFJavrCq4NDxw4bY0YQxCSCd3JKQjnXMQCui4+dqtSGXsthev6dRq3Z1S5IcgiOaxc/sgvvfYIVmHg6Fsbbe57LG9c/tgy8fyqT84H4eOz+B//fNLAAQMXUVv2ICiSjnXynUwkbZgOxwBf2UZulTFHGup3fLqkShuvvosPLTv6JJXNe+k+iC1UmREqjTUJTIiEcRKgBRsou3UG1o7Xzj1psEudAUNHJ9MFim4uqYgEtSRtXjTFFxPkTpxKgUoKsAdrF8TwsGxmbrChFsliAvnKRzU8+MoDF03NAW6pkjrvgBsLqCwuRxDxw139xnSWzEeTYMxhh1b+hc9vkZZDtW6l2sVWYIgKqMpCq7fNYwHnjwMyxHQCqpl2VxAVRiu3zW8ZLmpOVPmFkfCRkV50ap1sCuoQ1OlLNG19hVzrNXQGgzo+PMPnb+kym6n1QeplU4yIq0kCvd43V0+dHcH2z0kYgkgBZvoCJpVTfvg2AxiyRy4EG5LDgACyFkOpmIOukNGU/NgFcaweV0Evb0hzMykYNu8rmtZKkFcLUqAMYZISMfUrOPOlXRZCyGVa4UB3SEDQGcorgBV6yYIoj14LbjyfbBdj17Iry1JH+xC2rUODg91Yf3aMI6ciKE73L5ijvUYWpfS4NmJ9UFqpdOMSCuB0j2epjJsHDqCay/ciLM29rR7eEQLIQWb6BgWG1rrhYw5nKMnbCCZsWXRMSB/ju6Qga3DvXWNqxEPc+m1hAIaBBjSGQuj4/F87+mlEsTzRQlkTY7ukAG/T8NkNA3OBRiT3m3vdaBzFFeq1k0QRDuwOUckZOCqd25ALJlDT9iHNT0B7Nw+uORKR7vWQYUxfPC9Z+Lv7vtNW4s5dqKhtZaw9aUsAFc4rlr3MJ1kRFruVDK2OA7H6Mk4vvXQAdzcwcYWYvGQgk10FIuxNB+dSODYZBI5iyOdddxiHQyaIoWsT1OQyFgL5qQVCqOpWAbPH5xqyMPsXcuB0SgeePJw2TlSGWtJBfFCnvUzN/Xg8//0PManM4iE9LlK4+gsxZWqdRMEsdQ8vG9sTumAVDoCPq1tHr12roPnnTmAW6/blu+DvZS5zR6daGgdG++8+iCNRMlde9EwrrpwI57dP4FoPIu+iA+DfSFksnbeQUDydX6qGVtUXUXAp+HUbLYtxhZi6SAFm1gx7D8SRSojw5cVhUGBrNXhcI5EyoQW8S1YQbxQGOVMB5mcDcYYusMGImGjbg9ztXCxsfEEMjkbPV2+JRXEC0UJfODdp+PeRw4inXNkb9cOVVyblVJAEASxEA89M4YHnjwMhwtoCsuHzaayNh548jAAtMWz1851cPvmPpyxobtthbw60dCa6LD6IIsJV9cUBZfsWLds88nbzYI1AgLtLcZKtB5SsIkVARcCLxyaghCAWtDDkbl/HCEQc4VwtZCxQmEU9GlIZe38ueMpE7qqwO/TyjzM842pWrhYyK8hnbWRytoIB8oX4FYK4vmiBDpRca0W3kbVugmCaDW2zfHTp47A4QK6OlcAEgzQGWA5AnueGcNVF25siye7netgu4s5dpq86uqgsPVK+w+vpWjQpyKdsxf0oC7nfPJ2U0uNACfT/po2ROsgBZtYNsyXR3R0IoHZhAldU2QlbMgwMQHkW0uYFsf6Nb6KIWOlwsi0OWybS084Y7C5QCxlwu/TyjzMZ2zoqTje+SyYqqqAMcCyOUybw1cijNuZ71zvhq2V7UgWsp63e4NHEERnYDoOHn5mDFOzGQz0BHDtrmEYarmSUy+/fPEEMjkbmsIqeqI0BcjkbDy7fwKX7Fi36O9rhNW8DnaSoXV4qHPC1gv3HznTQSxlwnLblwLSEXFsMlnVg9qp+eTLhU6sEUAsLaRgE8uChRStZNqCwwV6wgaiiRwshwNChogXsnEgXFEYlCrDnEvl3LM9qoxJZdhyYOhqTR7m+SyYnpAybQ7H4YC7AJuWA8eRIW7DQ13YsDaM0fF4x3omWhk+RtZzgiBq4d6HD+CXL58En9Mf8JOnR3HZuetwy7XbFnXuqZmMW8+jygFMNl+IxrOL+h6icTrFwNCqsPVGjNje/sNROKKJnFu8lIExgIHBcjjsDMf+I9GKc1drGzQKca7MgjUCMjbWd0BNG6J1kIJNdDy1KFqetVBVFXQFdMwmzTLlGgBePRLFgdFomWJWqgwrCvPS7OS+yv0H5/KstVgfF7Jghvw6rKSJdNaG4wikshYsm3udsnAqlsF///bzSKTNjsx9aqUCTNZzgiBq4d6HD+DJF0+Wvc458q8vRske6A1IGZAXBiW4EVJ9EX/D30GsHJodtt6oETsc1KEqDNFEDrbj7oaE/D9jsgUnF8Dzv53CtRWU/nraoBHlVDO2ODZHOud0VE0bojVQMzuioylVtAxdhcIYDF1FT9hA1nSwZ+8YNqwNY6gviGTGQtp0wBRAUxg0Vf5RFAafrsDmHHv2joGLYvW7UBkGZIsqXVPAhYAQc65wRWH5UK+hvuC81kfPgpnK2vIcBQghYHOBjYNh9Hf7MZs0YdocYAyGoSIU0DE1m8XRiQQAIBI24NPVvPJ6YDTaxFmun1rvS+k810o91nOCIFYnpuPgly/PKdes4I/HL18+CdNxGv6Oy85fj4BPg81F1XU84NOwc/tgw99BrCy2jfThzz90Pj5549vwR9dvwydvfBv+/EPnN6Rc3/vIQRyfSsKnq3XtAzYNdsGnq3nluvC3IQTgcBkmPpvMVZSjpXuiUijEeWE8Y8uGgRByloN40kTOdDCyLoJbr9vWEY4SonWQgk10NNUULdNykDMdGJqC8ek0jk8mcf3Fw9BUBablQAEDUxgYGLgAFAb0hH0I+fWKilmpMswYQyRkQGEMDhewOYemyu+fTZo1WR89C6bfUKUCbTngQsC0HMwkclAVhnduHYDCAL+hYE23H2t7A1jb44dl8/wmMZ21m6q8NoNWK8B567k2T4GQBSrCEwSxsnn4mbF8WHjpSuz9m3N5XKNomoLfuXQzVIXBcgQ4F+BC/t9yBFSF1dWqiwuB0fE4Xj08jdHxeFvX8XaxGubAC1vfsaUfI0ORhsLCF2vEdsScciwK/ngwSEW7khxdyEFQi5OBKDe23PYH5+G/fWwXtm8m5XqlQyHiREdTGqaUzdlFxTqEEFAUhv1Horhu1wiufPt6/Muvjsh8I1e2GJqC7pABv08DF6JiWFOlcB6foSISMhBLmoAANFVBznLqCvWqFC7mbc5scDz87FFksjY0N0fHp6vIWQ4st8AaQ3Hud6fkPrU6fIwKhBAEsRBTs5mmHleN63YNg3M+1wfbDQsP+WUf7FpbdFHLI5qDWllsDvTRiQSypgPG8pHhc5+HjMZz3JS3SnK0E9ugLVcKawRomgJFoTlbDZCCTXQ0hYoW5wLT8Sy4kEXHwADBAYcL/PyFE9i8LoLtm/vw+AsnoChMtutSWJGCNp9iVi136qyN3Xjn1rUY6Ak0VGissMrp/iNRPP7CCdiMI+TX4TgcmawN2+aIxrP5PL58gbWS3G+gM3KfWq0AL1ggZAmrsRIE0ZkM9ASaetx8XHvRMK66cCOe3T+RX6t3bh+s2XNNRRtpDuphsUbsZNoChKxbYloOVK+YzFwbd3AO9ISNqnK009qgEcRyghRsoqOZU7SSyJkOuJC51YBUtDgEDF2F7cjc6k/ddB6G+qVi1hM26lbMWtXyQ2EMmwa7cP8Tb8LmfK4vJaQ1mmGu33Z32JgrsFaQ++3RCu9tvVVKW60Ak/WcIIiFuHbXMH7y9Cg4L69B5pkkFUUe1ww0RWmoFddiija2sg3iUkKFK+tjsUbscFCHpiluOhUHF7Kw2ZxyLcAYcPn5p807353UBo0glhOkYBMdjado3bPnABKWBdUtMiYAV2AwdIcMqArDeHQuF3sxilmrWn5UCvkqbNeluK3AGCBfsxwICPh0NS9gW+G9bSRkbykUYLKeEwQxH4aq4rJz1+WrhVfKRr3s3HVN6Ye9GBoN911J4dTU9qk+FmvELvx8X8SHeEp2KeFwi50xKUsvP3/9gmPplDZoBLGcIAWbqItmWNPrPce2kT689+3r8S+/PAIuTwAwBl1T0R0yECjJrd6xpX9BxWwpvAKl3xFPmRVDvrpDBqbjWThcgAGwuUDQryFnycq3Qff65lNeG72exYTsLYUCTNZzgiDmw2vBVdoHW1GwqD7YNufY98oE0jmOoE/BO7YO1BwOXkoj4b7tCqdulWyktk/1sVgjduHns6aDnrABAcCyOHKWg6Bfw03vOaPo8zbnNadArJTICoJoFaRgEzXTDGt6o+cI+DUAIl+sgwlRVLmjNFxqPsWskTHUK0wqfUd3yMgryoUhX36fhv6IHzOJHGyHI5u1YRgqNq0NA4whkTYRT5pVlddG57QZIXtLoQCT9ZwgiPm45dpt+MP3nYWHnxnD1GwGAz0BXLtruGHP9cP7xuYKmkF6/P7JV19Bs0JKWx5xLorqg5TKr3aFU7fSY06FK+tnsUbs0s9793R4qKvs85We+e89dqjiM7+SIisIolWQgk3UxP4ji7emN2qRPzAaxSPPHoOXPaQpTFpiHa8wmA9Zk5eFS1VSzBoZQ73CpNp3nIplkTUdcEegv8dfFPLlM1T4fSrWdIfwe5duRldorvDIfMprLddTTQFuVsgeKcAEQbQbQ1Xxu+/asujzPLxvDA88eRgOF9BUlq/CnMraeODJwwBQt5K9abALXUEDxyeT+TaQgEwFigR1ZK1i+dWOcOpWe8ypcGVtlBrztw73LsqIXYsRvOiZL0jUrvTMU6E6gqgNUrCJBeFc4MGnRxdlTW/UIl/4uf6ID9FEDo5bRVxhcmzTsRz6Ir4Fc34bGUMtwuRtZ6yp6Tt6NQWnYlmYNsdsMifPVxTypeED7z69TDhV20DVcj3ff+JNBH0qJmYyZcYBhwsK2SMIgnCx3VZcDhfQVQbmtkoUTEAHYDkCe54Zw1UXbqwrXPzg2AxiyRy4EG7+KwAB5CwHUzEH3SGjSH4tdTh1PbKxUahw5cK0yjM8nxG87Jn35p8BOit+5hXGqFAdQdRIYwlFxKri8IkYTk6narKmV6Mei3y1zwX8OvojfhiaAi4KwsUZcO3OTQsKoHrHULTpCBmwbI6E24O7J6QjazrYs3cMvCBUfaHv6A4Z8Bsq1nT7kbMcxJNmvrd2vZbfhb5LUxiOTSRxdCIJn64iEjbg09W8cWBqNlMUtlgKhewRBLGaeHb/BDI5G5rCqq6pmZyNZ/dP1HxOT45wITDQ44ehqxAC4JCKj1eos1B5LQ0pL6XZa3Oj8rlevJDlDQOhRcu/5QIXAqPjcbx6eBqj4/Gi/UIhnjH/+FS5vP4/D7+OX7xwfMFzNEI9z/xSPScEsRIgDzaxIPGUCdsRCC7Cmt6oRb70c36fBr9Pg2k5+TYT6ZyDgZ7AgnnS9Y7BEyYQwPGpFApaUUNhQCigYzyaxth4Av194Zq/Q2EsHwZeb8hX4TVORNOwbY5QoPImK5W1ICALpnk5b4WW5l8fnKSQPYIgCJdoPCsrkVdbit1w8Wg8W/M5C5USQ1fhNzSYNs/nYUMIJDJWUbj3UodTL5XHnAuBgF/D1RduRDJjoSug59OhVqLHs1aP9HwRBA7nmI7l8L2fH0LQr0Nrcr5zrc/8GydiiMazME1ZIK0SFPVGEHOQgk0sSCRkQFtkcZJGC5xU+5z3d9NyoKkMU7EM7rrvxXkFWS1jUBQgnjbx6uFpjM/IoiJZ0yk7lgsgkbZgaApefnMaka4AekNazdfZFTLqzp0rFdYCQDpnQ9MUdAWNomNNy5EtvxiDqhZvmjxL88RMBtfvGsapWJZC9giCWPX0RfxSzyhtqu0h5Mt9EX/N5yxVXhlj8BXIBi4EMjmnSClZ6nDqpShANp+y2UoZ065q1/XkKlfzDGdyNqLxnGxNKoCgTwVjrKn5zoXPvAAgIMAgaw8AMg1PCOC5A5MAk2MyZzh6wj4EfMUqBEW9EcQcpGATC7JlfTfW9YdwdDLZsDW9UYt8tc+ZlgPHkZuNNd1+PPLssQUF2UJjiKVMMAA/dIt9cM7zynWpOPac2abN8fDeMfzbi29hsDeAa3dubInnoZqwTmUszCRy0FSGgG9OqDkOhxCAoSswtHKvhGdpHugOUK9pgiAIADu3D+J7jx1CKmtDZyhbv20uEPJr2Ll9sOZzNqq8LkUbRI9We8zbVRirXdWu6633UimCQAiBeMoEFzLSwWuc4jO8c+TwwL+9id9z+KKiAHZuH8Q/Pfpbd6/j7WxkdCAD8pF74YAGw9AwYaVhWjzfystTsinqjSCKIQWbWBBFYdh9yQi++dCBhq3pjVrkSz+nKQyprAXL5vkc7AmegcIY1hRU5q4myKqNIZYykTMd+HQVPkOFpimIJ3P5cXhihxX83cNnKPD7VBybTOLbj/4WV5x/WlO9wvMJ6/6ID1OxLKZjOQz0MOi6mv8uxoCQXyvLlQKKN3UjQxHqNd0iqFcoQSwfNEXB9buG8cCTh2E5AhoAxqQHz3YEVIXh+l3DdRU4W4zyuhRtEIHWeszb2XKsXdWu58tVBgBDU3B0Mom9r43j4nOGKhphTJvDsjkU5hbag5tSACBnOsjmHIyeTODun+6HrivoCfvwjrMGsH1zX13PyKGjs1CV8mOFmNvr9IR1+F0Dfm+XD6diGdiOwGwyB0NX4DiCot4IogRSsIma2L558db0Ri3y3ue+/8SbODaRlCFMjMHQFfh0BYm0BYVJoeMvCFmq1M6k0hgURSrOPl0tUtIdp7yQSKXSIpzLz/Z0GZhJmHj1SBT/7pqt+FmTPA/zCeuAX0evIxBPm0jnbLCck+9zmcpYmEmaRW1hgMqbOmq11XyoVyhBLD+8dkSlPYFD/sb6YC9WeV2qtblVHvN2tBxrl1LvUS2nPZOzEXcLpXIhcN/jb+DpV8fx/ouHy4wwnMs0MAWAIwQMTYGhq8jmbEzHs3C4rEivagyprI3ZpImx8QQeee4YNq4N13TPvHlSVYaesI54yiqqNQPIejPd4bmUCL9Pw5ruAGYSOdg2x2w8B8NQKeqNIEogBZuomWZY0xs9x9bhXgR9KgI+FUG/BlWVoc9Z00EyY4O7Id7+kpygSkU3SscQT5v44ZOH4TPUvCDO5Gykc3ZN16Rpc7l13mYh5Nfw5x86vymeh4UK0ISCOmwusPuSYQz1BvPfdXBshlqitAnqFUoQy5drLxrGVRduxPMHp5DOcQR9Ct6xdaAuz3UhSxnuvRha4TFf6pZjQHuU+kIqeaRlPnVWhnyD5Y36x6dS+M4jB8si37xh21xGTnSHZJ2VWMoEF4CqMHAu51dA/tvhAjnTwfGpZE1yprQAX1fQQDrnwHZkEb6Ee09MyylKb/D7NAwaKmbiWVx94Ubs2NJP0VkEUQIp2ERdNMOa3sg5jk4kMDGTQSRkFC30iiIFlcIYLJuXCYJq+W2FY3j18DQcLvKKspf7VEsjDIUBoQKlvnCz0CzPQy05fJrKcMb67qLvWy6bupVGu70nBEEsHk1RcOnb1qG3N4SZmVTVllm1slTh3oul2R7zpSigVko7lPpCStMCAOTzqVXG4AgpD0IBHUEhMJuUkW83X30WHtp3FONuhxCFAQIMfV2+fPcUy+ZQIIuPATJH2muxxVwlO+jTkM45C8qZ0nlSFAVh9+85y0E6a0MIkf+uQrz7uWNLP0W/EUQFSMEmlgXVBKahKdA1BaYli5EVCoJai26UbgC83CdVYeBCgM+zr+oOGWAF+Uut2Cwshxw+Yo52e08IguhMVmMqzlK3HAPao9QXUpoWYGiKqxhL5VphyHukC2VCMKAXRb5NxTJuAVcHquq4xUtl6DhjDEJI73Z+Tt0iMUKgJjkz3zwZmgJVZbAsgdLtAhU0I4iFaSzeiSCWmEJBUAhjDJGQ4QobyOrfQsC0HMwmzZpCob0NQKrAWuvl3WmKUrU9ZMivIhL25f/tCZ2hvmBThY4nrP2GitmkKXuA13GN3qbOszSTct1a8sagCtXbAek9cRxBvUIJgljxLFZ+NUKpTC+kVXK6FC+CbMNACFn3mrmbS90f8RelsxXKhEJ5/Z4LNuTPkbOcfNqabM2pA4wV70/cS1UUVpOcmW+eAEBTFentz9lLct8IYiVBHmyi45GCCQgHdEzHsuiL+KAU5ML5DVn5m0F6sONJs65Q6ErWZgZpBXaELE7V1+UDF4DtSO92OmsDYDAtB7quIGc6iKdaJ3SWY7h3YQXt7i4furuD7R7SktBu7wlBEO3F5hzP7p/ItzLauX2w4fztlcBSy6+l7iNeDS+CbO9r47jv8Tfgc8PCS5lPJhRGocVTJn78qyM4FcvCb6hIuPnX3lUUFkMzLWdBObPQPIUDOq44/zS8eiS6bPYdBNEpkIJNdDSFlZhzpoNMzsFbp9LoDhsIBfQiQXDz1WchGNAbCoUu3ACcnE4BkN5ww21/4S/o9TibNLFpMIxQQM8LHUNXsXFtGO+/aFPLhM5yCvcuraCtqQwbh47g2gs34qyNPe0eXktpR0gkQRCdwcP7xsoqkH/vsUMNVSBfSSy1/OoUo7TCGC4+ZwhPvzqO41MpBGvo6lHpHF6Yt64quPeRg0i512PbHGAAx1zoeT1yppZ5unrnpmWx7yCIToIUbKJjKa3EHAroSGUsxJImZhM52be6ie0hCjcA+49E8fgLJ2BzDsXNxS60ft/0njPyx6ZzDtYPRtAb0sArtPZqJsshh69SBW3H4Rg9Gce3HjqAm1d4Be1O8Z4QBLG0PLxvDA88eVgWzVRYPic2lbXxwJOHAWBVK9lLLb86xSjdTJlQqBAfm0zCtjkcLqBrCnrCBhSF1R3CvdA8LYd9B0F0GqRgEx1JtUrMXUEjHyre3+3HLdduxXAT84o9QTIyFMHmdZEFrd8jQxFompKvNMtrqj0+P4Wh1aGABgGGdGZ5WI6r3TdVVxHwaTg1m10VFbQ7xXtCEMTSYHOOPc+MSWVHLS48pTPAcgT2PDOGqy7c2LZw8dUYut4pymEzZUKpM+CFQ1OYTZjIWRwqFw2ds1PmiSBWCqRgEx3JQpWYIyEDyYwFxlhLQ8yW2vpdGhKfc6uj+3SZZz7UF+xoBW3BCtqB1VNBu1O8JwRBtJ5n908gk7PzLZMKYYxBU2Qv5Gf3T+CSHeuWfHwUut5+mikTCp0B1148THKGIDoMUrCJjqTdfSw9ltKqWxharakKcpaTr2ieNW34DBXHp1K495GDuKVDw6xruW9OpvX3rVMgrwBBrA6i8ayMX6qm1zBZODMazy7hqCQUut45tEImkJwhiM6DFOwOpjBUeLVZJYMBHQJAKmPBp6v5asymq3Q6XPZ/bLQS83xzW8+8cyHw5lsxjL86gXQmh+GhCEaG6r9PXmh1KmMh6FMRS1vgBT0ubS6QztpY2xvAbNJcdJh1q56teitor+ZnnCCI9hLP5fCl772EmXgOvREfPvWH5yHi8y38wQr0RfxSty4s61yIkH+i8SwefPrIkoVoL4fQdYJYDtB+hagHUrA7lNIqzKrKOj48uFkcGI3iwWdGkc5Kbyhjsh8jICt7CyEgBBD0a0hn6veEzje3AGqe9wOjUXz/F2/grVMp2FzmXqsKw/qBMG664vS67tOTvzmB3x6bBecCmZwN7vWzVOVeTWUMli1bhIX8iwuzbuWztWAF7YyN9W5l09X8jBME0V5u//tfIZow8/+OpS186otPoa/LwBc+8a66z7dz+yC+99ghpLI2dIaytc+TEU++dBLA0oVod3roOkEsB2i/QtRL282VnHN8+ctfxmWXXYbzzz8fH/vYx3Ds2LGqx7/22mu45ZZbcMEFF+Diiy/GX/3VXyGRSBQdc/XVV2Pr1q1Ffz796U+3+lKahhcqfHwqCZ+uIhI24NPnwoMPjEbbPcSW4V37iVMpREIGVJVBCMC0OUybQwi5SVEUBgHg24/+tq75mG9u735wP+5+cH9N835gNIq7H9yPo5NJ6U1XGVSFweHSwnn3g/trHteB0Sh+8vQoHC6gsOJNkO0IcCHyHhHOhQyzdkRDYdatfra8aql+Q8Vs0pQRB0LAtBxMx3P5yqYHx2ZW7TNOEER7KVWuC4kmTNz+97+q+5yaouD6XcNQFQbLEeBcrt2cC1gF3SVUJmWFwlg+RPvhfWMNX8tC1BS6jvaErhPEcmA178mJxmm7gv3Vr34V3/3ud/E3f/M3+Od//mdwzvHRj34Uplku/E6dOoVbb70V69evxw9/+EN89atfxfPPP1+kPKfTaRw7dgzf+MY38Ktf/Sr/5zOf+cxSXlbDlFZhNnQVCmMwdBU9YQNZ08GevWNS6VphlF57V9CQYXes8BhA11X0d/uxpttf13zMN7fdIR2JtIVE2lpw3rkQePCZUSTSlvQuqwwqU6AoDLrraU+krZrG5Y3JtrkMNWJAacSRwwW84uSKwsrCrGtlqZ4tr1rqhoEQcpaDeNJEznQwsi6CW6/bhq3Dvav2GScIor3Ec7mqyrVHNGEinsvVfe5rLxrGBy7fgpBfAxcylcnhc+uYrjIornIt5YU0yu55Zgw253V/Xy0Uha5XwrXf9kX8Lfl+gljOrOY9ObE42hoibpomvvnNb+L222/HFVdcAQD44he/iMsuuwyPPvoodu/eXXT8iRMn8K53vQt//dd/DU3TsHnzZtx000344he/mD/mjTfeAOccF1xwAbq7u5fycprCglWYFxke3MlUunZVkf/XFCZbYAmgJ2zAb8hHt575mG9uLUcWE4MQsEryh0vnHQBOnEpBQCq8pefyPNmj4wnsfW0cF58zVDVPxxtTV1CH7UgvfemRQgAOl2PSNQWzSRMb3DDralTKFTo6kcDJ6RQMTUXWdKAoDIYbxr2YZ6vSd5VWS+3u8uH8s4cQi6XxxvHZVfuMEwTRXr70vZdqPu6vP3px3ee/eucmnLmxB88fnETOlBE8//bSSaisPSHatYSuh/wadm4fbPp3L0caybPlQuCNY7M4MRFH0Keu2txcb+7iKRPJjIXusA8bhiz0hpZvNupq3pMTi6OtT/3rr7+OVCqFXbt25V+LRCLYvn07nnvuuTIF+7zzzsNdd92V//ebb76JH//4x7j00kvzrx08eBBr1qxZlso10DnVs9tBpWvnXEgFUGFQBeBAKpwe9czHfHPLC7wMhX+v9j22zQEhlXIhGBiTn/G8FkIA6ayNf378DTz96njVPB1vTI4qwIW8tmp20KBPw2zSzIdZVxPg1XKF1kT8iKfk+L06PLqmIBIyEPBpDT1bC+UleQJH06SHv/CaV+MzThBEe5mJ1+aZrvW4Qiqth6rixmBXixdscXVxL3T9gScPw3IENAX5KuK2Wyz0+l3DFQucVVI2VzKN5NkeGI3iZ/uOYmImA9NyVm1urjd3xyaTSOdsCHfvFg7o2Lg2jPdftGlZzgftV4hGaauCPT4+DgBYt67Yart27dr8e9W45pprMDo6ivXr1+MrX/lK/vWDBw8iGAzitttuwwsvvIDe3l584AMfwM033wxlGVTIrLcK80qi0rV7SpnrvAYrfA31zcd8c1t4zsK/V/qeIyfjsoWWWxXW4RyMyfzjwnBARWHw6/O31goHdXAhEI3lICCgKoBTIVLQ0GW1sw0DoQWF/b2PHEQmZ8Gna1B0ubk7cjKO18dmwIWMBvD2fKbtIBrPoi/ih6qwup6twrZiIb8OLaDAtvmCrcRW8zNOEER76Y34EKthM9wbqa+aeLX1cCaRg4A03CpqBaPoEoRoe0XU8n2w3e8M+bWqRdaqKZu/e+lmXNobatlY20Uj8uzAaBT/5+HXkcna8Ps1BPwqINDx7TSbjTd3ybSFnCWLtKpMRh2mshaOnIwv2/mg/QrRKG1VsDOZDADAMIyi130+H2Kx2Lyf/cIXvoBMJoM777wTN998M3784x8jFArh0KFDiMfjuOaaa/CJT3wCzz//PO68807EYjH82Z/92aLGq2mtV9C3rO/Gaf0hHJtMwtDLqzCnszY2rg1jy/ruJQlBUt2cYu//88GFwOjJON48EYMAw+nrI9i8LlLU/mpsfC58KBzQEQkZGHbbWm1Z3411fUGMjScQDGhQVQWGpkDXFJiWAzDA0FT4dAWM1TYf3ncm0hZCAQ3r+kM4PpmErjFZOM2S2qzmVutGPmx67hyF35PK2fjxr46UKcFCAE5JDo7CZP9qAIilbDy4dxTBoI5UxkZXUMfwUBdGTovIYjhcQFNlArbnDRdCwOFAwFDxH35/B8JBHePTaRweT2A2bWJdfxDprJM/FwD8bN9RpDIWHC6QzkoPjAAg3H7agPRaMNeDAQAOE5hN5ODTFQwPRWp6trgQ+Nm+o8iZDnq7fHMh/YYKXWOIxnL4/i/ewK3Xb8PIukjRc9Rpz3inUM9vrRqFz7v3XKykOWzGHK10OmGOmiErXzt5Ev/vPa/l//1f/ugcnLNu8SHUt/+7C/DJO3+54HGf+r/Pq3ku51sP1/b4cXQy5UYoCbACA65wc7SDfg2XnLuupW2ydl+6GdfuGsa+1yZwKpbFmm4/Ljqncpuw/Uei+PYjB5E1HYQCMrrJtjlOTKXwrZ+9jlDYB8YFZpO5IvmzXNee+e6foSuYTZj42b6jOOf0/qL9zA+eeBNRN9IhYzoAvKgwHTnTKfvMSsSbu6zpwOEcgKwtAAYwAXAu68hkc/aynI9m7FcK5XJP2Ifu7iDJsAI6QWa1grYq2H6/tNiappn/OwDkcjkEAoF5P/u2t70NAPCVr3wFl19+Of71X/8VN9xwA+6++27kcjl0dckFf+vWrUgmk/ja176GP/3TP23Yi60oDL1LZLX98DVn4+/vfwmxlIWugA5dU2DZHImMhVBAx4evORv9feElGYtHJDL//Xjp0BS+9eBrODqegO14SquCTUNduHX3OQCA+x8/hCNvxZDKWOAcUBQg5NexeX03PvjeMwEAWZsjbTpI5WxZSEJT4DNUqWALoCuoQ1Vqm4+XDk3h/scP4cRkErbDoakKImEDjuA4NplCiT4MRQHCfgOxdOV5P20wjC/d91KRl3o+bEcgmbHz/z4wOov/9zvPI+DXoakK1q8NY9fb1kFzFXpZabZcSTcMFYfeSuCJ548hlbFlmzJIg4DPUNEVNLB+bRiXvG0djk0mkbMc6aFgcgyVKLp2t0q7wwU2b+hBb0+oohe/kDeOzWJiJoNI2ICuzVl101kbM4ksTIvj6GQSX/rByxhZF8EH33smzosE8s9RJz7jncJCv7VqVHre168Ny7k/c6DJo2wvjc7RaqJdc9QMWfk7f/Hjsteksv0afvq/fm9R5+5FCGt6/Dg1O39I9l9+7Vl88MqzcOMVZyw4l9XWQwCAqqA7bCCWNGWINuAaiAHHEVAUhpvetxUD/UsTfr373fN/D+cCDz/3EnIWx5oef16hMDQVAZ+GiWgG//M7v4ZPV+FwkZerABBPmsty7Zn3/gGIhAxMzGQwk7KxZX03Dp+I4efPHcXYRAIQ0qDk2awtm2MmbqKna+4zZ2zsKTof5wKHT8QQT5mIhAypnC0gczsVb+4CPhXprFVUl4YxBigCtsPRHao+H53OYvYrq0kuL5aVJtfbqmB7oeGTk5PYtGlT/vXJyUls3bq17PjDhw/j6NGj+YJoADA4OIienh5MTEwAkN7wUo/4WWedhXQ6jVgsht7e3obGyrlAPJ5u6LP1smlNELdcsxUPPj2Kk9Mp2I70bm5YE8LuS0awaU0QMzOpJRmLqiqIRAKIxzNwKsUuQ1q7v/GT1zCbzMmq2q6gcByOIydi+Pz/eRa6LpXkrCnD0xSFgQuBZMbCoaMz+F//9GuAMXAu0Bv2IZkxYdkcWdNBznIw0BNAwKchkTYxHcsuOB/7j0TxrYcO5C3wAb8uLfATCWStytchBMAdjr6uABJps2jeB3oCeGzfUdSoW1cla3H4fRy6puLIiRhG34oh51q+q5HJ2tjzq8N5pdkbggCQNR0Ymp0/VyJt5pXvKrerKg4X2POrw3jl0BQ+fOWZ2L65eijXiYk4TMtBwK/mDSqZnI3pWBZcuO3GhDQQHDkRw999/0X86U3nY/NgGI7DO+oZ7xRq+a1Vo9rzfuREDH93329w63Xb5r2fy4XFzNFqoZE5ikQCTfMeLFZW3vy5x+Z9/3f+4sf49mevavj8AHDXJ9+FT335l3nvYymaypBMW/j2nv0AgKvevn7euay0HhbSHTaQy9kAYzAtJ79GB/0afufSzXjPees6Zr07cjKOY+NxBP2qa0yeE3rZnINMzgYXAn5DRVdIRypt483jMTDIcNpQQAMDltXas9D9YwpgWg6eeekE7vnxK3hrOoXZpJkPtRdCuM4bAUWRaWPxtAWfpuDERBz94bnw4f1HomVyb12/lHudPk+V8ObOZyhyb8cAUfDMMMjuLxwCpsXL5mM50Oh+pZJcdmwZ6fl3338Rt77/7GV5z5vNcpLr9cjKtirYZ599NsLhMPbt25dXsOPxOPbv34+PfOQjZcc//fTT+J//83/iV7/6FSIRWTzp6NGjmJmZwemnnw4hBN73vvfhhhtuwCc/+cn851555RUMDAw0rFx72PbS3fizNvbgUzedV7Ga5VKOw8NxeMXv5ULgJ08dQTwl255oBQ8eU6TSlszaUHI2dE2BAJOh0HCVQCFgOVKRBoD1AyFZGCOow7QcOA5HKmujv9uPT910Ho5PJhecD29MGbetgmdNtR1eVbkGAAgZ5uU3FHzkmrchnZHfc9pACH/xd08tWrn2iCUtdAUNdIcNnIplpYLNAENT3CJnAgzM9WrLyuJybudyvAsivJHMWOiP+DAdz+XHuJihHptM4p49+/Hvrz27ar5U0KdCVRksS+YlCSEQS5rgQkBlDHDH79NV6AEFsaSJ+x8/hE/9wbngrle9057xTqHab60a1Z53XVPRHZZV53/y1BGcsWHlhNzXO0erkXbOUaPfe+DkyZqOe+XYCWxbZLj4F/7jpYhmMvjPX34mv27qGgNz+zgwVUYA3f/z3+Kytw0C81xS6XpYimVxBAM6/sMNOzARTefrXuzcLkO0O+lZjiVysB2BoKqURXnNJnNSmXTbjDEwxNNS9gvI9pTprJ0Pk86YzrJYe2q5f1wIPPbrY7A5h6FJmQfI67YdAQYBpgAMssaJZXP4dAVBn5q/v6V53kE3z/voZBLffOjAssxR9ubO6zLnGR0A5HusA4DgsqVp4XwsJ+rdr1SVyzpDv8+HU7PZZfHbWEpWmlxva8C7YRj4yEc+gi984Qv4+c9/jtdffx3/6T/9JwwNDeHqq6+G4ziYmppCNitDuXbv3o2enh7ccccdOHToEH7961/jtttuw7nnnov3vOc9YIzhfe97H+655x489NBDOHr0KO677z784z/+I2677bZ2XmpDKIxhZCiCHVv6MTIU6cgf4dGJBI5PpSCEKMvl8to/AdKCaTme8jX3vrc4CSEg3BZZHoauIuCXedrj0TSOTyZrmo9KbRWEEJhNFvc+ZSgQBJCCgAuBt6bTUBjy3/PrA5PI5GxUqk/TCAJAOueAMYaAoc4JICHyxdK8HPN8/2smR1y44fGGwwWKlOvF4M1XOmvP29tx02AXhvqCSGVlyLppc1huL2/GGBwhoGsKDF2VrSwCGk5MJjE2nig6z3J4xjudetqIEEQnc+e9B5p63EK8/uYsAFn40dCUvHINyN+OqjKkMjb2vTYx73lK18NChBBIZW0M9QWxeV0El+xYh92XbMYlOyrnXHMhMDoex6uHpzE6Hl/y/rqFRZ0KMS1HrvGKlE+KwpBIm0UyO3+s7SAaz0FT2bJYexa6f8mMBc4FbM7RE/ZBdcOgC5dbm/P8Zz2vdk/Yl6+8vlL7KXtzZ9qOdAIUjF8IWV9G1xTkLAdDfcFlXYm+nv3KgnI5QHJ5pdP25nS33XYbbNvGZz/7WWSzWVx44YW45557oOs6jh8/jiuvvBJ/+7d/ixtvvBE9PT2499578fnPfx5/+Id/CFVVceWVV+LTn/40VFVaHf/iL/4C4XAYd911F8bHx7FhwwZ85jOfwU033dTmK12ZJNPWXEhVxbWmQFh48UMFFHpiGWprkVXLmErbKpg2h22XCE7MKdmF79i2KPquaDwrjy09cBF4c+YVvFFcpbSggwq4q3B7oeHel1eaZiFQtQJ5fUj/uU9X5+3tqDCG6y8exr2PHMRs0oSmMDlHArCFgMKA7tBcqoamKcjkLCSolUXToTYiBNEY3tpeWXZ5a7HAqdj8+dql62HIP1cYLJW1F2yt6NFIm6hm4ylMx6dS0LW5ok6ci3z9D5+uQlcZpgvWFE9uMQYokPIslbXh05SOX3sWun+aqsAGzytL0nuPvDEZcFtsuvsDm8sotMvPOy1/z1dqP+XCuXNsAdux884UDhntoCoMuqpg+3Avjk4kVkWf8FrkspMhubySabuCraoq7rjjDtxxxx1l723YsAEHDx4sem3z5s34xje+UfV8mqbhE5/4BD7xiU80faxEOeGgPhcW7mmsRRRopV4CcWGF7pKPLNQiq9YxlbZV4CW5ZIXfX4qmFX9XX8TvKuLMVWIXr2UXzpnCgFBAg2lJL7CswymLyqgKQyrrFUrztntVprkpyI2DrivI5px5F/9tI3245Zqt2LN3DMenktJaDRl50B0y4PfNLS+2LYt7dFEri6ZDbUQIojG8tb3youq9zLCme+EWWoXr4Xg0jXTWhqqyBVsrejTa9nA+KvWxXkixqaZsOly4NnKG3i4/LEfArpCy5KUHKZgLk14Oa89892/7cC/+9dfH89XxDV2V3U1sDk1l+WKi3j5DYQwb1oZx+QXr8+dfyYbQwrk7NpmUefpuH2yfK5Msh+Nff30cj//mxKroE05ymWi7gk0sbzYNdmHDQAgHj1qwOYdekIPthX0DUonUVSarqBaEbXMhpPB2BZRe0t7FC6/bMBCqObSokgW+1gqdDMD6NcXftXP7IL732CHXkr14TZZB5i0JIZCzHARcRXSgR25aOJeVZXWVYTaZc4umAJo659EGio0Dsk2Y65FnaDhcXAghw7qBmhb/bSN92Drci7HxOO59+CCmY1n0d/tR2soilbGxeX03hoe68jnYRHOo5nECGvv9EES7uOOWbTWFf99xy7amfF/h2q4zlP12HEcgHNRx0Tnz52B7eOthvUptafhwvnK3q8jNJk3s2TuGrcO9856rUKGeimXw/MGphrzhFZVNhSHol7Iq4FORzMwpgvkoNDYXpFYpTLrTqXb/jk4k8PhvThQpS90hA9PxLLhAPoIrFNDgOAKhgI6brji96F6tdIWrcO68VqyxpIlfvHgCpukgFNDzUQGroU/4gnI5Y2M9yeUVDSnYxKLwrN1vnUohljJhOVzmWTM3pAxAyK/JtgYWLw4fEtLCqakKgj6pWC8mvK50TEUWeLU4f7kaXUEdu3eNFH2Xpii4ftcw7n/izaptr+ohEtZhOwKprIWAT8MV55+GJ158C7GUhZBfg8+QRUBiKQsBn463nzWAX708DtsRboXOeSLV3Zh3TWFFY1UU5IuQVP2om1cXCelI55yalTKFMWxe140PveeMqiF2AUPFB997JhQ3bIxoHs0KTyWIdiMLly2sYC+2wJmHt7Y/8ORhafwtyNGxuYCqMHzwyrNkIbKFFlAXL0+zHpoRPlwYXp4zZbVvxhi6wwYiYaNuxaaSspnOWPjOo7/FtJtfzSAVas+gqzCpaHrzVxomvRyodP8qKUt+n4b+iB+zyRxMSyrHmsKwYSBc0YixGgyhhXPHhcCXvv8SbFugN+KDFyJSr9FouVI1EsTmSOccksurgJXV1ZtoC9tG+vCx3duxabALqiJzkhzXC7tpbRj/8YYd+Nju7Rhe14WgX4eqzCnXQb+GkaEufGz3dnxs93ZsGAghZzmIJ03kLKnkNWLl9Czw3vlmE3PtWKotZ4wBv/uuzRW/a3iwK+9pbhTGpOUfgiFr2uiP+PDuc9fh7OFe/LuCsZZe+y3XbsMHLt+CkL/8+wuvRVXgRhDInKfesAGFyddDPg0Bn1qaAp9HYVLwRUIGsiYvW/xrKbxTOueF13Hrdduo52MLmW/uV7KXgFh5fPPT713U+/Vy7UXD+fWVu7KLC4GQX8MfvOcM3HjFGU39vkrkw4e1efI1HVE1fNgLLz8+lYShKfnQbS4E4ikTpuk0VEyrtKjT9s39uPW6bRhZFwF3C34IIaPTDHfsnAs4XBa83DhYHCZdL+0u+ObhKUt+Q8Vs0oRpObIdpcLgM1T0Rnz4v6/Zhj+76Xz8+YfOr7jeVjuHaTmYTZotU7jaNYdHJxI4OZ1CV2j1Ft+sKJdNByPrIrj1um0kl1c4TJSWTCQq4jgc0Whn9KlcSjRNQW9vCDMzqQXL58uFPIHDb8XABLBlfQTDBZUWvfA1L3yoK6CjK2QUhdA1kjO20JiOTiTw6uFpPPrsMfj9GpJpC5ZXuRyyb3c4oIFz4KO7t2PHlv6yc9x134s4PpWEX1cwNZsDY1Jh9oqKqQpDJKQBAshZHJedtw6nrQnjrVNJmBbHltMiuHD7IN6aSmH/kSheODSF2YQJx/WSdIcNjKzrgk9T0RfxYcv6HowMFV+7zTme3T+BN0/EsHf/hNzQMNk7PJWxALcCOYQcc8CnIRTQcc3OjRjoDuRbjj13YBJvnojBpylgDHhtdAaxlAkIeb9Lwwg9z8jxqRRsR+ZSz5dXWOkeGrpa83O0Wqnnt1aNZv9+Oo1mzNFKp5E56usLNa0PdrNk5YGTJ4vCxe+4ZVvTPNeV8NbXwhZafkNr+HmrdL5KVcMBYHQ8jq/88BX4dLVi+LBpOchZDj5549vKvKuF8qkn7INpc0zNZPIdKWwuYGgKBvuCC56rFjRNQXd3EC++Po5X3jiFx184AZvLAmBCyF7HOUuGBC/GuNfsgm/NWBurjel3L92MS9++sabnZCkL2bWzaN6rh6dxz54D6O/2gwtRFkHIhUA8aeKPrt9WtudaaRQ+e91dPpx/9hBisXTNawrJ9c6hHllJIeJE01AYw5Z1EWxZV1lo1xI610h4XS3n4wJ47PkT4FygJ2zkFVPFbc9i2XJTUCn/qTB8z9BV+Awbps2hKrLoGYdsp+UzNKSz0jr5B+85s+ICmMna+LeXT+YL2TgORzSRQzSRw5GT0pKrqQzr14Rw03vOKBKCmqLgkh3rMJuQIWmmxfO1ebwfvBeWLwD0d/vxoZJzAMClO9bh0h1yo8qFwDvnMYocGI3i7gf3I5G2itqXHDxq4a1TKXxs9/ay8zf7HhK1Q3NPrBS2rVuHb366dQp1Kd76WivzKdAP7xvDnmfGkMnZ+TX6e48dwvW7hnHtRcNl51pM+HBpeLknA7wtoMoYLJvDtKQXuxnFtBSFYfO6CDYOhLF5XaRMiRse6lqUEtfsgm/NUjSr5WhXMorUe45mK0ytKJpXD7IALpNpg00oXrucKZTLmqbUXBMI6IzOAkRjkIJNrHgOjEbx4DOjSGdlGB5jc5Wufbq64AamtPqnV9zE5jKXnEEWGIsnpbCsFuZVWsgmZzqYjufKqpI7jsDYRBJf+/GruHbnJmzf3JcXwAdGo3j8BWkoUBUmc7KFbPulMIZI2JCtshyO971zAxwuw8MqCfCFFm4uBL7/xJvSuw25AZ3LT+SIpUx8/4k38Ze3rMwcKoIgiErMp0ADwANPHobDBTSF5dfMVNbGA08eBoAyJXsxdRRK5ZPXQipfGN39h9cCs9mKTT0KYy1e/WYVfPNotqLZDCNmqw2hzZ7DRtg02IV1/SEcP5VCd0hHYULbSsk5r0Qzvc3tNpIQi4MUbGJFU7hARUIG4ikTnMvq3adiGXSHfLC5mHcDU1r90ytuEkuZ+VBzgGFdfxA3vntL1QWv1NMQS5l55bqwzYlXKTyZsfEvvzyCx184gaH+IN5/8TB+tncMNucwdMX97rmq4o4QmE3koKsKdE3BD//tMDhHRYtnLQu3z6fhxFQSAIqqw4PJf1sOx4mpJEbHE1WjFgiCIFYSD+8bq6pA/+CJN6GpsqWVrrI5TzQDdAZYjsCeZ8Zw1YUbyxTLRtt8lconQ1PcFlKOq9LI/yoKa5liU4vCWKtXv5n9ojtB0WwHndBzW2EMuy8ZkUajhIngKii+2Uxv82p9dlcSpGATK5ZKC5SmKoi7ijEXAvG0ibM29sy7AFarIOr3aciZNuJpC+sHwvjDq85AMmVV9RgXehpMy4Hp5pqULo2FDm2vkMrxqRS+tecALIcjHNChKgpmCgq3eQgBmDYHY0AkZFRsi7F1uLemhfv8M/pljniVxVtlDA4XOPxWjBRsgiBWPDbn2PPM2LwKtGVzqAoqKjaaAmRyNp7dP1ExHL2R8GFPPh2bTCIkBLgAAj4Nlu3I3tUQ+QJkrSymNR/zGSVKvfrN7BfdCYpmO+iUntvbN/fhEx88D//8yOt4azpVd2/45USzvc2r9dldSZCCTaxYKi1QAZ8Gv6HCtDlM04HNOT5w+RZsXtdd9Tzzhe+lcw58mgIuBP7+gVdgV7FaciEQS0vFPpbMSaW1hvqCDLKAWk/YwKnZLHKWg+6wgUzOnmvZVek0jOWNAaWKs8+n1bRwR+PhuUFUG5wAGJVJJAhiFfDs/glkcjY0hVVcOxlE9TUZANxlPxrPVv2OesOHFcawY3MfDh2PIZmxZKdGJscnhGyVpalKvqtAKxSb+cJiazFKFHr1m9kvulMUzaWmU3puy2r8Oq65aBNiyRzCAR2RksK2K4F6vM21slqf3ZUEKdjEiqXaAsUYg89d+OJJE6mMveC5qoXv9YYNxNMWpmezCPpVBNVyqyUAfP+JN3FiKil7U5c7nufpa81kTp3b0ixr2vkq6Koiq4Bzt/GoEAIOB1QmBahpc/hc4VqoOB9+K1bTwt0b8cmWalyAlXhkhBD5PPAt68l6ShDEyicaz8q1uopu4NlNq67nQn60L+Jv2pgOjEbxxItvQVcVMMj6G3J9lmv55eedhnNP729pMa35wmIXMkqUevWb2S+6UxTNpaYTem4fGI3iZ/uOYmImA9Nyip6LlaRcA/V5m8/Y0FPTOVfrs7uSIAW7Q1jpZfhbTaUWYPG0CS44kikTiqq43gVZGExVFQjOISAwPpNG6KQGmwv85uAUcpaDLadFcNE5Q0V5cttG+nDmpp58kZbeLh+efnUCs0kTa3r8cByZ2825QNCnIp2z8f1fvIFYysRsUhYKK8y19pjPAWxoSn5xDfg1KEkmc9iEgNfU2it05oi58wkhkMnZgJjzqDBX8WZC5mVblgMBwLRkqLpPl9/lLdynr+/B+jUhHJ1Mun3N58bvVapd0+1HIl09LL7oHnGBIyfjiCVy9IwTBLFkvJVI4G/+4XmYlqxf8Zd//A6c1lW/ctEX8YMB4I6AUER+XWUAlAJZIQTgcO56tZH3Jttc9tfeuX2wKddV6Dlb0+MHY0z2V+aymGc6Z+Ot6RQ+fFXlrhaLpXpYbBL37DmA9759PabjWenRr9bZpsSrv5iCb6V0gqI5H63a9ymM4f0XD+Nbew7g1GwWQb+GgF9bsvxn77nImQ4iYQMBvwrLWrnFuVrhbe70Z5dYGFKwOwAqwy9pVNh483dsMol0zobwCoe5OcKV8DwNigL86JdHkM3ZRbnPv/jNW/j/Hv0tfvddm/O5YaX3SUAgnbXRHfIhYzqIxrKwCnr4KQxIZWzwgnjB+ZTpUuVbVRi6Q0b+37bNEfBpYJBKseDSHSLcuVMYA3dz8AAgnjIRS85dL2PSuMAUoCug49hkEqXTo7sFckaGujAy1IWb3nNGvk1X0bEMUMCQytr41kOvL/jM7j8SxcPPvYRj4/GqYfQEQRDN5o8+/3jRupqzOD7798+BAbjn0++t61w7tw/i3p+9DssRgLfUuydXBIe7JEMAcPjcmwqT67KqMFy/a7hqP+x6qeQ5K/R2McZalqdZLSyWc4Gc6SBhWfiXXx6Bz1DzRllFrSDPK3j1Gy34VkozlfVm08p934HRKH62dwyWI9uPZk0bSpIh4NOwcW24pXK38Lno7fJB11TYDq+5ONdydDa1wtvcyc8uURukYLcZKsMvaVTYePOXTFvIWXZ+g8PnTYSbe0twuB7h8mOyFsf9T7wJABge7Cq7T6m0BYcLzCSyYCmp6SqeO0MAlsPLT1oB6eEoLm6mqwx9ET/8Ps0dr7RYblwbxrUXbcI3fvwa0jkbDNJDYmgq/Iaa95QXXqP3dyEEmMLw4NNjZQYFD8vmcByOHZv7oDCGbSN9+Nju7XjwmVGcOJWCbcsJNi0HhqYiHNArFlIrvGcHRqP49iMHkbN41TD61fCMEwSxtJQq14UI9/16lOzHnjsGu4rR1nvZ0FX4dAWJtJX/bi4Av64UGWybQTvzNMfGy5X7bM7GdDybNyYIAAFDRTor5Y3DZWqTx3xe/dKCb6GABgGGdKa2iKnC8zRDWW8mrdz3FZ47HNDRHTaQzTlIZ21oqoLrLtrU0mteTHGu5epsapW3uROfXaJ2SMFuI1SGX9KosCmcP4dzCMh8LtuprliXIvL/qQwXwE+fHsXIUFf5fTJUKJ6X3Jmr1AoAYHNe8oXwGwpuePcWMMYwMZ3GC4dOweEciiI90qUWy20jffgPv3cO7nnodeRMB0G/Bp+hYGq2euEcj74uA9PxnDREzDO+vfsnsHVTD4aHIkUbnUTKxI+fOoJTsWxNz+zcPXJkGD2XYZWr7RknCGJpeSuRmDdiCJBL/1uJRE3h4l6xLi87p4qejYEeH1RVRW+XD6msDcuWHSNGhiK4euemip9p1GvXzjzNRAXlPpYywQWguS3BuJDpWD0hHbMpy/Xqy9B5CMB263hU8+p7Bd8OjEbxwJOHG1a8GqnO3ipaue+rdu5QQEHQr2E2aeKhfUdx9khfy669UaPPcnY2tdLb3EnPLlEfpGC3ESrDvzhh482foalIZWyoTGZZN7uodSbn4OhEEpGQUXSfDE2Bqs6FoXu9PQFptaxFuZbHAmdu6Mnf47efNYA9e8dwfCoF2+HQVAUbBkJ4/8XDCPg1vHp4GuGgjj+67mw8tO8oxqNpxBKm3GRpCnyGikQFj4XCGARYflwKY1BV5hblkeP1QsyPTSbxv+9/GRsG5sLJRoYiGB2PuwKktmc2/4wHNPd4Me/xBEEQzeBv/uH5mo/72l9cseBxhcW6FIXBEaJiOlLG5AgHVIAxhAI6AB2m5WBipvleu3bmaXaVKPem5cjim+4YPHmoKAzdXX44HEhkrHx0GQMQ8mtlfbBLaZbiVW919lbRyn1fJ+wpC40+qiGNPkII5CwOzmVxVEVBkdFnJTibWult7pRnl6gPUrDbCJXhX5xAyM+fPtf2A7VFZdeN7XBoWvF9Yowh6NNgWjIsm3PuKrFeTnR1L0chAsCGteHi14SQ77gu9mTGwv2/eAOJjFW0CXv/xcMIuUr3I88dQ1/ED9N0kMraXg00N4hcwBHyOoq/meU92YX56gyApihlm5h6n9n88drqfcYJglh6vOKNzTrOqyAuo4pKFvYCa6pdITWoVV67duZpDg8VK/fckx/M7TIhBAxNzUd29UR8AAMufdsQgj4NfRE/dm4fnDcffSUoXqW0ct/XCXvKQqOPocvvi8ZlfRqvAGvQpyGVneve0gmGgWZA3maikOZU2iAaotDSV4nVUIa/FgXMcURFgeDNX14vdD2xrUBz84YBzxrrIJOzobqtUSQMjpB7LUNT0R32VW0hXYiqKjg+KauReRuuE6dSCPl19Pf4oakKjk0mcdQ9JhI24NNVHJ9K4TuPHEQma2PHln743ArgiuJWrgWDwlwFGq7SrBbO89zoyorBMQbDUNETNpA1HezZOwYuRN3PLD3jBEG0A0OvbXtT63F9ET8gFjaaFq+xkkrrXKnyaOgy5UjXFAR9KpJpC/c/+SZsPr8BwPOcbRgIIWc5iCfNfM/rVobVesq9V/tDpv9Ir77jFt0sjPqybQ5dU7Bz2yB2X7IZl+xYt2Cxt3oUr+VCK2ViJ8jbwufi1GwWkzNpmLYjzfyu4wEC+M4jB3FgNApgcfvAVsOFwOh4HK8ensboeLyoaG0lPG/zji39GBmKkHK9iiEPdhuhMvzlOWRCCJg2d8OIpGu1mkCYm78kNJXBcmTvz2YT8KnYNBjGiVNpOJwjnrLy1lgv6JkxYKDHDy5kSJyhKRBCIJbMzRsqrqsMmqogmbaqWuvTrqWXuX8PB/QyC/6nbjov/yz1hA3omgLT5tAYK/ImBHzqXK9WN4y9MGzcw9AUGO4zWbiJqfeZ9Y4/MZVCwFe83KyWZ5wgiMbxUktqTbnx+Ms/fgc++/fP1XRcLbz97AH844MHFjwuoBdvqKutc5WUx0zORjxlSvkiBMbGE/j8Pz2PD7z79HkV5UY9Z4ut2FwUFjudlqHzXMDQVXSHjPya3+ha3wke2WbTyn1fp+wpt4304earz8LXfvwaHC7TAQQDfO5z4XONMl70Qaf2fF6uRdeIzoA82G2k1AJsWg64EDAtB7NJc1WU4fcEQiprI5OzMDmTwdRMBqdiWUzNZDA1m0VXQK8oEObmT5OW8Hp3YJDFauabXoUBv3PJCHbvGoHCgKnZLEzLAWPyx8PdXDLGGBJpC6oiPRCWzRFLWQj6NbdFFqCpDKqbv6e4/+4KGtBcweFtuII+DabNkcnZSGUsmJYDTVGgKAyWzWG61ulC5ff4ZLLoWQr6NDAIWA6XPawZQ9CvIZayEAkZCPk1t5WMgBC87Jr9hgrT3eQVWo/rfWYLj5+O51blM04QRONkLRuprC036nWsE6d1dS0YQcTc42rhhdenajpuOlGbLC/12mVyMpTWtF354ub4jE9ncG+Bt68a9XrODoxGcdd9L+IrP3wF9+w5gK/88BXcdd+LC35PKdtG+vDnHzofn/zA23DDuzZLb7ymQHWLdC5mre8Ej2yzaeW+bzHnrsVTW483NxjQ4TNUrO0NYKA3gLW9AQz2BeH3aVUN96ms7abHzeEZBob6gvMaBur1NC+EF014fCoJn64WRQ7W8nskCPJgt5nVXobfEwh3P7gfU7PZfFEUcJkzDADT8SxeH41i++b+ss8Xzt+Rk3Fkck59A2CAT5Xe3tLQv8K2KlwIdId9svVKQQEzzyLrCYasaYNnkb+H79+5Ed/9+RuYiKbzG0QGQNdVRII6shbPW5T3H4ki5+ZP266H3AtJZF5ONzCX64ZiC/6OLf1Fz5JPV5GzHAhIpdm0HKztDeD33306FADf/8UbOHEqBaeg6ronduNpC4m0JcMV/VrRJqbeZ3bbSB9uvW4bHn7umNsHe3U94wRBNI7g0riXYnI98hsqfIYKhSllm/FS7vn0e6u26qq3D3Y0ns0bYyt9rRcZ1BXQkbOcBdfFQuVR1xTEUya4EFAZA2MyqogxIBLSkc45Tc01blbhsFIP+LUXD2PzukjT9jOd4JG1Ocez+ycQjWdryhuvhUb3fbVEHDRy7lo8tfV6cz0DUk9YB69Q9LVw77LYWgLN9jSvxNx/YukhBbsDWO2FEbYO9xYpr5yLvLKrMCCVtfG1H7+Gj9+wA+dUWCy9+dv72jj+v389hKxpu55pmYkMyPPxfMVXoLdL5kensjZ0VcGNV5yO4aEu/ObgFHKWgy2nRXDROUN5QXp0IoFE2sTa3gAA5EPYDV2GXBu6ilTWwo3v3oJI0EA4qCOVtfGzvWNIZix4bblVBQj4NOiqglTWRiig5wXHVCyDTM4NB2cMDCIfg+5wAaG4edXK3HNRasH35uLJF0/gyRffwqlYFjnTgeUIONzG5EwGP9s7husvHsZf/vsLMTYex5snYnh431FEE7JYm5fDLSCV8pzlYNPacNEmpt5ndvvmPuw6fwNefH0csUSupmd8seGLBEGsDARk+o9jyvVIyTD4NBU+nyyipbDyNBePez79XryVSOBv/uF5mBaHoSv4yz9+R82ea4++iF8agBkDmMiv6Yx5hkkGDoHfuXQE6wfCC65bhcpj0KfCsrlbM4O50UWyg0Qlb99i1sVmKQ/7j0Txk6eOVFRq/vxD5zdl7W5nETcAeHjfGPY8M4ZMzs6nhH3vsUMLVj6vBU+Gjo4ncPitGJgAtqyPYLhKEa96lMh65HMtxhYAuPeRg8jkLPh0DYouC7scm0xWNciEg7qbusehKuXfW2nv0ojRoRXtvVZK0TWivTSkYN988834r//1v+L0008ve+/111/HHXfcgZ/+9KeLHtxqYjWX4S9UXnOWg1jShAIxp+gJmXv8rT0H8EfXb6u4WCqM4eJzhvDoc8dwbDKZ36hIGJyC5GwG2cOTu0VZcqaDH//yCP7D752Dm957ZsUxFuaCVRJSuhtGHQka2LGlHwdGo/iOu+iHAzr8PhUz8RxsRyCRtsAgvdxruv0A5Kbn+YNT7t9R0UXCOeDTWb4qazUL/sGxGTzy7DEk0xZyli17kTIZrpfJORgdTxQJnuGhCJ56dQIzSdOdH7ljZIVF4ypcc73PrKIwbF4XgT2wcKI85T4RBFEJIQDHEUg7NjKmDVWRrQn9hlQQPZlRyGldXTW14pqPndsH8b3HDrlGWVYkB4QQsByBkF8rMszOR6HyGE9J47LX7ssrOmk7HJMzGWhurY79R6K4/4k3F7UuNkN5eOnQFL710AFklqBncbui/B7eN4YHnjwMhwtoCssbu1NZGw88eRgAFq1kHxybqUnONaJE1iKfazW2CCGQzJhwOJDO5uaKpmoKHG5VNMhsGuzCuv4Qjp9KoTuko7CoarW9S72G+1Z5mldi7j+x9NSsYP/617/Oh2M9++yzeO655xCNlucg/OIXv8CxY8eaN0JixZNMW7BtDk1leS+2qhQoyEyGSHvVrOdbLHds7sOxySRsR0BTWb5liCjwiHMBCLfatqLIImDpnI17HnodH62iwC9UhMNyxx8O6hUXfZ4T+d+PJ5j6ugzMJE3c+8hBXHPhRhxzq4TPh89QIQBYllPRgl/43Q7nrtdcevJVBjhCbt4yOTs/l56Bo7fLh3TWhmXzfLtqn64i6NOQSJtLZq1thUV6OeHlkpHnnljtSIVK1rIo3KB7CLf1oJ3hblcHBr+uwq9r0HWlKJ1msWiKgut3DeOBJw/DcgQ0BQATsN2sJAbg2os21hU+7CmP9z/5JsbGE3CcuT4YXr0OCMB0a288/OxRKApb1Lq4WOWBC4H7Hz+ErOksWfjsUkf52ZxjzzNjcLiArhbvRXQGWI7AnmfGcNWF9d3vQmqVc60MV67F2HJ8KgXb4ciZHAKynosCuUWwbAc2mOxyUrI/UBjD7ktGZPRBwkSwxuiDegz3rfI0d2rRtWpQtF9nUrOC/YMf/AA//vGPZegqY/hv/+2/lR3jKRC7d+9u3giJltEpP8qpWAbpnI1ExsorwsIRUJS5CrKMMRi6bFe197VxXHzOUNFYPY/nyekUmKtEWw6XLSHc41QF8FqUegW+PBQG5OZR4BfKBUtkLGxYE8qH75Uu+rGUCQEGQ5OeZM4FmKKgJ6xhNmniF785jnTWzivElXKWABmaHk+aVS343ncDQM7t78od4c6hvE7b5ugK6HnB4224ImEDXUFDFkYpCIHnQn7nUlhrl0vuU6t+Oy8dmsI/P/I63ppOkeeeWNW8/OY0/vf9L0EIoC/iw7lb+vG20/sx1BesWOyMc7muWhZHSpFeZr+hwWeoUJWF87VrwfNY7nlmrKiPLyBlygNPHsGh4zF86g/Or/mc20b68P/b1IPPf+d5jI4nACEjoubOKwtpcgGkMjbW9vrzm35vXZxJZPHdx36LndsG0d8t84QVxiquUbUoD4oCxNMmXj08Xba+jY0ncGIyiVBAa3n4bLv2KM/un0AmZ0MrNPS7MMagKbIo3bP7J3DJjnV1n78eOdfKcOVajC22w5F1U9cKHR9eAp7DBdJZG4mUWfb57Zv78IkPnpeXac2OPmiVp7kTcv9rhaL9OpeaFezPfvaz+MAHPgAhBG655Rb81V/9Fc4444yiYxRFQSQSwZlnVg6zJTqHTvlRHhiN4pFnj7lto+Zen1OA5/Km4ykTAsA/P/4Gnn51PD/WMkuwpiAay+UV6JBfQypj5ZVrD5Y/u9y8aBqrKqjmywVLu7nUuy8ZgcJY2aJvWg4sm0MtEExesTLGGDSV4a1T6XzeeVlPam+8DLjqHRuw5bTuqpuNZNpCznTyudyF1ykE4AhAYTK327FFfuNSuOEq3XQtpbV2OeQ+teq3s/+IfI7TGemxW22ee4IoZHQ8npcJ0XgOT7z4Fp548S0M9ARw7un9OPf0fgz0BCp+lnOBHBcwbRNKlsFQFfh8Gnz6/PnatXDtRcM4MBrFK0dmKr7/8ptRfOkHL9alZGuKgkvPXYfR8YRrIBb5dVt2epDHCchOFoZuoTtkwO/TkEiZSKZtJNI2fvTLI2AM+KdHf4tIyIDt8LI1autw77zKQyxlggH4oRseXbq+JdIWbIcj4K8sD5oVPtvOPUo0npV7g2q6vFvQLhrPNnT+euRcK8OVazG2eCkXahVjg+I+r4lM5e8/78wBbOgP4PCJWNMNJa3yNLc7979WVnu0X6dTc2xLV1cXdu7ciYsuugh/+qd/ine84x3YuXNn0Z93vvOdOOuss+pqpUEsPZ3SfqDQitsf8c3bLmsuxFuGAHpjfc0Vwp4l2NBVBH06+rv9+XDqdNYuKgwGVJabWdOBbfOqgsoL59swEELOchBPmshZDjauDeM/fvA8bN8sF7LS1iL5MEX3S738JUVh+b6ntUQyekJuvjYsQbeCrSj+yry1GXBD5Plcf/FmtMhoFqWta0opbBnWDlr12+FC4MGnR5HJ2ujpMmDoKhQmIwh6wkY+PWKxrUcIYrlw+fnr8bYt/WVr9dRsBj9//ji++P2X8HcPvIwnXzyBmURlRcfL186YDmLJHKZjOcRTJkw3rruRrUrWtqsq1x4vvxlF1rbnPaaUge6ALICpq3ljKOduIbWC4xhjMG2O6XgW07EsZpJm3lDsRStnTQeTMxlYNi9bow6OzVRt5eQVxRRCpiNVWt+6gjo0VWlp66x271G8gnYVy8+7rzP3uEaoR861slVZLbK/v9sPpsj0sko4Qka7hQPVv7/eFnLNHH+je5dq+70NA6GOUFxLoyBoz9B5NJQ8cvfdd2N8fLzZYyGWgE76URZacf0+TRYSmXfsUvAE/Vp+rP/yb2/i5HSqzBIc8GkY7A2gr8sHn67grI3dReea841LFAWwHQEBkQ+Nq9RLMd/z88a34f+57mzc+O4tuOaiTQj59fyxpYt+XrkXctHnQkDXFOgqk8o1F/le2QvxwqFT894bVuDx966z8Jo9Mrk5wdNJ/djr2Uw0u+/lQrTytzM2HsexyQQ0jeX7j3uUejQIYjXQHTLwn246D5/72EW4ftcwNq4Nlx1zcjqNR549hju/9yK+9qNX8dQrJzEdz+Dx54/h/l8cwuPPH4PlSGXay9dOZW3MJkxMx7JIpC1YDq95/QWA7z92qKnHeYSDsm9wb9jAQG8Aa7r90FQGxmRBTA/GAE2RxdCSJV5DrwK5RyojC2qWrlFbh3vLlIesaYNB1t1Y0+Ovur5tHAxj/dowUpnWGGQ7YY+yc/sgAj4NNhcVr9HmAgGfhp3bBxs6fz1yrpoSaVoOMlkL8ZTZ8HzXIvsvP/80hPy6TC9zoym8iDiby/ahAZ+GSMhoaC4WYj453+q9y7aRPnzqpvNw47u34Mp3rMeN796CT910XtuVa6C+KAiiPTRURfz000/HkSNHcPnllzd7PESLaWYI7mLzowpDn7w+1IoirfbVCPrn8r5Cfg1Ts1kILhAOltuKsqaDZNaGaTl480T1RUZhssq25QiYtqgaGjd3PEMma+OR547lw9cMXcVgbwDvv2gTto30lYcXqVJx8jzXkZAByxGw3H7XPjfX2bSqX7ymMswmc/Pem1TGnut/XSAMS9H1YsEzX6XW9188jIBfy+fjbVgbxvHJZEvy4mrNfUpnLNx134tLGj7YqvD1A6NR3PeLNxBPW1CY9HrpmoJIyEDAJ5doqlpKrFZ6u3x417nrcOnb1iEaz+KVw9N4+c1pnJxOFx13bDKJY5NJ7HlmrOj1n79wAu/cOoDff/dc1xMuBLgjYGU40jkbmpuvbegqdHX+fO3JmUxN4671OI+5tS+JoE+DbXPY3C34WXig2xtMYdLL7ZE3qha8xt0OHKGAXrZGlRYOi6dN/PDJw/AZ6rzr27GJJD743jPxd/f9piXhs52QJlS5oB0AV6lUFYbrdw03XOCsnhzf0nBlTWFIZS25d3DbxKUyFg6OzTRUCG6hKu1bh3vx/MEpjJ1MwOYctjO3qdBVBk1RsbGkjWezqCVNoJVV5it9f2F6YjuhSuedT0MK9nve8x7cdddd+OUvf4mtW7ciGAwWvc8Ywyc+8YmmDJBoLs36UTYjP6rQisu5rJ6qMgZFcfPOCo5l7n90dW7cmuZuhJTyHJxMzkY0npXeYQCGriBnORXHwYVXCEx+j89Q8xuGSrkspXkvelCBEOU9IQsXfU1VYNnSUx0JGfAZKlJpC1xIC3B3SBYXM63yQiH5cXKpgM93bzwviM9Qkc7aMC1eZPFlkN6Q371kpKbememMhYcK7rNXoE1RZJuaZiu2teQ+7djch28/+tslzztqhUDzniXP08TcWH7TdhCNZ9EX8UtPSodVLSWIdtAX8ePy89fj8vPXY3I2g5ffOIVXDk9jarZ6LqwQwHOvT8F2OP7gPeX1YTgXMLmAaZlQFQZNUxBw19BKusna3gD2j80uOFZdK88JnQ+FMezY3IdDx2NIpOQaIiDrdTAm04MEBLh7UaU2gMJew4X1ReyC4iOla1RhxeZXD0/LllTzhC2nszYSaQuXv3Mdbr1uW74PdjOVmk5RHAoL2mVydj5UP+TXcP3Fm3D2cG/e6Lxlfff8Jyuh3hxfbz/x/SfexLGJpCx85xZ+Dfk1zCRN3P3gfnSHfUikzbr3ZAtVaffGmjVtdGlqvhuLaTvwG1pLItzqyS9uRZX5Ts9vXm6VzlcjDSnYX/nKVwAATz31FJ566qmy90nB7lya8aNs1sJTaMUN+tT8pkBRZFic7bYsmdOpWVEutW1zGJqK7rCB6XgubwkWQuRDrz3vsFUlFKuUSEgvqtAqz2XhgX97E5/e1AOFsbLqn4xJod8TNnAqlsV9v3gDt1y7FVuHe4sW/anZDH59cBITMxnEkyYEpCU84harURQGJCsr2JrC4AiBnOUgOE+u04a1YXSHDExEM+gOSQ8AF25BNQikcw6Gh7pw+QXrK36+cMPl3ed0VnrFmQKkkpbsq60A/RE/VFVpusBZyJv+szZVGW+WQPMiPxIpEz9+6oisQdDtz+dMqu4z5bjPsU9XOqpqKUF0Amt7ArjqnRtx5Ts24PhUEl/70WvzHv+bQ9NI5xycd8YabNvUC59R/ht2uIBjOjAtB0qGIejXoftl6CtzC1vddNWZeOLFkwuObzqecQ2ota1DB0ajeOLFt6BrDIwpUv65xTmEALpc2RRPmbDciC8Pze3LLV8rNk5rBUbp0jWqMAotnpYGhoXWty73s9s39+GMDd1Nr/JdbZ31uls4rgd5KRSHay8axlUXbsSz+yfyBs9IyMDD+47isRdO5BXZ0/pD+PA1Z2PTmuDCJ3Wp1/O6dbgXQZ+KgE9F0K9BVRUY7p4nk7MwNStTHtb2Bhrak1Vqj+U9Hw4XuGbnRjx/cArj0TQsW7hjDbfEm9tIN5F62nvN971HJxKIJ3P4wRNvIpk2EQkZZVX7O6GbyXKqdL5aaUjBfv3115s9jlVDu1tjLfZH2cw2SoVW3JQrXGybA0xa7VV302A5PO+FNlzreuFYr7toE7796G/zlmAuhMxjhbTqB/0aYkm5eahWodsjGs+hLyJD8maTuXwY1pG3Evgf3/41Ljv3tIrha+mcjWgsC9NycGwyif99/8vYMBDG+y8eRsgvf2abT4vgsvNPy4dXhwIaHnjyMI5PpeYNSdQUublj3iGCV+yT7EUVnIplkTVtZEwbuqagO2xA16SSFgroNVmbuRD4/i/eQDSeAwBkTCdfrE1VAAGGeNrCYF+wJQKnmkW6neGDzRBohZEfpum44akKcobsKTsdz8Lhbq9RJvvfRuO5mu8bQaw2GGM4dGy2pmMPHp3FwaOz0FSGszf14m2n9+PsTb1FbbGAueJo6ayFWDKHVDInw8h1FQFdwzkjvXhtdP5CZ+PRDEbHE9g0GC5S0HZuHywLLS6Uq2u6ZWV00+aYjmVhualFWdORxlgj4OaY5twIpbkiaAqbMwR4/w668qd0jSqNQlMUwLQ4cqaD/h5/1fVteGhufWuGUlNK6TqbMx3EXKOCcD33Qb+GdJWq1c1GU5R8K65qzoVjk0n8/f0v4ZZrtuKsjT01n7sez+vRiQQmZjJFCh+AvBOAYa5VrpezvhjZXNj61LI4oDCsifhw3UWbsLY32NL9azvkvHe9xyaTSGWsvAEra2VhaEq+an/h94+Nx8EYa8t+frlUOl/NNKRgF5JIJDA5OYmNGzdCVVWoan1hUauJTmiNtdgfZbMXvkIr7rHJJGybw+GyCFhP2IDtCMwkcxCQQlUAsCynaKylluBszoEQAoamoCfsm7t2RfrIq7XrUhW50ZlN5GA7xR4Cee1J/PDfDgMAQgVe5GzOwbQbjq4wBg4plMdOJvDl+1+G31DLwql3bOkHgLLcqsLQPrhjAmP5Sp2awvDtR36LZMYqeoZ2bO7DEy++haxpIxzQEXCLflgWx/RsFqGAjo1ra7c2P/niCRybTM7NW8GgHC7HZdkcpuXA0NWWCLxKm7d2hg8u9rdTujlTFIZ0zoblyIrAa7oDGOgNIOpuqoWQnqj+bj8+9J4z2p7zRRDtgCkMqqLIPtdVDJH1tkuyHYFXj0Tx6pEoDF3B9uE+nHt6P87Y0F3k8QWksmrZDrI5gbTbX/vC7Wsxncghk7ORztpFEVIMyBtz9zw9it8em5Uhxu5733vsEK7fNZwPQQYqy1WfrqKva87oZtocOcuBwhjSOQeRkA/bhnvwq5fHi/KEC2VIyK9XlJkHx2YqKoo5S1ZKnp7NIhI22rJhL1xnp2ezyFq2jJpyC7gpivz/tx/97ZKG6c7nXDB0BbGUhQefHsWnbjqvrjmq1UhRTfaZNodlczkvoqBrCRpXRj1ZlcyYsB0Bx5HF3sYyFk6cehO/f9nmoue32Sy1nC+83pzJi+sYcFk0bTqeRX/ELwvyagriKRP3PnywbC+2lPv5VuafE4unYQV73759+MIXvoBXX30VjDH84Ac/wN13342hoSF8+tOfbuYYVwSdlM+xmB9lKxa+Qivu/iNRvHBoCrMJEzlLhqRtGuwC3D6L8aRZcayF53jzeAw/fWYMIb8sWmN6udcCrlD0PLHSQy4gYDsyp4lBCqxqpHO2DF8vCF+bTebA3bA17lYVM20HGVNuDBiTeXuOI8rud+G9OD6VAlhxaX8BqdwamrRGpzIWpmNZREJGwTOUxKHjMegaw5rugLxGXUXAryNnyjZgkaCO971zAwKuh3++DQAXAk+++JZsC+aFHpaUSvMqn3vCfKny4tqdd9Tob6fS5kygsI+ofI7Wrw1jqC+InOUgZzqwucDN156NLeva0/ObINqNX1dhdCuwbOldzVm8TNmutV3Saf1BRBM5ZM25ehymxfHiG6fw4hun8jUe3nZ6P7ac1l1UvRuY6689E8shnbUR9GkI+3VYDkc2ZyNn2hCQckBw4MVDpyAgU3w8zTeVtfHAk9JQ6ykp1eSq36ehP+KX3mqbI5Gy4DMU9Ed8eMdZA9i+uQ9rewJ4aO/Rojxhv6Hm+2CXysytw724674XKyqKa7r9OBWTxoqc6bRtw75tpA//7pqt+PqPXnVlqFwvDV11vfjqkobpciGw97VxHJuUbcMqORe6AjpOTqdaVnytmuzzUuG8CLfSlqT1ymZPViUzZr6Gi4yokvfAsjn+5ZdHsHGwC+e06HlYSjnvXW8mZ8HhcFP3gMJtoICU0bGUCb9PQypjIZOzK+zF2rOfb3b+OdEcGlKwn3nmGXzsYx/DBRdcgNtvvx1f+MIXAABnn302vvzlL2NwcBC33nprUwe6nGlmWHWzaPRH2aqFz7PijgxFcO3Fw2XjArDgWL1zbBrswm/eOJUPMfPmWVbxntuUeUVhHBn9JD3WJR4STx33isw4XIBzIJbMYU1PAFaB9djhPO8dT2bmeqDatqy86atyv717MTqewLcffh3TsSx6uwzYHPmCYpoCnJzOgDEm+1IWPENCCCRSFhgrN3rI1jQCJ6fTuOfBAzAMdUEr69GJBGaTpgxLL+qkPTc3njfGE+ZLVVCjE/KOGvntVPJQGZriPpcOFLC8AqGpLB/Sv2EghJEhyqEiVi9SaWQwNBU+t0e06UbP5CwHDhe47PzT8PMXTpQV/iqEMeBPbjgHDAxvnIjh5TemsX8sWtS5IWs6+PXBKfz64BRCfg3nnt6PS85bjzWR4hZE6wdCSGVMJFImgj4VQb+Oni4fAB9ypo1UVnq2uZCVlvPrFAN0BliOwJ5nxnDVhRuhKcq8ctXv09CnMKSyNi7cOoAj43HMJkz866+P4/HfnMBQXxB/8nvnIJ4yi8LQFcYqrlGj4/F5o9C6Qwaypo0bL9+CSNBo24ZdGsgVBHx+WVRTYfmcY+/9VlcTB+YiD4+6ocOpjIVkxsqHDHvomsybb5WRuZrsU9zIN0fIPUbp81OvbD46kcDJ6RRst6iprAkiv4tBpqzZNse//Nub2NaiPetSynlPNvt0DelsDorraGEFtQyEmIvay+YsxJJmxb1Yu/bzrUjVIBZPQz0GvvSlL+HKK6/Ed77zHdxyyy35vI+Pf/zj+OhHP4of/OAHTR3kcqdT+9V5P8odW/oxMhSpaTGo1pMRaE4PzGrjqmeslXojRoI6WEF4uKoU93HsDvvmlOzCa4J3vBQynjBTFIbZpImcKcPRBZ87d2k7by6AbE4q3NXut8IYtqyL4EPvOQOhgI542s5XNGcAZhImhAC6w0bZM+S16nAcUeR9z+ZsTMezsNyB+f0afLqat7IeGI1WnD9vg6BrCpx8Tld5n1hVVfIKfqX7Xti/8sjJeFHoWqN0Ss/uen87eQ9VQa4nY7LAnSxOJEPwbIe3pf84QSwHPJFjaAq6gjr6u/3o7fKhr8uP9759PUJ+rcyD5/HOrQPQVRWaquDsTb246b1n4DP/7p34v953FnZs6SvqUAFIT/Mzr03gf333Bfztd17AnmdGcWwyCSEEThsIY7A3CAEgnXMQTWRx8lQS0XgWtgNEQj4M9oewxu0CUAhjMtUnk7Px7P4JALXJ1d6wgVeORHEqloXPUBEJG/n1/J8e/S16wz7svmQzLtmxDpqiVF2jKq1FhWiaAs6BSNCoa2/QbJJpC5wDAb+GgE8r8xxrmgKnhQotMBd5eHwqCb/bj1thsuXmdDybl+uAVL60FhqZq8m+QqtSpOS7G9mTJdMWLIvLvPwC5dqDuUVop2azLduzKozhuos2QVUYTs1mkcpYcHhrZKP3e3CDBd1uHqyoKj8AN/9fIJa0qu7FqP80UUhDHuwDBw7kq4SXPmCXXnop7r333sWPbAXRKW0nmsFyKaxQGsrrOAJBvw7H4fkQQ8Gkt8CzROsqw6lYtkjJ9jzX+etxV+CLtg/i5HRaFiiDVNQBqbgzxsAdUeTzTedsREJyQZ7vflcLQe7v9mM6li3K/fbwNpTCbaHlEUuZbsVvmZulqUpVK2t5NVmZZx5PmbLvpytw7ILGq2G/BrMkt8+bp9J6A5rKsHHoCK69cGNdRWAqsRzzjqp5qAI+DX1uCKhtc6QyNgyts6+FIDoBT6/Q3WrKH7l6K4I+DS8cOoWc5SCTc5DN2eBClPXB9tA1BTs292HH5j7kLAcHxmbwypvT+O2x2aKCmPGUiadeGcdTr4yjt8uHc0/vx85ta/HY88fznmouANv1XBsag6qqCAd19AR8EMINuc7ZMmXJLUTm5Y4vJFd9uqx02YwouHqi0CoVZV0q2p0OVBp5CADJjAXTdqAyBqcgZFi4KWwb1rQ+eqqa7IulTGQtDlV1FrUnCwd1QJHdWCp+xv1ZCNE648aB0Sge2ncUtsORsx1k4zYYkwVr66klUwvecwZRELEIua/SMNcy1ism2NNlIJG2Ku7FgOW1nydaS0MKdldXF6ampiq+d/LkSXR1UUhjIe0WFM1muSg4lUJ5N6wN45cvvYWfPjUKy+Yyf0ZTYFoOshZHd9iHWMqE4CKff1yII2Su9a4d6zAy1IXR8QTu+el+nIymoSpyo+Rt/Ar9EJ532aerC97vSuPmAvjqv7xS8RkydOmVsRye956bliND1yE3Coam5iuwl1pZM1m7uPiewmBaMuu6r8uHeNrKF/FhzAuXkuHyOcspu++V6g04DsfoyTi+9dAB3NyE/KTllnc0X8ib35ChrxsHwvjIdduhCI71a0Idey0E0Wl4a+7vv/t07H7XCJ54/jhmUxYiQQMXnDUAhrlc1Wr4dBXnn7EG55+xBpmcjf2jUbx8eBpvHo8X5XvPJHJ48sW3AADdIQORkIGc5UBwQNUYBnsD2DAQxi9fOolszoahK/D7NAR9Ovp8PnAu5AY8YxXljs8nV99x1gD27B1rSnHRWsNvU1kbd933YllR1t+9dDMu7Q3VdmMWQbvTgSpFHkZCBqLxrCw6CiYNzBkpH0MBHbsvGWn5ul1N9h0cm2nKnmzTYBcGuv0YzVh5ZbMQRwhprNfUluxZC/cP4YBMvci4hitdVfD+Ju8xvefs2GQSmqbAsp28F1tx26PqKoOuKhjsC+L/et9Z+NqPXu3o/Xy7uxURkoYU7CuvvBJf/OIXcdZZZ2H79u0A5MM4Pj6Or3/967jiiiuaOcZlT7sFRStYLgpOpdyU91ywAUO9wWJhpDCs6fbhgjPW4OlXJzA+k4bDBVhBcRqbSyVz/UAYI0Nd+bDuy847Dfc/8aYsvIPyTZxXhJtzUfP9Lh03F2LeZ0hXFQj8/9n78yhJzqvOH/48seaetXZX9b5ILXVLaknWLmvxbmELYxtjwD9sj+cHzHl5OeDDAONhgJnxAOYYDzAMMHh4sUfGHmxjIxlJtuRNkiVrtaSW1OpV3V3Va+1VuWfs7x9PRFRmVVZVVnW11Grl9xxbUlVWRGRkxnOfe+/3fr+S1iiEwPNmVaiV0Gt7Lr2uWnfZd2yKH714pikZrtVdXC/AcSX9vTtrEgSBtHBxPNJJnXdfv5H+fHLe576Q3oCqqyRNjYmZOvc/OUzCVKnU3LP63rye5o6W6lAlTY2fe+tFXLtzLdPTFWlX10EHHSwbuqLyzuukeJgQcm8SOR7UHU86RPjBovPaSVPjmkvWyFlmXePxPSfZc3iCoTOlpvW9ULHjf+/OmlyysYubrxigO2vyzP4xarYsdLqeQ7nqoGsKSUPFMDQ2Zk2uv2xtk63WQnF137GpVWPBtcNCu3xrD/+4gCjrF7+9n0w2sSzP55Ximkv6OT1RmRWTehXZcq2YhxHjKPIiDwDL8di8Nhv7YL8aa3er2LdaezJFCH72tm38j2++JGnviqSFE8jkWhCgqyoDvWc3CtgKC+0f0kmdVEJjslDnnx96hdQdl7B5lUYXGp8Hz3dwwtFBIQL8QO7fDFUlndL50O3b2TqYO6/38+eDW1EHEiJYzIB3ARQKBT72sY9x6NAh+vr6GB8fZ8uWLYyMjDA4OMhXvvIVenourA/S83ympior/vvZqpzXMqC9mqqDy4GmKXR3py/ITX9U5dt3bIpnD42HauDy5zXLnTczLIQgm9L5lTt3NX1WJ8bLfPYrz1Gpu3NPEUMRUunWdv0Vf95LfYfectU69h6bkh7LjlSA1UKrsrlzgLbjUbddurMmE4U6XRlznt+oH4CiQMrUUBWlrYV6aKTIX//LS/PEVoSQFPXpokWhYpFKaAjEG27xXyz4XXFR3wX7rK0WLuT1aLWwknvU05NGVVckyTIPZxsrzyWEkGKUkUq/s0SyraqCfD5FoSCf10LFZu/RSV48MhnbGLbChv40maTOweMz0gJSqiaFSYqMB++9aTO3Xrke01BJGJLqLZinswksvK5GiATffv2DVyzLiqnVWvSeGzbx7aeOc3K83JTkAOEMqs3W9Xk++XO78b1lbx+XfW1SOV6qvpu6itmGUOdqYLF7HgSShVB3PH7hbRdxy5Xr6O3JXFDr0gNPDXP3o8dwXT/WX9FUBV1VSKf0tvYwy12LFrrndculUJFz5wGQTels6F9dqvj+oSm+/tArnByvNI2HqIpkAny4wSrzbPbz5zKGzWMPdvKMVcdyYuWKOtj5fJ5//ud/5p577uHJJ59kZmaGbDbLRz/6UT74wQ+STCZXctgLGq8XWvUbCYoQ1Opucwc3XJA8P8BxffSQVq2pyoKf1ca1mQbxM0K7r1n7Lwjn8zzvrIJCO9+hd12/ieOjJYoVm289doyJQp2E0bw58H2f6ZJFwlAZnaqRS+lYdujlHfmNCnnRgS/fzzuv3cCurT1LVsQX0xuoWi4zZXkOTZFB+rWytnit8HphfnTQwYWIaK40aUjKdiScZNkedhud7Xza4M1XDPLmKwaZLtV58cgkLx2Z5PRktel1J8dnCwyKkEl1NOOZNFTecvU6brp8ENfzcWs+NUuu5UldxTQ0NFVpEjs7Fyy4xrWoULYYHikhhFRYH5lcRJQ1qXFqrMzwSIn1felVX8vmJgnppI7jeJSqDpqm8N4bN3P71evP+Zq52D0HqWS/aU2GGy8buCDX7ztu2MzGtVnu/tERxmfqBOGo2UDvuStutNo/RGKtspss8JH7h3Oxb6jZnhzZCsVlA6R2Qq3B1g/Oz/38+ehW9EbHin2wNU1j9+7dfPjDHwZgfHycffv2oeuvjzni1wKdzfXZYbXnSlqJmNiu3GTlUjrlmkN/V5KfuWUrubTBhjUZTo6V2Xt0sun8J0bLoY2I9K1WmKWVKyH9z9BVPvSW7dx42eBZXfNS36FG6piuKvNogDNFi1JN0ggjL9goOER0KNf3mzaZ5arD0wfGuKMNOt6CegMBTBclQ0CIUImUN+bi/3qitnfQwYWKKNlOGBpJU8dyPfYcHmeqUMPUNS7d3M38CdRZdGcT3H7Vem6/aj3jMzVePCI72+MztabXNRKh+ruT3HTZWq7Y1tf8Gl8KVDqOjxoyj6Q2gyZFNuGciIsqQnBgeJr7nxiWPtoQi4fkM0bLbrmmKdQsh5ePTvG1HxxeVSrqQkmCaWgYulTPfvbQOLdfvX5Fx18OXg1B1/N9VvayLT3sbKFj02oftBws9L5b7R8isVZNkWKsIgDDUMksY9+w1H1u/N41Wm8BZJJBy/Ocb/v55bgVdfYfrw5WlGCPjo7yy7/8y9RqNb7//e8DsG/fPv7dv/t3XHXVVfzd3/0dXV1dq3mdFww6m+uV4VzMlTQuSHXba5qrEkh64EQ4+1Wru/zl119oef4gtO7oyydnKdZ+EG+sBGC7Ht995iTdmcRZVzfb/Q7NrbJOF+vUQ8/XyHbL8+V+yvWCMLmef5wAOD5a5qvfP8xH3rlj0XMuVPUvVW1qoaVJEMBUoU6lppJLGyRNrbP4d9BBB68ZvvPkEPc/MYzn+ZimRtLQeHzvCDdePsDt16TDdWzh1nZ/V5K3X7OBt71pPSNTVV46MsmLRyeZKlpNrxubrvGtx4a498fDXLwxz+7tveza3IPZwDLy/ADP9rAdD0VxMDQF09DYuaWb//c9O7n3iSFOT1RWpWv2wFPDfPORo3h+gBbqjQR+gBfATOj1m0s3e4C7ro8fBHz/JydwfX/ejPbZdBXPtyThXHYqX6tZ2eUm9Y37jf1DUwvug9q95sXe9yWbu5v2D47r47i+ZNUFQZNga7vfh3bu80q/d+fTfv5Cciu6ULCiBPuzn/0stm3zuc99Lv7Z7bffzr/8y7/wW7/1W/z3//7f+W//7b+t2kV28MZGK1XqdoL5UoEkWpBc1Zfd1bCjoRAmna6P6/o8/NwpDpyYWfD8P3XjZjRVziiv7UlRqtoUyjYKAaqiECCT7bHpGn9/3z5++s1buP2qc09xg9kq67EzRT731T0AaKE6ehA0i7ItZVP98J5TXHlxH5ctEkhbVf1rlstM2W56XSQOM1Ws05NLYBpqZ/HvoIMOXnXMTTLdmkOl6jAhBJPFIXLZBG+6qJdq3cWyPdltXoBHLoRgsDfNYG+ad163kVMTlZhG3iiI5gcBB4/PcPD4DJp6lEs2dbN7ey+XbOrC0GSyHQTSfaLmedRtj7KiMNCb4tc+eAWTMzWKZZvpskUmqZNMaHH8aheu78uigi9VkqPEIlDA92RcmClZ0ls5+l0QUKlJ67OAgK7s6lJRz8ck4Vx0Kle6p1kM7STOZ5PUr8Y1t3OMxv2DFtqFBYL4+90o2LrU96Hdaz4fv3fLxYXmVnQhYEUJ9uOPP86nP/1prrrqqqaf79q1i9/8zd/kj//4j1fj2jp4nWI1aU8rnStpJ5BkUjqKAoWyjR9Ir+fo+CL8P9cPeObAGLquLHj+nxwYY11/mqHTRfIZuRAHEM/Reb70xLZsOev3T98/zE8OjHHnTVtelVkdRQhGp6o4jofW4OkthEBVZj28l4LrBdz9oyPsXGLj1Fj1HxopUV1A/C0IZLemWLHpEkZn8e+ggw5eVSyUZEqfaino9eXv7Oe6T95KLqUTJHXsUJHccjy8kNrdCkIINvRn2NCf4Y4bNnFitMwLRyZ46egUldrsRt31Al4+NsXLx6YwNIWdW7rZva2Xizd2oYViOkGAnNf2fBTLY3SyxrOHx5kp16nWXBzPpztj8p5ldBKf3jdKzXLRFNHUtWuMCwGSopsNWVyRcKYQkEmufpf5fE0SVrNTeS5mZdvZ75xNgrwa19zuMX7r56+K9w8nxyuxB7WhzTLeIiz2fXB9n2/+6Ajlqk0uPTvu0Oqaz9fv3XJwIboVvd6xogTbtm1Udf6XECCZTFKpnJ8Koh2ce6w27Wkl1J12A8mmtVm6MiYzZRt1ziYDkGIaqoitqRY6/5nJCm+7diPDZ0qMz9QktU/IeSEvEs0JVbSjbvbx0fKyK9VnU7iYKtZlp7rh5X54XYoC/gLCjRExMjrN+Ey97Y2T7/vUrfnJdSPZMgikAm6p6rB5INtZ/DvooINXDQslmRAmmipUai5PvTzKDTvXAkjKtq6QQcdx/VjlerFkWxGCzQNZNg9kufOmLRw7U5TJ9pGpWCEbpAbIC69M8sIrkyQMlcu29HDF9l62r8+hKjLZPnximrsfO4btevRkE6STOpqqULNc7n7sGIoiuGRT95LvvVVMiK9XESgE+D7ULOnZ7fsBQkjxTid0w9C11jPaK+32XUhJwkLxerVp8O3sdy7Z3H1WCfJqXPNyjhGxBoZGSnzpgQNMFur05EwUZbbDvNj3Yf/QFN945AjDIyUALKeOrink0wYJU2s63/BIEZAFo8lCfd4M9uvle/dqaAZ0sDysKMG+8sor+eIXv8itt97aJGrmui5f+tKX2L1796pd4IUK3w+k8nSDB+brHeeC9rRc6s5yK63X7OhneKQ0z/PaC+RMcjqhUaw6KAusSZ7nU6zYfO+p47iej+34IdU6QGqJA0IKjiF/DEAqoVG3vbYr1WdbuOjJJeS1BODTkPgvgeglEaU8CIIlN07R96CxSzP3mI1Jth/IefdrdvSz79jUay4W0kEHHbwxsFiSGf04IGCiUG/6ebR26qqCkZpNtiOvbc9bJNkOlS+nSxamLhBCxfN9XK95Ta7bHs8eGufZQ+OkEhqXb5XJ9kN7TmE5HrmUgevJLruiCExdwfPh0ZfOsH1DF/ocJfK5aIwJLZNsBD6BHH9SAlIJnYSpYtkeE4U6kwWL3ryYZwF5Nt2+pZIEU1deF3FisXjt+cGq0ZHb3e+YpnZWCfJqUKiXewxFCLYN5vj5t17EXQ8epFBx2koao/1HuSpHMqTDi8B2fSaLdXpzCRKmPE6xYnPXAwcp1xypFm65nBqvkE8bscvJ6yk5PR/Vzd/IWFGC/Ru/8Rt89KMf5e1vfzu33XYbvb29TE1N8eMf/5jJyUn+8R//cbWv84KCEFC1XSzLwwwtAVp5YLbbsVzsdX4QMDxS5OipIoGAbevybBk4O8p2q3OtJu3J9X2e3jfKVLGO7weoysLUnVpdzoMVq3Z8bXMDSRAEsTq4oSmcmazEgWTX1h4efOYEli07EFHWp6mCtKnFSWDNcrFdH01VSCU0HFdaqxQqNoQJYi5jUq25TIbCNumkRrnqoDVWXaP36M1ey9CZAqcnq7zwygSBH7BxbZYtgznyaYNNa7McHJ5eoHBR5h/u38/b3rS+yUIrug+lik2p5pBJ6gz0JEma2jyv7sWle+R3VVWkwrimKhia2nLjFJ0zsgerWQ6pcP66FeaeM2Vo3P/k8Ksq9nKh43xXqO2gg5XiyOQkf/z3L8T//Z9+5Uq29/Yu+zhLJZnyx4KujMG/PnaU8Zka/V1J7rhpM4Y6OysNYbKtKWSSzcm2OyfZPnxyhn955AiW7ZE0NbqyGp4nN/KKkIJpJ8cqON4srahad3l6/xhP7x9DCEjoamwjKYTA9wNqlofjehw6brHv2CSb1maZKVvYjk8yobG+L930/F+/ay3/9P3DVOouupCJVlQclqNNkt2kKNCdTcbxNJ1QKFVlQlKo2CQMtSnWLrfbN3edumRzd8skoTtjgBDnfZxYqtHw7us2rhodud2u8NHThbNKkM+WQh3t0bwgoFZ3SSW0ede70DGWkzQ27kNzaQPLqYf3AjQhcH3pZZ8wNSo1h5rlMhkK2aaTOpWaQ6FsM1O2sRy5P3+9Jafnm7r5GxkrSrCvuuoqvva1r/F3f/d3PPzww7EP9rXXXsuv/dqvsXPnztW+zgsSjufj1HyqoQdmQldJ6BqaJq0z7n18aMmO5WKVUoCvP/QKpyYqMnlEJkvr+zN8+C3bl71gLHauZOLsKqQRHnhqeJ5liFBAr6us7ZkN8nXLjTcPiiL45iNHeHzvCLs2dzcFkprlzlMHB9h3bIotAzk2rc2ycU2Gk+NlUqaGZXtULBfPC2J7CIBSrSFRLDCPeTBTsqjWXbIpHdOQVf5a3Q09qeRrPN8n2jPNlK04Gf6TLz/XRNF+7vAkAClTY/NAhqrlzStc+H6AZXuUHIe7Hz3GD547yWBvmsu39rD32BQnxspyFjyQnflUqNQ9N8FuTHQV0ULoLCCkBoKuSg/MVnSs6HthOfJ9a5qCpkpKYTut8vFCnXzGIJcx3nDe2OcCr5VCbQcdnGv82z/94byfRcn2Fz71tmUdq1WSGSEIwk6jqvAP9+1v+rt/fXyIW3cP8vE7mvc6QVygVdA1hXRSx3UDLNfDsl0OnZjhnx96hXLNDd0lbDTLJZvUyacNyZZSBJ/66Jt4dM9pnj4wNk/DIgikX2/N9lAV2UFOmmootKlQrjrsH5ri3seHKFYsDF0jndTp70rylisHuWhDF0EgvYTfe9NmvvnIUZzIqHsONFUhkzSaY7qAnnyC0ckKtuNRrbskE9qKun2LrVO/9fNXxUnCeKHGg0+fWFV23LlAO42GnxwcWzUafLtdYRE2AVaaIJ8Ndf+Fw+N89cEDnJ6oULNcKjWHUk0l3zBPvdQx2k0aGwsOuiafQdv1EIQjH0LguD51SybSQogmSng2ZZBOaEwVLXrzCT52x6Vn1ZB6rXA+qZu/kdH6qWwDu3bt4q/+6q947LHH2Lt3L0888QT/83/+z2Un177v81d/9VfceuutXHXVVfzKr/wKJ06cWPD1L7/8Mh//+Me5+uqrufHGG/nDP/xDSqVS02u+853v8J73vIfdu3fz/ve/nyeeeGJF7/HVQuR/Wao6TJbqPHdonPueGMZyPPq6kvR2JTB1NQ4m+4emgNlK6cnxMqaukssY8ev+/r59/O09ezk+Vo67wKoQeL6sFv/9ffvi47SDfccWPtddDx5k37EpudBrCy/0nrc4vThSc5WVfCGvWRH4vlScHp2S8821usNEoYYVJtc9eZOEoXFyvMIPnjuFHwS4YYd5qliXC6wANcx1fT/gh8+dYv/QVExJSxgapYpDsSqT8blsgrmY+zs/kNc4XbJIGiqqInA82QkI/KApuVaU0NMxpGkvNP9ctVxeOVXkxGgZTVWaiguTxTqOJz/X6HqOnCryjYeP8MqpmTi5VsLuRrXuUKy0vveKgEyLijIQC4xoqko6pS9Ix4q+F+kwYLquT7FizTteK8h7LcXOLNvD0FW6MkZMoV9IsbeD1lhsXWhcPzro4PWGVsn1cn4/F1GSGa3XkUK47wdh0klTJzmC78Mje85w1wP75/0uQhDI/6mqiDftD+85TS5tMtCTpCtrYGiyEy2LxR4pU2VipsaLhyd48egkQkBvziSfNtBbxFbPDyjXHMZn6ozN1CiWLTzP54l9o4xMVQEZ86eLdQ4MT/PVH77C3qNTuL6PEPBTN27mlt0D85r3AtmRd10ft0WASpkaffkkqiKoOx7FsOO3oT/ddrK71Dp1cHg6Zpk9e3A8TloNXUUR4jWNE34QMDRSZO/RSYZGivG5h0eaO8pBEMiic8iAS5kqo9M1rrmkn4Qhfb1tx8MPAmzHY6ZsL6tA0dhZboUocd62PsdAT4pKuC9oRJTcDvTML55HmN0nLe+a9x2b4m++8QInxsqYhkpv1kQRUvB1slCnajltv+8oabx8Wy9bBnItXxcXHMIiQC5toAiBF1p8BSE7o1B2CALp9T5336MoCrm0QbkmRwNfb8l1B+cPVtTBBvlQ7t+/n2q12nLO57rrrmvrOH/7t3/L//2//5c//dM/ZWBggD/7sz/jl3/5l7n33nsxjGb/xYmJCT7xiU/wjne8g//yX/4L09PT/MEf/AGf+tSn+Ju/+RsAnnzySX7nd36H3/3d3+XNb34z3/jGN/jVX/1V7rnnHrZv377St/uqwfV8vv3kMOOFGmu7UiQNDVUV5NMykIxMVbn/yWEu3tS1aKX01HglVq9WI3VUIeeqHE8m8+1Stn0/4L7Hhxatyj53eBxFIa6QNtKyo5mzABidqrasPi6m5qoLcLwAJ7QrKVVlZ9k0mquguqYwXbLw/YByzcZ2g3nq4F4QYOiKPN+TwyRMFc8PeOd1G7n7R0fxA0Ihl8Wp060Q2apU666kh9ccRLjBiY6lKqAqSrjYLw3HlRuhSs0hm5LPQ9RZ1xQRJ+7Fhm677ch/ie6jgqRGeeGmSlcFubSJ60nKe9JUGZ+phwk55NIGVcvFdeVdkIrogo/O2Ti1qtbbyPsnwnvdTvdaVWdfX2ygHL4W3tivd1r1uVCo7aCD8wFHJifbft1y6OJ33CDZXjFzKpAJZiqhNXWPG5+WaFV79MUz/OI7d8R08YXg+QF3P3qUE6MlEHL8KJM0yKZkzC/XXOqORzZl4FoeTx8Yi+eshRCYEHbDPblWtzqHF1D1pGBa3fHIhEmeIgSKJmPyyFSNb/34KP+2axeGpmDoKq4XsH5NWlqCWW48BmWHRe1C2SZpzC/AqqoglzL44O3byKWMZa2Xy1mnliuwtZI13PY8HnhiuOUIwFy06rqv603z4XddwuGTBeqWh64p1CxZ1G5kz2magqYI+vPJVZmVbbezvHkgd9YCWMud7/UDuW+s1V26sgahGA19QsTsw6mCRS6trxoNey6VPWlq9OQSsyzGcD/SlTUoVR3SydYd+9eDLVcH5z9WlGC/+OKL/OZv/iYjIyMA8Zc2qtgJIdi/f+HKbgTbtvnCF77Ab//2b/OWt7wFgL/4i7/g1ltv5bvf/S533nln0+tPnTrFLbfcwqc//Wk0TWPr1q18+MMf5i/+4i/i1/z93/8973jHO/jYxz4GwH/4D/+B559/nrvuuotPf/rTK3m7ryrOTFSYmKlh6iqVuiupa5pCwpA0sI39GaqWw/OHxhmbrjUFHduRHp1eg0+nojAvKGmKgudLelU7ycvRUwXOTFYWDXAzJZuujMlk0cLz/abAQiCVsxUF7n18CE1T5tFVn943Kqnyity8BAGxsJgQAk2Rm5Qrt/fwk0MTJHR13hyPEIJMUg8TW7AdF1UIEEImv2EC2ZUxcVyfQydm+B/feBGBTKjrlkvSVFGEguv5eLbcrCw1p9yIAKkE63g+BNCTNynXHOq2hypkdTRKxJeDaKYv+ndVRCrl0Xuff5GNlHjJXpCdedcLYvoiyM674/pSyAxImhq5tBEXSHxfVuFHJiqkE9qiaqjRBsl2fRQBXvg5Rp9phIg5HxUFZCEgfJ+uj6mrr3qQuxBo1autUNtBB+cLGmeul3rdcqnid9ywmXdctzHW/ujJJRibqvCvjx8H5q+v0X/6PjzwxDDvu2XbosePnstUQme6JLvVSsXG1FUSpiq9poFkQgMENdshZc5PajVNJZfWKVYcTF1B1RRsx8eZ08EMAijVHEo1B11TSIb7h5SpMj5d49RYmfX9GYbOFDl6ukjC1EglFPIZA0URWLaPEAJdU+LYYxpaw/GlH/b6/jQ3Xjaw7GLdctap5YhjrWQNv+uB/Tz64pkmJtlCIwALzVcfO1Pkj77wFLqqULNdarYbB2BVkbEtABzHwwHGCzXeevWGFc/KNhYRrtnRz/hMbcnEeTUEsBaiagMMjRSbfnZ8tMSZyQrZdNTNl8dImBoD4Qy05Xj87O3bV/QdalVIaVVwSJoaCUPFdjyKFYe1PUk+8s4d/K979r6ubbk6OP+xogT7M5/5DJqm8ZnPfIaBgYEm6fzl4MCBA1QqFW666ab4Z7lcjl27dvHMM8/MS7CvvPJK/vzP/zz+7yNHjvCtb32LN7/5zYCkmz/33HN86lOfavq7G264ge9+97srusZXG9W6i+eDqs7eU8f1cVybUlV2aX1fKpD25BIYhkKpbDM2U8N2ZISYm8zMQ7iOuZ7fVvJSrNi4XkBqiQB3zY5+vv/sScZn6gikemPgB7NzvQGYpoqmKPNmpw4MT4dJcPwOYoEtJcrGxGxymVyA0qxpCooQXLGthyf2jcr54TBwGqFNA0ChYoVdYIV0SmemJP+7WvcAr+mYKyKeBcTzP6oqUBRCOvjsLHy7/tMRzdvz/KbOvuwwLyiAi+cHKOrs60F+r1zXx/N8CAOLH3bY/SDA1NU44Ji6St1yKVVtbNfn7kePkTDVJdVQ82mDyWIdN7yNkp4v329UONFU2cX3vVkbM4G0Rovu0asZ5M6FAv5rgdVQe+2ggzciNEXh5ssH4//+h/tebuvvxmdqS74mei5TaQ29NjsXaoV+2gEyJnT7JoO9KUpVjWRCw7Yla6sxgU4mdGzHpytrUq07CF0loSvouipHc+Y829H+oRjuH4SAiUKd9f0Znnx5lDOTVUD+LmlqpEyNfMYgm5J03pNjZYoVh7wQctTL9ala3lkpKy9nnWpXYGslc9p3PbCfR/acmXfMaAQAiJPshbruXliA9jwpkqqrAjuMzTQUkAXgIce2nj04zu1XrV/RrGyrIkI2ZZAyA0o1Z9HEeTUEsOZe80JFjV2bu2UxP4z1c5EMxWJzKWPZ36HFCikLdeqrlkcmpfOh27ezdTB3wdjBdXD+YkUJ9ssvv8yf//mf8453vOOsTh51wAcHB5t+vmbNmvh3C+Hd7343Q0NDrF+/nr/+678GoFgsUq1WGRgYWPbxzhekEhqqIu2flBYek9W6nFnxPTnjmvR0/CCgO5fAdaRgWt12icJxy0S7QYilneQllzbQ2ghwO7d088zBcUpVhyDsWkc5ZNSZLlUc1nQn6coYMQ0sCAJePDJL/4u6A0Egu62aKn8gkAqrqjqz5LVcurmbfUPTKOEct6KI+PWjU1XZURcCIxQkW8hSaqVQFEF31sQ0VCYLdRQhyGcMNFVBUaTQxlzrl4WQMFRqliu7EVGwakjOIw9vj/ldDD9iAoTU96SpUg4Va1VVQQsLNhE9PCpAwOystxf6n2bTOooQs2qo17dWQ02YGr25RJhkSy9VFOS8oefPMhMiE5www4467ooiXtUgdyHRqs9W7bWDDjqQ6O9KrtrroufS8wJyaYOpYl0yqog0KMAKPbUv39rDd585gRDSmzed1PH8gLrlYTlSJErXFd58+QCW7REI2Lgmy/r+NGcmKtz1wAH8QDLa3DlMqShR//oPX+H7PzkRO15Ev3Ncm2LFZrpksaY7QT5tsnkwRzapMT5Tp1SxURXBlsEcd1y3kR0bu9q9nS3vRzvrVDs06PV9qaY57XbWcNvzePTF2eR6qRGAhRxK5HiWTPI8PyCd1LDd2f2E5weghHaUiqTVr5RFtFAheLpkyYLHTZvpzycXTZxXUwBrscL0mUk5Pup4fqwV04iVxqLonDXLwdQ1FF1S5E6MleNCSjud+o5ndAfnGitKsHt7e1GXmDlqB7WarPzOnbU2TZNCobDo337uc5+jVqvxZ3/2Z3zsYx/jW9/6FvV6fcHjWVZ7gkuLYSEBrxUdS1VQ1fkP78a1WdZ0pzgzWW0ZTGqWx2BviqsuWcNzr0xy9HQBgSCX0kkmNXoSJr6nU6q51OpSWCNSkpYHkWrWQhFsXJNh2/r8oouIqipsW59nsC/NidEyhj7/mqp1l41rMqGCqc3a7iQI6eNZKNsoAoQiKc1OSJ82dZVMUtLA7n70mEyuRCgMwywlL4B4k5BOaNx561Yp/DW2+LXcvHuQJ18e5cRYmXR2VsjCdjxsR3YPdE3B0ARj09Z89eyzgCwESK9FkEnr+Ewdy/bIdMngbGgKk4Wlu+PRuzNCql7d9ho6/XIOW1HFIgeSaasfBGiq9IPctDZLOqkzMlmRwUeRojUACVON732hYscK4oamxLPRhq4wU7J57tAEg+HGZ+5nkTBVUqYWzpDL4kIyoXF6vBJ3b/xAHtcPAtyQ667rKoIgnPtTed+bt7bcgK0mjp0pSm2ApC71Ahogxw40RqeqnJqosHXw3NGqI9ZKI3tludi2Ps+63vSSz8dSz/35itW4Rxc6zod7tJqxMsIf/H+u5r/9r+fbet1qnP/OW7fyr48P4fsyLjU+LlHhWlHk67Ql7nXjc9mVNejNJyiU5Vyoj3w2UwmNX37fLnZt6eH5QxOcGCtjZz10TVp5ppMq6aRcp1VF4UcvnqZmydGj/u4Ub716vYzVvWnOTFZZ053EDeeqq6EzRnz90JRcz4XleJwYqzCVsNg6mOMj77qEQtnG9Xy6MiY7t/dTLtclE2oFWO469b43b+WL395PoWyTTjYkQzWXpKFyw84B7n382LLW8PueGIpp4XOXwqjo4fvw3adP8P5bt1G1ZJdaTynx621X0vOVkGnnebJD3ejIEUmRGJoiRdoMhULJpmp5y/qe+kHAd546jmV7dGdniwiqocYx+flDE/z2R65+Vdb2pa5numjhBQGlikNXxpjz/KwsFkXnrNQcPD+gWp/9Dkt2p8N3njrOb3/kai7b3svwSIlS1SGb0tk8Rw38iov6+Leqwn2PD3Em3AtpqmDTmgx33ryFXVvPDWPtfFifzzdcqPdkRQn2Rz7yET7/+c9zww03kEqlVnzyRCIByFns6N8BLMsimVy8KnzFFVcA8Nd//dfcfvvtfO973+P222+Pj9eIdo63FBRF0N2dPqtjNEGro+itb/97b9nGVx48QKnmkDZ1NE3gugGV0Fv4vbdso6c7zfW7BjhyqkAQSGpQueagqjIRkrZMYeXbdrFdD8fxY/ptV8bkF999Kb09mbYu9xfedSl/840XKFQcskk9ns0q1aRQxC+8+1I8L4jFx6QCqye7k4pM7BT5E/n2VUnlLlVdJgp1urJSHXQy7OrO7bwriuDD77yEtX05fuHdS19Lf292gdcFsbJrTy6BH4h582tni96uBJnUbJFHMQVmGHQaryXVwjZrLnRdoW57JAyNvm6DwIdy3aZQlhXygAAC2f2NgnrjuGAQBLih0JyuqaSTOr/8/iu4YnsfR08VKFbsUDHT5m+/+WJ8fV4Q4IQcb1Uo9OQS6A2MilzaYGy6xofefjH3PHKk9WeRMrhu51oee+F0/N3szpqMz9RwQ1pXT1cCz5Mqt34QKtd6sHV9ng+97WKuvLh/NT+aljg2WsEPIGFo8zZnICv+NcsDRV3dNWAB5HJnt1a183y0+9yfrzjbe/RGwGt1j1Y9Voa4vjsNLJ1gX3/RplU75ztv2MyDTwwDrdlg77xhM2v72iu6zX0uB3tTkgZdl9ofv/HzV3P1jjXxa//6n/cwWbRI6CqmLgufpZqLICCXMenNpVEUqNRcpkp17vnxMT7yrkvn7R/yGYOUqVGqORDGvlKbIyKKInjHDZvJZpNks8lwbEuhVLVJJKXq90qxnHXqzd1pMtkE3/jhYU6NlalZDpqqxHFC7j2OLWsNj2LoUiiUHbq706xf64QCrrMFJCvURVEQcRHG0FXJnIso5J5kGOYzhhwLCJ0y1q/NLes5eeXEDKPTNXIZoykWR8ilDUana0xXXC5aIbNgLnw/aNonbFufj+/vUteTz5gUKzaapjBTsVclFr1yYoYTY2U5VhHI72e033FcH1fITnZ0D5Y69pu709x01YYF3+O5RCeGzceFdk9WlGAPDw9z5MgR3vzmN3PxxRc3JccgK4Z33XXXkseJqOFjY2Ns2jQbFMfGxrjkkkvmvf7o0aMcP348FkQDWLt2LV1dXYyOjtLV1UUqlWJsbKzp78bGxli7du1y3uI8+H5AsVg9q2M0olxzKFXtlr8b7E7wgVu28tDzpxifruLWQFNgIKxSD3YnKBSqJHSFhK7iBgFemCR6vhfTlTRVipWkExppZLLtOD49OYMPveUiNvWlmJ6uLHqdqqqQyyXZujbDx999SVztk9RtwYa+NHfevIVNfSmOnSnieb703Q4tqvwAAjdAVf0mDpbrRaJdco7XcT00VXbiyzVnXkf51t2DvPXKQaanK2zqSy16LRt6kzy37wylqsO7rtvITw6MMRK+DqQidi5tYOgKtbq7qvYehqaQTmhxRxZk19zUFX765q385OBYfM2248/z026EImTCqavQ1xVWiFXo1qVt29h0HamlJtXiI9XMat3BiubxwyCUMqU4WfRZFQpVejM6vRlJz+rN6E33tG57ssMcWqEYutL0noQi31faUFt+Fl0h1fzHL5zCsj1sx6duVzF0hZSp4YXWcbWarBrv2NTFtsEcpqHRl09ww2Vr0RRlye/nqsD3UATUbbdlt9x25O/xvXN6PdGzVizWVtwZApZ8Ptp57s9XrNY9upCxknuUyyVXrXuw2rGyEV/6/XfwsT/6/qK/X83v9sfeJfch33tquEkES1Hg9ivX8/+8/eK2z7fQc7l1QK7LW/rT8bHKpToJXWVyph6PL6mKQFMEqqpIlk/FwtRVTENhY3+GYsXhsT2n+PDbLuKDt27lh8817x/W96V569Xr2bo+x92PHOXp/WOLXS4g48/UTJXJKSPu0quqQiaTYGyyjCoECXO2ADA8UqJYad0xbHU/PvruHXzjoSOMz9Rkl1dXFlynNvWl+OTP7W7ZlTx2prjsNTyfaY+anM/oTE9X6E5rrO1OxiyExq67H8jCvRSUk57ktuuhCBEywASe58eU8o1rMuRTarxPaed+nRotYjseyYTaFIsjRDH51Ggxjutng33HpuZ9Vwd703F3t53rQcB7b97KswdGODNx9rHo5EiBcs0hIAhH48JzIZ/JyLbu5EhhWfegcS9UKKx87fKDYNGuOaxODGvnPK8nvJ7i+nJi5YoT7EsvvTT+71a+eu3g0ksvJZPJ8NRTT8UJdrFYZN++ffzSL/3SvNc//vjjfPazn+Wxxx4jl5NV4+PHjzM9Pc327dsRQvCmN72Jp59+mp/7uZ+L/+6pp57i2muvXfb7nIuFvAaXg4PHp/n7+/YhhGD7uhw7NnaxbV2OhNH8UWwZzPHxgSxnJiR1JZXQGOxLxzQkgGTYFU1rCoRCWIoi0EPPZMeVyfbNlw3gej66rrJ1MMeWwSwJXQ0X/KWv2fcDXjk5g+14vP+2bQikgmjjnI/0PbaphYIsmiopU74XxDRvIaRwlq4qoZWWSyahMzZTpWq5ccDSNQXTUOMFQwC3X7Uuvv9+aLX1zms3UKo5ZJI6ubTBprVZDg5P89mvPNckfrG2O8l7btxMf1eSVFLnmw+/wqmJKtWaw0zZnncPBLLDHoQcdR+ZON902VoqdZfnD0/EXtkgOwIxMyC0o4iOGQTyfW7oT3PLlYPccuUgx0dLvHKqwH2PD5EyZee+UnOoWh4EfuzzaYfUs0xSBwSW7cWfcdLQyKY0SlU3nOvSSSY0PE/acaUTOm+9eh3duUTT/Yk+q3mf8Zx7Wq073PfEMClTwzS0effIceT8VMpU2TKQ45MfvjIWThmfqfHA08exHI90QicV2suUai6aIvjpm7dw61XrODlWjl//k4NjPL53JP7MHn3h9Kum3r2+L83akOrepc6nK0af3/q+9KqsAUvB8/yzPs+OjV1Nn8ncZ/X1jtW4Rxc6Xst7dC7P+4VPvY0jk5NNquL/6VeuZHtv7zk5769/6Cp+7i3buO/RY/NsnJZ7vnaey8a51r6uRGx5WbNcLNujK4wH0pbLpVqXnVNFCKZKdco1h76uJO+8dgOFiiWZSwk93j8EPmxem+GZ/WNSOzQS4GyxF5gqWXzpgYMkDJVdW7rZvb2PHRvzgFTErjgej780yZmJKlPlelw4djyffNrgp67ftOAaHglVTZfqBKFYSD5tcMf1crZ7oXu7sX+2K+l7AT7Bitbwd12/kXsePTo7AtBwjuhWKIp8XfQ3P3XDJu568CDTJTm3q6oCVRVxPOzKmCBEPGfvegGGpqCqitR6Ced7d23p5nP/9/llqZ2nTDU+V6siQmNMXu73cq4id7Xm8KXvHopnq1PhbPXxsTJf+PZ+Pv7uS6Re0ALXE1HAfT+gN5/gt37hKoZOF886FhXKVqgXI1mRzcr+kiXpBwGFsvWqr33LVbBf6fp8IbidLIQLLa6vKMH+x3/8x1U5uWEY/NIv/RKf+9zn6OnpYf369fzZn/0ZAwMDvOtd78LzPKampshmsyQSCe68807+9//+3/zO7/wOv/3bv02hUOCP/uiP2L17N29961sB+MQnPsGv/uqvsmvXLm677Ta++c1vsn//fv74j/94Va75bPHQ86eYCmefJgt1nt4/hiIEmwYy7NjQxY6NXQz0psI5HsH6/oUpLoN9afq6koxM1cildIQ2Z47J8hjoSXLVjv6m6lahbFNWFExdwTQ0jFBZtFWyve/YFA888wInRooxrTd6mBuFMvwg4DtPDofJsy8FPYRAU2dnqIMAMik5l1upuygCqpZDRGqWYuECxwvw6i49WZO64zcJXS22uBwcnuauBw9SqTmYhkrSlDPDpyaqTBZP8PF3X8K2wRx33rSFv79vH+OFesv3LDXMg9ibWQjB1sEsb7pkDf/44EF0TSCEEnfpZTdWUvPrto+qeA2CGQ6aorArVO7ctDbLloEc5ar0yNZ1eY2ZlEGmYdrCDwImZ+qhUrfPaMmKqexBeDMjUTDP9ylUbOq2h2mobOjPLGuxXeiedmdMpss2RniNjd+tuQJkkXCKHwT8968+HxeFoms0DY1UQmdips6zh8a5/er1bBnIsX9oigefWZ7y62pDEeKCFDxZTTGbDjo4n7C9t3fZVlxnA0NVl7TiaheLPZcLCS6ahtTbqFsyScsk9TlrMji+z/h0jb+75yXpna0ppJI6PbkE11zcHxe2A2D3RX3c9/gwNdtDQ7KclDCm+P58SY+67fHcoQmeOzRBKqFxzaVrsG2PFw6PU3dmN8SmodLflaArbWI5Pv/6+BCqKtixsbvpeHPFsTIpud5OFi2+9N1Dy173V7KGG6rKrbsHY7XwVr2GW3cPNvlhz7W68urSeYMgoobLz1ANRVWF8DENlWLZjoW2Lt/aw8N7Ti875rUSe4usWYWAquWyoT+zbFHQefFfEaGyfUBfPrmgYNwnP3xlS/G5muVSqNjYjoeqCL70nf0MdCf5qRs2cfm29v3p58IPAqp1B4QUk2tF4/bCe59ZwN/6XOHVciG5UNxO3ihYUYK9mviN3/gNXNfl93//96nX61x33XX8wz/8A7quc/LkSd7+9rfzmc98hg9+8IN0dXVx11138ad/+qf84i/+Iqqq8va3v51PfepTsejaLbfcwp/8yZ/wt3/7t/zFX/wFF110EX/3d3/H9u3bX+N3KnHdpWt57tBEE6XGDwKGzpQYOlPiu8+cIJPUuXhDnh0bu7hoQ550ovVioQjBW65cx92PHaNYdcIKp4LnSUsCU1d4y5Xr5iUGUp3bx/V8KZKiyBlh05ALaCTwsX9oii89eBDL8UklVFLqwg9zpLCZzxj4vs502ZKJdRDEdl0IqNc9fAM29Kep1Bymyxa9eZOpooUfKlmrAlw/YLJo0ZtPxIFxscXl/zxwAEUIJgt1giCgHnpY65pCLqVTt71YRfSSzd3k04acQxOz9K5GuF4Q+zfnUjrvvXEz3w43Pn15OScS+UQrCtQsj+6MSSr076yG1HOp0O3zvZ+c5IfPn4qLAe2oqGqawPUCJot1AuRMVxBS6me/A9CTTVCzpF/6e2/aHNt/tIPF7qki5PGXk3Q+sucUh08W8AOo2bNictL2xSCdnPU33bQ2e96od6+GR2gHHXTQwdlgMX9oVZWFcMf1sV2/af45cnxwPRn7pOaGQqbuMlW0GJ+p8aHbt7OhP0Pd8XBdwduuWc93njyO64MqZsU7oqLo1Rf34vqwf3i6SaekWnd5dM/pltdv2R4nxyoU0zY9uQSuF/DIC2fYsi6HGc7pev65cW1YyRoeWXDN9cFWFFr6YEfnabS6Sic1hkfLPPbSCJMzNQLkGNqWgSzvuWETqaQed243rMnwl19/YUXvvbGIMDlTxwn3cEA8F3751p5l3bNW8b9Wd6nWXRRFULc9kuZsmtDoUX5yrDyvqOH6PlMFK2w6QG8ugWGoTQrfK4mlURHg5HiZICwS2a4fO8QQyORaEZA0NXJpY8ljrhZeLReSC8nt5I2CFSXYb3vb21p6EDfiBz/4QVvHUlWV3/md3+F3fud35v1uw4YNHDx4sOlnW7du5fOf//yix3z/+9/P+9///rbO/2rjmkv6+dyv3cQzB8d56cgkh08WqFnNQlflmsPzhyd4/vAEAljfn2bHRtnd3tCfaarcbd/QxQdu2crDL5xmYqaGZ3moCgz0JLntynUkTI3DJ2aaKOaNiLyInZq0+FKFTLY1XeGxl86gKIL+rgROSCdf6GGOfC09RfpwemFyjZCz4F05k6rl8q7rNnL5tl6CIOBv7t5LOqFj6Co9OUGxMquqKsLZpXdfv5GdW3qWXFzGpmvUbQ8hpJ9ptFmwXZ+pkiWtMSarPPnyCFXLZbps0Zc3EYqs6juhJ/hcwbO13Ul+6Z07SCX1eRufaIMjBOiqSqlq89F370AIwb5jU/zguVO4eKTDTq5texw9XeR/3/syP33zFtZ2Jzk1USEIE/zISmzWeiTN8GiZyLJaiFk2QCOSpkoqoTFTtmN/zeizXczvsp0FuztrkjJVRqdri25Y/CDgkT2n+JdHjsZzVpH4iO16sVVZgLSbOXJSivMttJlsDOQrsTNZCVbDI7SDDjroYKVo5Q8ddSmjpNl2fTmnGMafuuUyUagR1ey1cPbVcT0KFZ+enMnoVI1vPXaMf/8LV5FK6Liez3tu2kImafDQcyeZDhXNQVpqvuNN67n9TRvj8x84Ps2LRyY5dGKmZQyai2LFIZPQcTyf/UOT7D82zca1GRKGxmShRs1y6Q7p1I1oXPeHzhQYmaoxVazTk0tw/S6py7EYVrKGf/yOnfziO3fwwBPD80YAFkLEQtg/NMU3HznK6FRV2nER0JUxuf3Kddx+9fxC99BI8axi3s4tPbzlqnXc/egxXE+OqQkh0DSBpio8vOc0m9dm20piF4r/0WxzNC8euYdEaPQov3xbb1zUODNZoVhx8P0AU5eK6ZE1XSqhUqm7K0oAG4sAKVPDcnxsW8rleqHFqBACXRVoisrGNcvv4kf3YyWxf7GiWONnOjxSRAhB1fJYv9ahO7289Kvd87xa+6UOlsaKEuzrr79+3gdcqVR46aWXsCyLj3/846tycRcq8hmTG3at5bItPfh+wKmJModOFDh8UiokNnZTA+DkeIWT4xV++NwpkqbK9vV5dmzo4uKNXeTTBts3dLF1fb5pXrtmuTwSJd2+DJp9XUnecuU6tm/oanldvi/nmZyaz8ipCqcnK/TlE6SSOnXLpW57WLYHLR7mTEr6cTd2W6MWcNSFTSV0Lt/Wy5aBHHuPTjZtJJKmRsJQ466wEFCru/SH3eLFFhcgruQqoiFmC9CEwPUDSlWbAPjqD1/B96V1ieXIObGkqZEEskmdUtWmVHXk7JSuYjs+337qOLs2d8/b+DRC1xRcT86m79rawzcePoLn+yRNmfjajhfPuNVtj3/6wSv05RNUai6lihNfs6Yq6KpCOqVz7aVrODFWRlHke1DE/E47gOPJgNb4mVRrDt/80VHGC3XwA3RdYbA3zTWX9Mc+mX7Akgu2LBpcgSJYMPDsH5rivieGOHyyEG++IhEzOSslGQmjU1UQ0uP63ieG6coYWLZHegE6V2Mgf7XQoVV30EEHrxUamU2+H1Co2E1F32jZlZZCCpqmMF2y4uQ67uhBPOJUDG2S5CZfxms11PG444bNVOoOzx2awAvjYt1y+e6zp5gq23zgtu0Yusru7X3s3t5H3XZ54OnjPL1vaYG0qWKddMrA9aBYsbEdH9uxOTVeAQTd+QSCAMvxqVtumKDKdX+6WOfPvvoCjuPFHfV/+v5h3nvTZu64YfOi513JGr6SEYDGxC+T1EkYGnXbZaZs8+AzJxjoSc1LdFsVUBqxVMzzg4C9x6ZIGArphIkfFeZDVfPldDEX2lMpipANDlqzJeb6V0dFjSdfHuFrP3wFU1dRFTHvu6sqghNj5SUTQD8IGBopcfS0LMI/sXeEmuXQnU1Iy880THn1kB0oj5vPmNiudFuZy6xrJ3E+m7nmdj7TYsXmrgcOUq7J1xq6ytqQNt9uR/9svzsdvPpYUYL9p3/6py1/7jgOv/Zrvxb7W3ewNBRFsHFNlo1rsrz9mg1U6y6vnCpw+MQMh07OzLPTqFkee49OsffoFAADPamYTr55IIumKhw5OcM9jx3DcjxSphbTxkematz92DE+cMvWBZPsCKWKw2TBwvF8LMdD16VQSjql4zhytrjxYd6wJoPvB03dVgAEqIDjyQR+wxo5U96KIi2EiBdy25FzzNEivtjiEiXlC0Egk1ABJHQVTRXULRfH8eLqeNLUqNsepaqswCqC0LtRcHK8wshkVfo1L0DpjoTdMik9DlyaqjBVtMIqa/PrPT9gdLoWi8wQNvwdzycA3nvVOmp1V1qLhB3uxsZBpJoZMCuwpqoCu+LxL48c5cDx6ZjmLoSg7ngUytMcGJ4maWqYhkomqbeV4FZrzoKzU9EmoxIqv2thxToICyuaOvveAkCEYmrphMZkoU7NcqnUHLKp+ZSuuYG8gw466OBCRjRnO3ymRN1xZ4vVAgI/iNlBvflE7ETiejL2RF3uCEJI0SfHlTHF84J5m+//8519PLLnDKaukjClC0UmKR1HDp0scO+Pj/HTb94avz5haFLICznKJT28W7+XuuNTL9RRBOwbmqI7Z9KXT6JrClPFGnXbJZc2SJgaScMMLUU96WIRznVriojZaJW6yzcfOQqwZJJ9rjG3+6uEhQ1DV+lSF6brtjMatljMi/YWmaTR8u+X08VcaE8VMdgsx0MI0bS3atRf2bAmw9DIrHBZNqnHHuCToe3mbDdc7m3cms++Y1MLXtv+oSm+/vARTo2X44JLEO4rkqakqydNjZ5cQhZtXB/XlyKArbRn2kmc251rXihRX+ozrdQcapbLZKFOLm2gpxSCgGXT5s/2u9PBq49VncHWdZ2Pfexj/Mf/+B/55Cc/uZqHfsMgldDYvb2X3dt7Ywrt4RMFDp2cYXikFC86EUamqoxMVXn0xTMYmsK2dTkmwsSlkfajaCo5VaFYdXj4hdNsXZ9ftMKZSmioinxo66H6pUDMBuGEjtYr6MrKYHsy7LSqipCzMMz6MUeiH4oiODlWZstArqVgR4RWIlqLLS5+QwIbBMSUoQiNlfFUQkMIGQitkHpXrNiYuqwyRiIwZug9ars+CV2J/arLNYfuFtdbrNr0hYv++HQNx/GwXH8enS66J/HfAoEvCxKappBJarhewFP7RimGyb7sBDcn2VHiTFjBrlkuM2UphLb32NTs+YQ8S2hpDcgNVzalhwmut2CCG1mYFat2OB8/f7wg2mSkElo8c62qIn7fbljYaLyeVDjT1ZszOTXhUQjnt5QG+l+r70AHHXTQwYUMRQh+6sbN/NU3XsTzkQVK5NrvI5NrQ1dJJzQ+dsel7Ds2yXefPkE6qTFRsGYHqEMIZBLsOD6KAsWqzd6jk2RSOgN9KR59UQp8WY6H7XgUsTE0BTNMZI6PlTEMBd+TYppBAN1ZU54iLJ67SzDG/QCe2j/GU/vHWN+X5ortveQzJpOh2Gup6sQJvqkJ0gkdVVFwXS/2O0aALmSh/P4nhnnHdRuXpIufS6yUrrvcfc9cLNZokLaosyNYS1GcF9tT5dMGE4VarCMTNRci/ZXLt/bwl19/oSlx7coY+H7ATNmOGWxB9OGFtlqeH/DsoXHuaKHfsn9oir+/bx+FirSvjTVnwmL9RKFGXz4ZJ9kJQ+7hShWHn75pM2+9ZsM8Zt1SifMlm7vbmmv2goB7Hj3K+EwdPwgwNZWBXpmoX7K5mzVdCYZGypi6gqappEwVRZGCv4WyjRCyKBaNPmqaQlfWYLrUPuPgbL87Hbz6WHWRs0KhQKXy+vRYPd8ghPQdHOxNc9tV67Bsj6OnCxw6WeDQiRmmS1bT623X58Dxmdn/dmokQvGyyPopZapMzNQ4M1FpS6F8dKoWd5X90HqhUnOo2R6b12bIpAws18O2fTJJnVRCo1BumKUGDE0lm9axbT+uoC9X9XOxxUURxHRwBE0JfmM9IpuaDYb5tMFkUap02+E57bDSryqCpKkxOl2bVe4Ok/akqc673mLFxvF8xmdqfPHbBwiAiuU2iaZEWGgvogi5gYl8DU9NVDB1acPmeEG8mYj8zn1ZucAM7daiTvlctLIUtF35+nxair8VynaTKm09TNZtR9qEffORIzy+d2RedbhxkzEbRuVnq6myYxK0eM/FqkOx6qCHBY9KTQrx5NIGqiqVcqt1F9NQec8Nmzoz0B100MGrhsZOVT5rks+nlv6jVUQ6oYVzr3INbYyjubSBqghGp2soAi7f1svDe06jKEo8n601brzDv63WHVRV4V8eOSqTH1UWvKMY1bjC2q6P7doUKza6pvDMvlHedf0m+XPb45pL1vC9Z04wVbTQFNnJbjWWrYj51l+nJiqcmpD7Q00VTLoe2aQcLyvXbEpVG0WRDKdMWLyvW1440uWhKVKl+ul9o9x8+eBq3fJlY6V03bN1rFgoKa5ZbtzRjUawnn9lYlGKc6s9VWQJ5wcBuqqG3tJ+WyroE4U6NdttKq5LBHFBRiat1rzCQ1SsjxibeugzHAQCj3DP40ubrmgmXAg5gpYwVbZvyM+jhbeTOCdMdclCybEzRVnw8ma93CzFo2q53PXgQXZu7mJopEzd9kJxXYcpAZmkHjd/5vqmNx6/XcbBhep2ciFjRQn2PffcM+9nnucxMjLCl7/85VXxnO5gPkxDZeeWHnZu6SEI550PnZB08qOnizhzsinPl1WtqPtq6AqmroazwovPaUQK5fc8doyZik3SkBW5RoXya3f0U7dcbNvD9jxyaQMznC0p1VyqdUd2izUFx/Xx1KCJvrIc1c+lFhdNVTBUhXRKo1hx4gQ/am3rqoi7tLYj27m5tEGl5sgEu+YQBNKzMpWQs9ihNSfRYXw/CH0dTUpVO1YKd1zpMS6DnyLp0su08hNIapUXyDlu1wvIpVUyqi7VYf0gtD2T3WFJtwZFBIzP1Jd3MiLxN5uUqVGpOzF9yfP8sPAgCw09eRNNUVoqxzduMgSEGzzZxVaEQGizPpdRqFXnCNA5roehq/TmE0yXLKp1VxYzFOkv+u2njiOE6Kh4d9BBB+cccymlmirYOHCMO66T3syvBspVB0UI1nQncb0gpn4bYRIUFbrLVYddW3viJCmX0pkqWXGs8EK7TJB7gaQA0zDiuDkxs/Qon+P6nBwrIxCYmkpCV1FUwc+9Ywf3/ugoNcvFdjxqdnNBOaGrrF+T5k0X9TFTcXjp6CQjU9WmY7uepGRNOpa0tdLk/qRQcbBsF11VZLcyodFtmrF2SqnmMFVcfsxbTZwNXfdsHCtaJcU1y2WqWI/Zd4YmCxRLWTfN3VNpqqBSd+VIQRAgEGxcm+G2Kwdj3ZalVNBrdY9WbYQg/L+kqeL7zCs8HB8tcXJcCr42MhNEqKkTMRQbZ8IX69q2yzA4eqq4aKHE8Tw5pkcsKRSPv7meh2XXGJuuxb+PnrcgkMyMVEI2SVKJ1qnWcuemO24nry+sKMH+1Kc+teDvrr76av7gD/5gxRfUQXsQQtCXT9KXT3Lz5QM4rs/QSJHnDkl18lYjyVJkREbBbzxyhEs397BjQ57t6/NNVgwRtm/o4mdv386PXjrDyHgZ159VKG8US/ODgJ5cAs/zOV206M8n6MqY9GRNbNfHsqUv4vq++QvhclQ/F1pcNq7JNFRVPboyBgHEs+KW42OaGqWKTaXuNNG2o271bbsHefzlUdKmynR5NrmeOz8thd4c7rh+IwHw5MujTBYt+rsS8WurdXfetS8JMTszFwm2GZr0Ke/NJeYJhoBc7KvWMjP5BsiZN5eEqcmZvqoT0sFlMScSgANaKsfP3WTk0gZTxXrMIIgsXyLood961FbRhPQ8dz2fW3cP8p0nj2PqssCRTGht+zuuVP2zgw466CBCK0qp5/kMnSnyxW/v52OvksdstK56XtAkLhWhMXlrTJLqtkcuZcQxby5qto9adejNJzB06TxRqCy9se/vSsb/HgSyGHznm7dRq9o8/PwpPE8jh4lle3i+z44Nea7fubbJteStb1rP6FSVF49O8uKRSSYLzQmy5wfUbI96WPz2fXDxKdccyjUHTZVJiqmrJAyNdX2ZpsRruTjbmHG2dN3lqp03Xu81O/oZn6kxU7ZJmSqFhtE2VRF0Zcy2rZuiPdXXH3olFtgVIkzSkzrTJYsHnz7Bx999CVsGckuqoAdiES0cITWE0gltXuGhXHVmrWvnXKaqzI6cRRazAhbt2rbLMAgECxZKgkDS3aE5eW4c84v+qQgpUAvyuxyxCat1D0XA2HSNrow5b5+9krnp1XI76eybzj1WlGC3suASQpDJZMjlOgq8qw0/CJoUwlvZbemawsUbuti+Pk+55nB6oooRClXEc0wNKNdcfnJgjJ8cGEMRsHFtNhZLW9dw/O0b8ly1c4D9R8cpV5wFz68Iwe2hJ/fxsTLphEo6aaBrCn4g2LAmw8/cvCWcy1nee29cBCIf61YLw+bQVznqPvhBgKoqqF5ApepQDo8ZzYMHIT08AC7b0s3xsTLHzhRjcY9WdiRSebvOPz90BFWVnflMUgcElu1QqUkqm6q0pme3Qshwj+fHo+Tedn2E8EiYGglTw3Y86pZLoeoQhP7b7Z5jITheQDKh8PE7LuHMZJWv/uCwVKdV5bxURC2MquKNdKYNazJSnXayRi6tN4mPOCHNLApM0XtshKySS/z4pTO4vk9fV3JZ/o5no/7ZQQcddOAHAcMjRb720CtUak48Kwmg6lJzZGKm3rQG2Z63LFunRri+z9P7RmOBzd07evmXHx5hbLrGmu4kH3r7RU3JG8wKeSpCJhaNVkRzC8+LCX6WQ+Zabz5BNqXHCfac0e3ZxEGBO25qLSj2jms3csvuQZ7ZP0qp6tCXT7Braw+uG2A5Hl7I+Irusev5bFmbZeemLhCCvWGyHSUxMJswB4Drg0C+ZyfwKJQ9XB/yaZ31/WmpnWJoYWe//WQ7jhmTVSzXQxHSivQDt23nsjZjxtzubyapye+F41GutUfXbVftvDHGRXuShCHnfCt1B9uRrDFTl0XxRJjEtUtBvmRzN+mkjN/phBTFjZLNKMmMvvvFih1S9QU2NCWltuNJGvUcCCH3XCA70F0Zc17hIZPS4wQ1+s4IQSiaJlCVIN7r1OsuvqEu2rVtl2GwbV1+wUKJ7Xi4bvT9Dd8Ls/9sfKfR7/2G5DqCoghsx4+fd02V/x0EfliIWb6t2Nm6nXT2Ta8OVpRgr1+/vq3XeZ7H5Zdfzje+8Q0uu+yylZzqDY8jJ2dmPa7bsNuKqN13P3YMy5FiVnlF2iFV6m7LBcAPYHikxPBIie//5CTphMbFG7q4eGOeSzd1k8+n2NCfwetZPILN9eSu1muoCqzpTnHL5QPYrs9LRyfJpw02rs1CsPiDDixrEWis7O07NsUPnzuFED6JjMFUcXZe3fMDgnB51FTpLfqNUJ20bntxorsYHC/A8WS1vVCxY2GO+BzLKCIIIW2sGs/pBzBVtFCEDGL5tIFpqEyVpDCbrgmcpdRlFjsnswEiZWpsHsixf2iamuURBG4TA0IRAkNXyKb1WIk2+tzGZ+rUbZea5aJrCl0Zg66MQanqoGlyjOCJfaMy+PoBQpHU9kj8TlEk7X2iaJFNtq6Kp0yVk+NlfvjcSS5an48LKu2qf3bQQQcdtEK0jp0cL1OqOghkt2leopKcTVQe2XOKR18800SJ/tfHh7h19yAfv2Pnoud74Klh7n9imJrlxnTTRuwbnuHhPWfYNpglYahMFOq4nh86M8iopakKl2/taUreoth39HSBz3z5uUWvoVxz6MkaqKpKOqFSqcs41iqa3Lp7cNHCgaYo3HRZ8yy0MCCDju14HB8rcWh4hheOTDJeqOG6QdMe5t3Xb+KJvSM8+uIZilV73v0ICGNpQ4Jzw661BIEsNNQsD1URmJHWjBbN7ra+3ihmRB3TqGtarjr81Tde5AO3bm1bobyxsDE6VaVmyW7latJ1G2OcpipYtqRwlypy35DPGBiaSnfWwDTmb+fboSBHdOpcer4yeWOS/sieUzz24hnpblJ3pfe0psTPSt1yW973iFItkNd8zY7+eYWHTWuzJA2VYoU5H14Qj+mpimDT2jTvv2Ub2bSxaMe1XYbBloEs771xM//ngQNMFuqYuoquy5G3YsWJZ8eD2fHrecWoCI0FpUYkDJWaJcf+xkM6eVQQ0rT5z/JqYaEOdWff9Oph1UXO5mKpRKWDhXHk5EyYKC/Pbmtuohsl5pvWZnjLletY25vm8MkZDofe25U5lOZK3WXPKxPseWUCkIvV9vW5MLnJyDnaBdDKk7tquXz/2ZPhzJfcrKzvS3Pp5m6eOzRBqWaTDX2Zowf97+/bB8hFYjmLgCIEm9Zm+cbDR3B9n5SpSbEuMWsVBZKCZuoK+YyJ6/mcGCuTNDWyKZ1iG7S51cQiDQeCACzbY9ypkQy72Koi7VIcd+XX2XjKy7Z0c3B4mh8+d6qlUJofyI6EU/BJJTTGZ2o8+MyJWf9PU42F7SYKddJJnc1h4EomNJ5/ZYKkoVK1XGynWfwuldDkzJcfoGnzv1c1S44X2I7HPY8eI2GoDPSk+KkbN/OdNkRM2lHnPBvMDWIb1mQ4OVbu0K466OA8R1PyoijxiI7tSh2K3lyCZDg7qWkKXs3l7h8d5aWjU/OO5fvwyB6pyL1Qkv3AU8N8MxQZ0xSBu8jCf/RMicGeJI7r47p+bHupqwq6qvDwntNsXpudp1Oy79hUnJ/M7bI1olh1yGdMcmkTx6tL3+3GoqpCWwWDVgjiwvkQo9N1gnDkKJfS0TWVuuVyZqLKPz9yhJsvW8vTB8ZxfZ/enIkXSPcKKRbV4tjI+zw+U2f39l4u2pDHDxScmk/VctFUQUJXMQ1Nsuca3lQkfFWuOliRBVqoCRL4Ukvl7kePsWlNhl1bW9tSzkVU2Dg1UQFFBd9jfQuG30rQKNSV0FWmSlZofaUQEMQ+6YEvv7PmfCOQtijI7fo43/vjITzfj2f4Bc3PSrk+ux9RFbmvmbv9Tyd1dm2d/c5G8fPh507Fs8zz70P4t6bKLbvXcdm23iXv73IFwVIJSYevWm54/YK+fAJFkU2XSPcmQuvnavY1jc+eIkSo6+PEyblQBJoi0BZ4ls8WCzWu3nPDJr791PHXfN/0RsE5T7A7WBiL0Zr8IODhF05jOXKuarl2W60S3UZq99UX93P1xf0x/fzgiRkOnyxwYrQ0L+E7Plri+GiJh547hamrXLQ+z46NeS7e2BV7YjZCESJWKD9ycoZvzSkSOK7PvqFpXjo6SSZpMNibQo/8r12ftOVw7HQJgHV9qdi+qd1F4PhoiRNjZdm1r7kx7VoIaf0gF0JBd1bOKo1MWbGHc9LUqNScs6Zez0UjZTyq5DYm/HNfqypK7F8KxBV7gGzawF+lwpWiwE2Xr+VffnSMmrXw7Li0CJObkKf3jzQt0AYqSUMm/8WKpAp+8sNXoikKfhAw0JPi1HiFwd4UNVvSyBRFoKuCQsWhv0sKnLVSRo3EWwSQC1XgT45X+OL9+3E8v0n9PMJy1TlXirlBLLI0UZSQ1tahXXXQwXmJuSrDtusjKsTaEG6YvEQzk64rHRWaLBAbjhetxo++eIZffOeOeV1f1/e5/4lhPD9AV8WCiW8jzkzVyKZ00jmTICD2WZ5L222MgeNzhMsWSrIjIatK3eWi9Xl+/UNX8N0nj6+I8j4Xkd1SqerEBVshZFE4slfqzpnYjs9je0fxfZ98enaznzQ0fN9numQhhJACqQ2bEsvxeP7wBM8fniBpaly+tYcrtveybTCH70v6rVp30TRFuqjoGqoiODFaZGSyiuv5BMgExw+tx4JwLMtxfb75o6NcuqX9rqIiBFsHc3R3p5mersTCnmeL46MlRiarGJp0LvH9IKZRCwQo4f5RBPOcQKB966al6NROOGYIcrSgbnsyLofWnZ4fMFmq47nN1G5VEQ0NDR/fh/6uRHwtUfw8M1FhumzPO+9cBMD9Twzz7MHxtmJqO4JgjUW2/q5krKJu2R6+D725RKx6v/T1zT5tjc9cOWSORvcmnzbIpAzU8PNb7aR2sQ71P3z7AO5rvG96I6GTYL8GCAJJy9UUKfLkuJI+G/jEidOZiQoTMzVSprYgbXYpu63GRHcu5s51v+Xq9bztTRuoWS5HTkkbsMMnC/Ooz5bj8fLQFC8PyY3Gmu4kO0I6+ZaBXDwzFp1joSJB0gyYKLh4noWhq2iqwDRk8E2aOmu7U9RdD6EsfxHYd2xKqoIjKWyBAN8L4iQxsvXyAyjVnFj4rVR1KNfc8DpXl3nRWLToyhromhpbYTVCCZNrP5ithqpKSKn2CalLNqaxss0P0NTN39ifAaHIgoTTumvQCMv2OHyqSNrUsV0/VrYVQn5+eSEoVOzY7zyqJH/pwYOharmk8rmuT6HikDBUPnDbdr7z5PA8u5B5vuTGrODaxEwdy/HIZ1qU7Vm+OudyMTeIeUr76uuvNTriJh28UVF1HL54735OTpSZLFj0ZPTY6aLRBUENEzvb9VBVQaXmYuhKU3e4EVHE8H144Ilh3nfLtqbn7OjpguywKnKt9Nqs4LpeMI/6u1gMbBQkWwxCyI191MlLaBrvu2VbW3+7GPwg4OsPvUKhYjcXIAJZMK1ZLkJANqlj6CrZlIEiIGlqMVtLjg4p5NIGtuPxb+64hHLd5cUjk+wfnm4S+6xZLs8cGOOZA2NkkjqXb+vhyu19bFybkRacjoeiOBiaSqXukknrOJ6PcKSDRSsSwcmJynmRYOw7NkWhasdWTwCO50sNGSFij/NUUqdam3UCWa5101J06sg6K5c2QqvSZq0VAWHRXCbrlZo7a5UacqyD8N/fdHH/PJpyq2tTwgeq8SlJhnazy4mpiwmCLWTlZRqQScoilhC01OJpiRZND1lsn30fUaEsYajxeMJqJrVL2ZNNzNSxXI+u7PzGGJz7fdMbDZ0E+zWCIoSs6AoQwgjngQJc15MCUX5AwtQxdWWekjUg6eKhX/BysdRc9+Xberl8Wy9BEDBRrHN8rMILh8c5dro4j0I8Ni1tCh576Qy6qrBtXY6LN3axY2OeuuUuWCSIhK/csMAAKm7Nkd3j0BohmdDIJg0Shorl+tQtOX+02CLgBwHPHhqPFTVbsQT8cPitWneoWrNJZVRxXUwkZqVo3JgZmirn+4KAiUI9tl6JFFqBpvscURejfrYfEFtHrBSKIsimdD781osoV22qlttys9GIaBMZ+LIwUak7sXp41Olp9dns3NLDJ96zkweeOcGJkSKuN7+SrEATncsPgiZf8nx6NpEWQpBKaNRtl7rlkW5BbVuJOme7aBXERksWAQJdlUWcUsVhTXeSroxxXtGuOuImHbxR8Ud3PcPRM6Wmn40VbPSKy7q+dLMLgpDJRd32qFoeCUOlL59oyxJxfKY27zmz3VDbQ0iSaLsEJH8Bv8eFYuAdN23mXx8fwvdnZ0VblYt1VWGwb/WtfYZHipyaqMQsrVZ16oiNVbVcaR9mavh+wEBvCpE2YmHWal3GOcvx2bWlh11berAdjwPHZ3jxyASHTsw0JT/lmsOTL4/y5Muj5NMGu7f3snt7L+v60vIzCNlT2ZSBAOqO3D/V7ebZYcfxefi5U/yb97x2Cfb+oSl+8NypmL3VyGRzvQAtrK8LZIIW+IF0Aqk5y7ZuWtICNWyaNI5wRUwE25Vz7JWag6IIUqaOqWtx8i1VyWXn3dRVdm3tmRc/iw1NnLhQFcwvYnl+sCIq80KCYEtZeWmKmMcImX9sea2GruDMaZaoiuziz2UbVmoO3Q0J7momtUu9p1RCo16UM/Tp5Py90bncN70R0UmwX2NEglqKEBiawNQVQLCuP01X1sDUVDRVJtl2mHy7ni/VnRUW9NdbCMuZ6xZCbr4v2drH9Zf2U6u7HD1T5PAJ2eGenONF6Xg+B0/McPDEDCCr1HXbCz2NlaaFUGlIfucmtH4gu8mlmiOr3SmThCETOUAmhJrC6FR1Xgfu+GiJmbKFrimSChYEC9K9y7XZ4oQadhbkfIzseJ8rKGFXXlXDuT8hEARIhlWAHzRvwAQCL1g9znrS1Ni0NsOdN21h55YeHt97hsAPUMXi4mxzf+UHktEQqWMmTW3BBXrX1h5uumoDew6MUChZ8z63uXSuuuXFvuRdGTMWHIrfQ0JDKYuYgdGKGre+L4UfwN6jk6tqZTE3iNmOfC5VIb/TCs1+necL7aojbtLBGxWtkusIjutzeqLCur503JmLinueF7B1fZ47rtvIgeEpXh6abuNsYt5zVqrY1CwPz5cJx2LjYY1QlNbr1ULrrKGq3Lp7MJ4Hb3WKK7b18IHbti24Hi7FcPGDgFdOzHBqtEjKVJs6gs/sH8P1pJCZWHQKfLbQYNkuY7YHAnIpo6lomzBn4z7ITlyUONdtl/1D07x4dJLDJwpNiUyhYvPoi2d49MUz9ORMdm/v44ptPQgBpycqJE2NVEKjO2sSYFK3ZMJvhbPfzxwY45fuuKTJk/nVQpSAup6Hoas4Dcyy6I66YcfY0FSpIG6ofPyOSxBCrIiZtBid+pod/fJ65lDIhRCYujx/0pCf1UzJJpfW6e9K4ITCfLoqZ7g3hMr3c+NnRHufi7nfnJgev0pU5qVmzyt1J070tXCeP2LUxdekSU2EX7lzJ+W6dOZ54chkwxhg8xygosjPzrI9vCCQo2X+bPf/bLHUe0qYKkIsvm9aaqSgg/bRSbDPMwRhkjXYm0YVghPjZfryCXRNRVcV2SkMQFNVegZCNW7kw7FUwD7buW5DV7l0UzeXbuoGYLJY5/CJGQ6dKHD0dAF7zuxRKbQEmSnZgI2hK7GPpabIGVXHDZh7Kq0h+XYcj0rY2dZUBYHsbKZMlSf2jfDoS2fIpw3uuH4TO7f0UK46+L5U15wuWkvSewSSchwJzvjBfJX1s0W02PqB9FyMglRUjbVDmhVEn//sfZT3wY8VazVV4AeymtvuJi26hoSp0t+V5KPvjgKxzeN7zzAxU5WUeX9xYZzoemavE1Qh71mxYmPqyqILtKLIWTW3v3WxoJHOdeRkgXufGCad0Ba02UiaGpqqtKy6KwKqlsff3v3Siju1C3V7d23ubgpicYFIzP7Db/h5OxVqPwg4dqbIsdHKqgrlNB5/MerY+dRl76CD1UTVcRZMriM4ro/nuiRNDVNXmCpa9OYT/Nv37uTqnYMUClW2rMvO6w5HmBU0knFx7nOWSxtSkCruQIq2iri241OrOyQTs5vvpTbCkTDZXKXzdoTLlmK47B+a4jtPHWd0uiYFN8PfX761h73HphgakffZ8yNicGuEJLJZG0chixl125MCZ0FA3fHZMpBh19YeHNeXCtrerFJzwtC4ekc/V+/op1p3eXloihePTHD0dLEpLk4VLR5+/hQPP3+KrowBAVTrrkwiFREn271mAj8IqFkuluXy9L5Rbr58sPUbOIeIEtBM0sDzAznvHPlAN7xOIMildaqWx4b+NJvDkayVYiE6NcCzh8YXpJAXyzYIsF1POorY0lEknzHQVYVyXT5XEVW9VLGxbQ8hQivShunl6Lma+81RhOzUR2iMqSsdeVps9jwqmsf1raCZERnI1jzZpE4A5DImuy/qJ5cyOHSygOv64d4zCJso8j2p4cz62ExNOgOE9zBlavPEhpcLPwgoVm35HV6gQ+15AamEhr7AvqmdkYIO2kcnwT5P0UjbGZ2qNT0Iddsjm9J5xzXbWNOdxPMCnNBywnH9WHBpbtK9GnPdjejNJei9bIAbLxvA9XyGR0txwj0yVZ33etvxsR2fUtWRXVtBmAjJuWdVVajVHUpVJ6YrTxZtdNUhm9Lx/CD27ezvMkkkkiRNQd3xufeJITRNWkmpqkBTZDGitEBSk0nqVOrShiGT0qUKtucvy6O7XQilISFV5HxxdP/zaYOJgqTqa+p8irrS0FVWlVm6eCACenIJXM+nVLWXFGUzdIVsyuDGXWu5+0dHOTFWpmq5BGGivgATcR4iP0s3Dvgi9uyeKlqkk/pZLdARnWvT2izPvzKxqM3GxjWZWBWzserenZGb2elSfcWd2sW6vWcmq9LXNQzMcZcp3B1Em4To51G3KZ3UGBoptrTNiKxeIg/0tatM216KOna+dNk76GC18cV797f1usmiTVdWUAk3pz//1ovYti4fP8ftdIevuriPoZFS03NmO9JaMZPU43jUjruKpsrN+HihTrcXkE7pbW+EP37HTn7xnTuW5dW9FMPlLVet4+E9p7Fsj1zGIJlQcRyfoZESB4/PYOrSFSIaW1vsHQaBjGfZtEmxYsUCkdG6Gr3H23avQ1cVDE0hndBk98/xsGxpexR1FFMJjesuXcN1l66hVLXZe3SKF49OMjzSXFiZmSOm5fkB5ZpDOSzgpxLSCzqd0LFsL9YDeTXR2IU0hKAnJ0VAnTkNjJSpUbf9VU2KFqJTL0QhL5Zt6o6HaSjkUiYpU2OmbOM4PpMzdTJJnW0burjjuo3s2NjF/qEpvvXjY1TqLuWGhLJVsaoR+YxJYycmiqnjhRp//rU9i448LZSALzZ77oV7QcNQIRR3jYpCsxcqvzvbQ+tQkOMhkR94dDhVkSri5ZoTq5FHoomRtz0B/ONZsMhiwbjJSlx4KFXtJvafZbsUKw4DvUnef+s2Hpizb1pNe7kOJDoJ9nmMhWg7g71yAbloQ1dcWVMVFWGogMAPpOqm6/oxVdUPglBARFKTW+Fs5ro1VWH7ujzb1+W54wZJ0Tp8YobnD48zdKbUgl48S52p1j0s248FJQSQT+soqqQ7OW7AdMmOE3IpEqZRqTpUQHpCewEPP3+a/+fdF3Pp5m6OnCrMC0gRRPg3ipALXLnqtMUAWCn8MHk2NCnw1RikFEWQ0DVsTwZK35cbCC/ubkifaM/z4wDqBXIWKapQZtMG49M1VEW0rIImTZWtgzku39rDw3tOxzYlfiArqnNnhBbqYmuqiK9BVST1PrpvAbJQcesVgyTDGerFAv5SVed2bTZ2bunh0i098bHSSY1vPnKU6bK14k7tUt3e6ZKF7wdU6g66pjQxEdTw7w1NerJGxYDujME3Hzk6byMQfSax5ZkhZ8tXm7bdjhVLR9ykgwsRS81RRohmfxfbaC7VHb5mxxr+4f79aEmFemgx2BiHIjeJqGu7UMxJGCpre1LULIfJgkWxauP6svPd7kbYUNW2hcuWZrhY3P/EMIoCPTnJqHM9H12T42vyfz7phEaxosxjs827tnD0xzRU7JAe7vkyYWu12Q8CeY0nxkrU6i7ZtM7anrRsODgerufHYmDZlMFNlw9w0+UDzJQt9h6d4oUjE5waX1wN2vV8ylWbStUO6cgBM2WLhKlixuKbbd3Os8Lczmo07yxFWJ1w9E1aPb1aSVHLvagiQIBpKPTlk/I7o6skE3qczPV1JfnP/++NlEo1XnplQnqQ1+x5+4vFbmtXxmgaE2iMqQ8+fWLRkSdgUUbGYnsMEXbNgwCmS1bLa3NcP/ax3j80xQNPHw/nzsMxSKQjQbnmkElozFSiApv8n6mr5NNGvC9cCYtsXmFMU5gqWFiOz/hMjVRCWtU6od3f+EydB546zntu2EQqqXfETs8hzmmCrSgKH/jAB+ju7j6Xp7mgsZgK4lxE9HIRWlBohkIy1FLwfKj2O6zvT4evliqpjuvF3UjP81c0190K+bTBtZeu4dpL13D4+DTf/ckJJgp1HDdoaTHVRMsWstttCpXubALf9ylUbDwvoCdnYujN1+e4Uiht39Akh4b7uXJ7L8dHSvTkEni+pHxV626s2khIH458C52wGjqXsqepon0FyQWghlVKzw/o707yc7dvm9dx3TyY5adu3Ew6ocVJ4rEzJe59fAjX9dFUQanqx0JoiqBJ9Mt1pT/1r33gCoIg4NmDY9Rtl3zaZOtAllzGZMOaDH/59Reo2y6e74eCXPI7JAIIGnweFUVS7IsVWXEVgnA+Xb4+CORrE4ZKV8agUnOo2h61usv3fnKSHz5/alE6drtCW+3YbEBz1X1opHjWndqlur2ZpKxGa8oszSqX0pks1nE8+Zln0zpOA129ULGZLltzNgJlDp8soGuCvnxSKo6GVjxd6urStpeyYumIm3RwoaK/K8nxsaWtdraty/GRd+5YcqO5WHd4aKQYqo470gUhLGJGVUs3FK26+bIB1vYk6ckl6MkZ/I9/fkl2zHSF7qwZW1MmTZ3+LkHVcrnz5s1cFHbLVnsjvNSaZ2gqU1WptdH4ezv06dYUGStt16c7azJRqC84apVL6+QzJq7ry/UzpfPRd18Sx79We5yFYsZP37yFSzf34Pl+2Nn2cBqS7a6MyS27B7ll9yCTxTovHZnkhSMTjE4t7rmsBAHr12SoWVIETVUUTF3BNLTQOaP98azlolVnVQhBLm2QSWrx+MLH7riULQOLfxcWKmS3S6ue+7pPfvhKTo6VKVcdilWbbz5yhIQxnxEZO4qULYbOFOlOa9z/5DA1ywl1CBa+f6oiuHHXGvIZk58cGKfueNiO15T8mroCQiw68vT1h49QrTtYjrcok63VHmPzQJZKzWG6bGHZXkzxbtLGEZDQVfYem+Id123k/ieHsRyP3rzJVNEKmwxyjM71A0o1B0UgrfeSBhCga7OxeCUsslaFMc+SVqGeL+1pI60hTRV052bdTb703UN8/N2XcPm29jzfO1g+VpxJvfjiizz11FPYth1TaIIgoFqt8uyzz/L1r38dIQSf+cxnVu1i36hYiLbTDqIFQRGwcW2WhKExUajTkzVIJYzwNbK7PVWyWNeVZLAvvcgRl4+LN3WzfWNXbAsmhJzPlnZgBcq15q5ZEEDN9qiFgiOaqqAqAiekvbdC1H0vVR1SCS2uOOqapK1lkjqu54dWIR6O480qe0diFHMgNxZiyWp8w5hOy9+JcHEmCLh0Tsd1oeC2dTCP7Xjc/8QwxYoT/r2ca8tmZ2k/jfN4UbDdOphrOv6GNRme3jfKibEyargRUsPzRTPnjdfu+XJGLWlq1G0PXZWCcZFFSNSdzqUNyQCoS6uNVEJD16UF14mxMv+/+/fz9jetZ9fWHratzwPSemQ5QlvLKTDB6nRq2zmGIgRve9N69g1Px5u+VEKPfbBt28dTA9b3pahaHtOl+ryNQBCqjQsx/zyrTdteyoqlI27SwYWKT/z0Tp79748u+bpP/sKVpPT2CkwLdYej5+zg8Rn8UOApQhDOmgpFMFWq84n37kQRgr1HJ0kYGrmM0XJd03UVYXkMdKfO2fjGUmtelGDMlXaOKNoiLCBI9xONvnyCQsXGCuNsytTo705CIBONhTrVrbAYdf2L3zkQx4ykoZEy9VgQ1rJdyd4Lk+3eXIK3XL2et1y9nu88OcSjL44seE7HC/jsV55n+/o8u7f3smtLD66pUbPk3Lm0jZQspdXGUuyteHxhcP53oTEhHi/UePbgeEvW1N5jU0sWuBcrhF++rZe9RyclO2+BexDF2mLFpliqMTJVxdQ1qnUrHjWb65CjaYKkofH2azeyZSDHZVt6FhVeW6yQfmq8jKmr9OYTLRPwqHi90B7j4PA0/3D/fkqO0zR/7YX7n958AlURjExVeXrfaFyg0jWFbEp2rT3PD5+P6PyCfNbECBkgze99+SyyuYWxmuXGHuURWwbC+l4gm2+6ppAyVYoVh288coT/uKnrNRHzeyNgRQn2V77yFf7oj/6oZVKiKAq33HLLWV9YB6sPRQjeec0G7nrwIEMjZdIJjWRCQyADSk/W5H03b6UrY+I4Ho4X0GLvv+Jzz53rvvrifvwgYGSyyhN7R3j+lYmWFlnSwkz++2TRJmF4cYCLlCUbu+8yiZfJ8XTZYqYsVTaTpkYmaZBNESfbqiqoW16YRMtzR/Ozvh+QzxgUyvbiwmeLVGM9P8A0ZJJfqjlxsjR3ozS3UlytOTy85zSKAr35BLbrUa65+H5AsWKhq3Jmfe483tygGM22eWERBeS1CnXW8qPpc1IkpV1VFN53y1YEAT964QwThTquJ0cPIgETVRGMTUsl+d68Gfu1yg2OT7nmcPdjx/jhc6dY15fm5991Cfc9PrRsoa3lFJhWo1ObCoVLKjUHU1fnHSc6xq6tPdxx4+Z5xYyowp9J6fgB/O3dL7XcCERUMi/s/CTmeJuvJm27Xcp9hyLWwYWGlK6zbTC7qNDZtsFs28n1YlCE4JpL+jkwPC3FDoNZASfp7ywLk6PTtTgWnA/skqWuIbZNmhPnJA129ufRvHrC1EiYGpWa7CD+/Nsu4sbLBgCWJUi1XHHGIOwaJnSVpKHhBz6W48vOtuvj+TKG7d7eR83yePHIBLbbOnj7ARw+WeDwyQL3PHqMHRu72L29l0s3d2M5HuOnajiuT3fOZGtYQF4MyxHjape91YjG2G/ZXug5LshnDHIZA9f1GT4TzssbCvm0uWCBux3HiXa+t5oqv++nRovSK1uXOjPSI1ugqCIcMZP7lO6Mie34ccxbKPndd2xq0YJQEDYOTF1ti8k2d4/hBwHJhMauLd088fJIk3WY2aBy7wcB1bpMaj0vwFV9pqeteGYbIdmkmaSGbXsoqryPhrY6z3ljYSwIxWb9/P9l8QABAABJREFUIGqgCLxQMFdR5CM6XbJQFPmZBUHA8EiJP/3ys/zsbds7s9fnACtKsL/85S9z22238dnPfpbPf/7zlMtlfu/3fo9HHnmET33qU7zvfe9b7evsYJWw0MIdVSZ3bOoCQCR0SaAWgmTKwHdc6pYUFgmCIKYrny0UIVjXl+bGy9byyqmZ0A6BmO7VKrGNlUYr4WyzruL5Aev6Ugz2pTkzUUFViAVlVAUsWx5vBqsp2V7bmyQIZ2ROT1So2x6qkF0G35cdiN6cyWTRanktrTYdjdBUhVxaxzQ0imW7ZbI0r1KsCFn5J4hnm9LoJAw502c7km2QSxlNAXduUPQUn8liHc+f3QiJUDQtmnWP3kNMD0eAkMHpnh8dxdAVuYCrgr58AkVVZGfA9rGQMz3dGZOkKYNCUwU1nHFXFMGJsTL/42t7sO1ZdUsrFP9RFIERVlVPjpf54XMnV0yFPNtO7f6hKe57Yohq3YmFSoxwTiphavOO0Sr5b/zvvUcnF9wIRJvRIAhaF5ZWeWO9kk1bBx1cCPj9j1+3oFXXtsEsv//x61btXP35pLQsDHVQfOQaa2hyY24aalMsOB/YJUtdg+16JE1N0m2D2W2joSlomoJle5i60pRo+b4sYvfkTCZmatz/+BC9+QTX71rbdsfsbMQZo45dY7J9cHiGR148xenxCuWai2modGU1NvZn2DqYpSef5OWjU7x0dJJiQ6z2/ID9w9PsH55GVQQJUw0FQqW16sY1Wd576zY29afRFCUWM43Q7lhUI5bD3mqM/Y2K1JHDh64qJEwNNywweD7x5zy3WHHxpq62ihqf/PCVS35vN63JsG19nmKphqqKkIXXrMIv2Q+zHeK5Ma9VjF0qubdDT2pdXz6TralQ4Xiy4aBBJqGTNKMRAXn1UYzuyUkF+qmCRYDscCvh+/R8n2LFIWmq9HclmCxY0g2oASt9zhvvQzTuqIQjBY2jmEIoBIEfK6MroS2t7weMTNY6Np3nCCtKsE+ePMmnPvUp8vk8l19+OX/zN39DIpHg3e9+N0ePHuVLX/oSd95552pfawerhHYW7ig4aKogkzRw6g5JQyNAevd5vrQhcF1JHY4S7mAO3bhdDPal6etKMjJVI5eSC1kQBKF1h0ul7rZMcF0vwPVkMDk+Uuau7xzg4g15EqZGoeKgCrlAK+qsUIpte3iuz0zJwvd9urImCUNj49osxbJF3fawbY962LG1XZ/efILd23p54uURqXqOrGgu9V5dX6pr59JBy2SpVaW4FlqIKIqgbnvxYhyJnVTrLnXH44O3b+PGywbimaq5QXG0ZIWz1rMz7o23MJjzT4GkP+mqguN6WAEkzQSZlDY7+wTcedMW+ruSjE5VuffxoThhnldBFQLhy5mqdNZgomBRt1wMQ41VUaNAGytuez73PHqMhKEu21YLzq5T2/hZ5NKGfC+h6NxEoUY+beL6wbK6vYttBAxdMjAcr8EOJPpMztHGermU+w46uFDw+x+/jqrj8MV798ez05/46Z2r0rluRCalYxoqWU3OiTYWEYUQsb1VFAvOBbtkudZFS1+DFquIS69jA6GE+iWKQFWkc0c0K1upOTHzq1J3ORHOwAsB//T9w7z3ps3cccPmJd/HaokzBkHAgaFpvvL9w7IonDXp7UphOy4zJZtTExWuuqgvZpf91E2bGR4p8eKRSV46Otkk/Or5AZVwrlUIcD2FgydmOHXPS3zotu1sXZ/DUBXM0PLtlRMFvvy9Q1TqzrJdLdphb82N/dFcvKJIUVLXDyhUbNm59AI5Lx+K35phTGosVjTSnRcrapwcKy/5vb3z5i0oipxpHuhJcWKsjKbJ/YVgljot9x0C2/XY0J9ZMuYtVRCyHE/Suhf4+4WK13P3Y+mkjuNUsV0/ZrRF52qM0dfuXMM/ff+wZPipIn6NCP8nPcHh/bdu4yvfPcRk0SJlqqjq2T3njffB1JWYHdAIKQEREPiz/y3ZHvLfI6u3jk3n6mNFCbau6yQSCQA2b97M8PAwjuOg6zrXXHMNX/ziF1f1IjtYfaxkrjtKuiPVckMDkZCLZJxwez6O48dCIwt1uv0giGeyUwmNwb40b7lyHXc/doxi1YkXn4AAL5CiWz9902ZGpqo8uW+MUtVmbr7t+UFM6Yp/Fib9AmILJUWBbEanWLaZKtWZKlt4ro9hqCR1SW1LJXSECNBVlXzG4F3XbmTnlh6uvriPrz/0CqcmKk3CYAvfM3ldhbLNjo35psCxEP1tdt5HJqwJY3ZRF0KQTGg4rk8mqcebqGLVZmRyNihGPo6qCO3QlNA7O7quVhcrZm24pMqt/FsnnGNLmSqVusuzh8b5rZ+/ikxKjwOqrkm6uu14s24aDbRBIaRNVbXmMFW0oKHK6wUBTkjTEwJyKfkeVqqkvZJObavPQlMViqEKcOQxuWNj17KS/qU2Aroqg2IlLKgo4WdXrp072vbZaDp00MHrGSld5//7wd3n9ByNz3xXxmirI72a7JKVdEvbvYbNa7PzfLC3DGSb5nqLFZua5baMMUEg17pvPnIUYMkke7Xo89H6Xq5J66JS1UFTPRKGypruBJW6x8vD01y8qVvSzJFaJlsHc9x58xaOni7wwiuT7Dk83lykDsAKu6V12+P//uAQP3v7draty1N3pM3Xw3tOk0np9HclsF3ZMFCW4WqxFOZ2+aO5eAXC9yKt4io16ZYiFJlczWVNRYWRI6cK1G1vwfnyxqLG5dt6F/3O7No6K0QaJeOe7+AiRbikDan8p6aoJAxtyZgXFY92be5mZLLKTCQeOmdOvS+fYLpsY8yhiS/0DM7dAziuj217oY2rhetJVfmI1deYFJ8er6AoQs49B6BC3Kr3AsmiVBQpkPqJ9+zkgWdOcGKkiOudHYus8b5WQi2jSK8norRHjIG4kRLOfXpBgKFJ4T4hxDmx6VypR/mFghUl2Dt37uShhx7ihhtuYOvWrfi+zwsvvMC1117LyMjCwhEdXHiQdgOheIIq0FWFVKxcHvpzh9XSaCb4lRPTPLTnNBMz0v9ZVaCvK8lbrlzH+2/ZynefOcFUyQI/QNMVBnrk77Zv6OKSzT3cetV6zkxUGJ2qMl6oMzZd48jpQkwLmos4jgRhNzWpoQqBrqoxFVsVyLlz28Mrg6kp3HDZWm68bIBNazMkDBm8dm7p4Q/+zXUMjxQ5eqrImakqj714uuUcV7ywhZ3uay9Z07S4LER/ixJSAbHNmtmwuXDDhO9bjx2L1dW9QKql96om6Ops8BRykZv1rW4NJaRCpxIahbId2ncRdyGiTrOqSrr38dFSvJEcGinJz9rx5b0OwCcAETTNMKdMTd6PhipvEMxWVqN7ZuoqCHFWG5DldmpbfRYRY8AOA63r+/zs7dvYOrj0vN3sfV1CsCal896r1rH32BSjU1VqllQs7dC2O+jg9YlWz3wQBNiOVLpOJ/WWScRqsEvamZ1dKsle7Bp2bunhsu29TFdcTo0WSZlq/Pt3Xb+J4ZEidz1wkImZWixSCvOFQD0/4P4nhnnHdRsXpYuvFn2+1fruej7lmgw+vh9wesLFdl368ilsW+qyeL7s0F+8oYuUqfHKyWkQ0oGlbnvzmgfFisMXv32AdFLniq09DPamePnYBPmMiaYqJE2VdFggtxwv/mweevYk2zesbCxqbpc/GgfzwtgaXWK55sj4HFLblTm0qUrNoWq5PL1/TKqnW27TeFSEuUWNdr+3jQWcE2NlqnU3FOMSJE2NjWsybQnetdKYKdccFCGaklVgWayQ6DuiqQpj07U59noKQkjG5kzRwjDUphi99+ikFD7LJShWHfm34Y03NIVcSscKZ8uv2tHPTVdtYM+BEQol66wTz+i+3vfEEIdPFsLRtiC2eCtV7TlaOwGu3+xGcy5sOlda6LuQsKIE+xOf+AS//uu/TrFY5E/+5E94+9vfzu/+7u/yrne9i3vvvZdrrrlmta+zg9cRZpXLBaamktClP3cQ+Bw+UeCJfWMArO1J4QVQt1xGp2t8/eEjZFMGlZpUpo8EYW4Lk+sIkWBao2ia6/kcHy1z+OQMh0/McHqy2vLaPD+gWIlms+WCDIH0NA2vO/LIPjVRIZc2KFUdKnUXXVVC5VCV7eu72LYuz7EzRZ7eP4rruWHnVszS5RvOq6kCL5xdjxbShehv0ayTFVbAGyvNQRBQLNvYns9EoUYmacS08krNYbJYp68heEYWYfF1KNFc0Ox1dWcMNE0mwnXLlTPB4efohDPh0TyRG9LP9h2bYsuA9NY+eHwGz5eqldGbjqqoyQbhrlqoIC+Dv6zyNlZWARBStT2qOp+NkvZyOrULfRZyxk5+HsWyHVMDl4N2OkPvun4TpyYqoKjge6zvS7+hKr0ddHAhIXrmv/7wEU6Nl+M1WFWklsVCOBt2yXIFwVZ6DYoQXLSxi96MjtuQhESzn+Wag6GroRXmPOFxQBbVa5bL0/tGufnywUXPtRr0+aWo5ghZTJ4p2mzoy8Yz21Fx1XJ8bMcjQJBO6PFYViQmVm8oJoBMVp/cNyoPLcD1oWZ5CBFg6hqppI6uKuiagqYKvv3UccTTrCgBmdvlNzQFRRExK6zxXvqBtG7SVdHUoa5ZjhTAEoJsSsf1A5zQF36yWKc3l2ipQdJ47Ha+t43JeKliU6o5ZJI6ubSxZJK5UPGoXHPQVCV2LGk8znJYIeWqg2V71G2XANHCXk8mre+6fiOXb+ttOk/0GaiqwtqeFHajvoyuSraHH8yOhSiSIeH2L+5Q0y6i+/rInlPc++MhHNcnlzbQNAUBzJStuKMdBDLpbyycrLbey9kW+i4UrCjBfutb38rnP/95XnnlFQA+/elP8+///b/nq1/9KldccQV/+Id/uKoX2cHrG0GYbfkB/OuPjzE6U6Uvn0TXZODvShvkMwYTM3W5Ocia+AFYlst0yeZbjx3jA7dsbUqy50JTFbaty7FtXY6L1uX45o+OUqk5OIv4WDclnmH3PRJAcz2fiZkaZyYqDPalORlWXNNJjfX9mZhaY9keXRmTACnapSBQkd3fSLwqEp+47/Ehnj80zrWXrKG/K0mxaqMotKS/5dMGE4VaXKH1gyDcVDjYno+uCbqzs/YTUqVclUJuZYuBnhS6pjQF/mjmSQZaP/5vy/XRNHXWsissDggBmtI8T4SQ9+25w+O864ZN7D02hamr8YhAY7oshLRby4YVl3LdRVUEPVkzrvI2CsFoqiwm1CyZxBq6ek4qq61wrpV8l6ryR/Zq3d1ppqcrTRvXDjro4PWJal3ObZq6iq7Lze502T4nm8yzEQRbLUSJ7EJcKdHwmwCYKtaXPOZq0OeXu75HrLyoQSCp7WnW9aVxPT/WaVFVQXdWUvaqdZdK3cH3aRKYCgL5u9k5bmkhqghIJXRSSY01XUmEgJmyzT/94DC/+PaLVzyG1ApChCNfUroWz5cFA11XcRyPyYK8pt6cdAPJp+VnExXoZ8oWPYpYVccJIaTAbTse3Kmkzn1PtHYg6Q6LR/uGp7ljznUthxWSSupS1CwsQMxeKGhC4IQjkLu29s57fuZ+Bo3fsVdLqFARgrdevYGB7tS8Z+WSTV3MlG0KZTsW3T1X17dahb4LAStKsG+55Rbe+973xmrh3d3dfOELX1jVC+vgwsPx0RJnpqqYukrN8qhFFe6wegwBmqpK+whNkTZSrsdkyeKpA2Ns25BnYdkKCT8IePiF0zieT19XEsvxJEXGXXxeWs6PS+/tQsXGDIPq3qOTPPD08Xl09su39tCbS2A5clapryspZ8/Dqm/NdptoObomlUUPnShw8HiBpCk3XZI2aMddjci3UxFgaipCkfPtkW9oXz7B+EydTLJ5EyWEIJ82mHTr2I6s7icNtTnBjrrXnlSazKcNeZ/yCWbKtlyMFYEZ/p3akFzH9zd8LzMlOxZDyWeMuEpbt1yKVSeeAXNcn2rdxXF9kqaKKmiq8lq2x0zFRoTieQFQrNiUqk7o16jFG59zOc/zaij5dmafO+jgjYFok2k5XpMPL8iN5rnYZK6WINjZIEpk/QXqg40xWAA9uYW7+Y1YLn3e9X2e3jfKVLFOTy7BtTvXsLY7yfHRMqmEhqoqsejc3PV9oTizcU0WRUiqta4qJAwNy3apOA66KvAJ2DqY48Nvu4j9Q9O8eGSSo6cL87RiIviBPFbNcjBUhWRCpytjULN9fvzyCJdu6VlityMxt8tvaEq8h2iYFMMPpGWorinULFeKtVpyRE6I0A0kIQsMSVOjJ5egWLFlFz/sFPflE1yzo59kQmti47WLdmnDc18XIItVubSx7OJRu3FXNNi0BkEwbw8g5rxu7jnOlmmxWvubxXy973rwIFVLMiPPlU3n+VDoO1+wogT7zjvv5IEHHuArX/kKmzdv5v3vfz/ve9/7WLdu3WpfXwcXEOZ69kXJpBQBk/58QeCgCBmotZBC1ZU2cD2fquXh+z6Fko2hK6zpTs07x5mJChMzNVKmFG5IGBqmrsaia4Ef4Po+l23p4dlD46HtWPMxgoA4MX3khTPSqkmTAdnxAo6dlvPXCUPF0BVsx0co0obFNFTypkHaN2K6kWV7ssNclSIjAZLSnkvL11iOx+hUNUx+g/g1mqrw/jdvYefm7nihLFVsvvDtA2gtKtVJUyOX1imECarjNe9yfD+cjUZWzyt1Sa36mTdvJZs24nO8fHSSux89JkXRFBH6fMtOuhCCroyB5fix92O0oTPCeWtDV2M7sQCoOx5b1mb58Lsu4evfPcjxsXJc5dU1hXLNiWfYRZiAE4RWbY7HprVZqjWHP//annM2z9Pxie6ggzcOzrX4zmuxyTwf/LSjQuWJsVJsuxTpdzTC8yGd0Lh+19q2j91uovTAU8Pc/8RwLLQmgC9/91BcYKiEo0qGLuehXW/WGeLg8PSCCSDAmckqhYqNpgrSpo5pSmGuAMjpKu+8diPphM61l67h2kvXUKza/K+7X6JQWbio4fkwMlUlaWokTQ1VERyvOxw6Mc3mgRwJPSoELPyeG7v8x8fKsf96wpC6KrqqxHRlP0we77x5MwPdKUamq9z3+HDsBhIh0iCxHI+ZkhQSK5RtvveTk/zw+VPLjr/t0oZbva5Sk3vHYsUOZ9mbUxdVFdgVj71HJwFW9DxXai6mLt+vF4rDRYyLyMPe1NUFx8TOhmnx8tAUd//oCOMz0uLU1FQGele+v2n1rDRd32SVUtVGCEF/V4IPLNMHe7H183wo9J0vWFGC/Z/+03/i937v93jyySe5//77+eIXv8hf/dVf8aY3vYmf+Zmf4Y477iCbPXdUiA5en4g2AJWaE3c1GxUPG8U3oo5y3fZCf8E6//S9Q9iuh6ooJAyVvnyCmy4bYLAvHQte1CxXdprV2YdbCIGhyQ2HHwQ4VYdLN3VzfLQcz2qLcCVdSPnUcvxYLTSC4/ukNQ3b8albXkzhBjB0jaSp0pUxySY1ynWXACkE5rizomO9XQnGpqpYoShGFBN0VUFXFR7Zc5ota7Ncvq0XgKGRYstNVN2a9cj2A7B8b8Hqt6KAGs46O27ARKHOZdt6OT5aoliRomaGruD6AZ7nN1XglZDGFi2S0Vx247UkTKnEXqk5WI7Hz7/tIm65ch29PRmqZYsvfHt/UxLbOGOuhENC0cYoQM7q3fXgQSkQdA7neTo+0R10cOHj1RDfeS02meeDn3ZjodJxfOphzJwbV1VF8N6bNrfth90uHnhqmG8+chTPl3ZU0UhT3faggc0VBGDZHo7jsXFNhg+/9SKABRPA//PAAVIJyaLqz0shq1JN/k8IOaK1treLN13aT73uSgEzL6BctQHIp3Wqlrsgk871AkpVJ2ZuCQHHThfpypiUFQVTlyNpRvi7Vsl21Ll88uURvvbDVzB1dV7SDDJea6rgovV5tgzkyIzoaAsUZoQQ1CwX2/UplC26smZceF5O/F2MNqypgqmixdceeoWPhvF37uukPZb8LKdLFkIQW2bVLJeZsoXr+jz4zAke3nN63vPcTkEtstczQytUZ46HfSqhxa9bCCsRKnzgqWHufvQYruvH+z9H9Rk+U1r1UZKdW3oIgoBv/ugo44U6QXg/v/PkMEr4+6Ww1Pp5PhT6zhesKMEG+eDddNNN3HTTTfzn//yf+fGPf8z999/Pf/2v/5U//uM/Zs+ePat4mR1cCNi0Nks2qXN8rBzP/woCgjCTisU35jyUlapDzZJdXkkRkpXMsZkaJ8bK/NI7d7B9Qx7XC1jXn2awLw3IzrQTinLF6qWej6rIgEjDohfNFy9WJZ4L1w2YKtkkDRVdlYFP1xUsW3omWrZDPm2gKDIBziR11JSC6/vULC8uAvjI99+Tk0qjUaU5CIJ5VMJWm6i65TJZrMuZ8mDxYgHITjYimsGGR/ac4tlD41LZ03Jlp7/hj4WIBGxkh90OvcEf2XMKxwuo1Bx6c7P0MiBmKGxck4m9ugF2bW1OYqXdWoAWqor7vrRlE8yqmk8V65i62kS1PFfzPB2f6A46uHDxaonvvBabzPOFhdNYqDx2phiPgoGMJSlTa9sHezlwfZ/7nxhu8iJuZRMaiWcLIZ1P0kmdizd18Zdff2HBudHJQp3pkkV/V1KqMyf0JiErAZwcLXNqvMKmNRnSSR3XCxibrtKTS6CoCrbtUguT+kLFaZpHb0SkXv31h47wzIExrtjey2VbeqjUHRzHpytnsmltViaYNO9ZFCG48bIBHt87wsnxCqkWVOdixaY3n5CstCBYsDBTt1ymS/WYXWY5HtMlKxbHWk78HR5pzeioWW5MQz8xVuYvv/4CluPNo4JHRfhoTzc+XcPQVRKGSrnm4HrScqonl5j3PANtFdQa70N/VwLHC+LPV1cFhYrTskDVKnlvl5Wy75hkCzquL/VuFBGLqnm+C1VWdX+zf2iKL333EHXbJZvUl10saWf9vGRz94KFPst2KVYcBnqTbFiTWfA8FwpWnGBHcF2Xxx57jO985zv86Ec/AuCmm2466wvr4AKFEKGNEwtms43zL0EQUKjYCCETUEWZpSNHC/w9jx3jt37+KnRVYctAjnxaZ3ymTk/OjKlVtisD22TRY013igBBoWxJ30KfeXNSCwW/ufB92RmIkEubbOw3OTZSJmUqCEVeY9SpMDSFREgFUxRIGhq5lEHNClXKG6hPraiErTZRM2Ur9rgWirytS0lk+YHcaCRNlZPjFQy9juPK7rcqBB6zG5MgkJYfc+F6Abm0wXTJYrxQp9sLSKf0JTd0jUns3qOTfPfpE3TlTOkBHc2gK1Ll1HY8PD+Iq9VNn9E5olp2ZqU76ODCw6spvvNadZPPBxaOHwQkExrvvHYDwyOlOIZ3ZUz6upJcv2vtqneuAZ7eN0rNcpuEOb25gZ3ZgrEXBPgIzkxWYj2RhSj9pq5SDR02IjQJWRFQs51wDEz+TFUE2dAGKWVKu6vI3svxytQsF1XIgncyoWGHXe9GHDtT4tiZEv/62BCaIlWqTUOwYU2Wt129gUs2dZHQNTRtlkK+UKGlUnUoVKRDy2Shzt/cvTdONOe+3vP8sGgfvRdQhILt+k2q4u3G31LI6FATQgqJ+dIPPNoXKYoUhpWaM3JkUFflXilqIMyF7XjxKJ+qQHdW7iEan+evP3yEat1pi/3WeN8KFYd0QsM0VFzXp1BxWu5nzoYN44edZNeTjIL4uKGomuuD4/mMTK7O/qZx/ZP6O1IFX1EE+bROoeIsuv4tZ/1s9X2aKds4YZd+fKbOX379hQueGbiiBDsIgpge/r3vfY9CocDu3bv5jd/4Dd7znvfQ3d292tfZwQWA46Mlxqdri4uNhaJYyYSG6/oUw4DQlZ1Nrhvntw1N4cxkpSkBfcuV6/iHbx9gfLpGLq3LboKi4HoBA70pfur6TRwfLckuMbKrPZf+vYxGdhPGZmqMzdQAqFnzfy8FQ2yKFRtdkzPiCUOjK2PSEwqdOa6PFVLjW1EJGzdRJ8cr2K4f0uClCnqpYrd1rX4g546iexCEXuYAgd86qW5EpNDe35VgsmBRrNq4vuxGL7Wha0xiH95zWgYnXWny+wZib3Nd78zzdNBBByvHqzkX3SrJUVVB3fKo1l1MQ+U9N2w6J93k15KFEyUcERsqCMe+Ugnpc3zxhq5zklyDVL0OIB74DoLWNfwgTOQUJCPLaaEnMhdR/LFdH9OY/3tJu1bIzmEkbOjPkDQ1hkfK9HclpE5KSscczDFRqFGpu7ieRzal43kqlbpHEAToqkKp1hzTXD/A9T0sBw4OzzA8UuJnb9vKrq196GqoN2OoqIoyr9BSrNihTRh0ZU3ZYZ+TaDbO5xartmQUakosiirixE8WTBKm1nb8zYYipWPTNVw3aFJZBwg8qfeS0FVqoT92oWKTMKSeix9ITRrP9+OkPzqEgDjhjxA9z6fGy8tivy2nQHW2bJjhkRLjhbpsjLT4vSoErudjuR6vnCqc9bPc6PM9PlOPRzQF8nNOLbH+LWf9nOt5XqlJ4VtdV8hnDDRFabpPV1zUt+z383rAihLsW2+9lcnJSdatW8dHPvIRfuZnfoYtW7as8qV1cKHh5WNTVK2lfYTrtpx/UVVBbz7BZKEezxJFlKLGxQGIfZlfHpriX34kq5aO61O1XJTpGumkzsY1Gd5z/SYu3dLNg88cR9MUMkkNkDPftuthO56cTQ5nmZdCylTlzLPjLYteroQt8mjuytRltVbahEnxFc+X9GvbVOdRCS/Z3I1pavz4xdM8sXeUXEYnYWjYrk+p4gBBW134mDrvB6gNG5921+9i2Wb9mgz9XYKq5XLnzZu5aH2+7SCwVKfHckI18wX+/o00z9NBBx2sHK/2XPTcTWa1LjugQhGokfexEOekg/NasHCihKNcdbAcN2ZD+UFAte4yNLL6M6WN6MklZJwINwYL+YY0NAploqcIenKJRSn9AtmRtmyPTHI+7bpSc9m6Ps/mgSx+Qxe6sdAyMikdVAxdFsIVoZDPmCQMFdeTtlk9uQS3XjHItvV5ToyX+afvH6ZYtue9E7k3cPnSg4fZvPYMOzd3c+NlAyRDQbOEoXLplm4u3dLD0EiRu75zgMlCfUEW4P1PDvNbP39VPMP91R++QiKcjx6fqTfttVQhcFx5vUBb8bdSd2TnfgH7yQAgVD7XQ+aa7XhUwlloVYhY/DVhqHRlDOq2R6FsoygCRZ3/TPuhdWjCkMw4o2F/sVhBbeeWHi7e1DVPhf70eIW9RyfJpHQ2rMks2s2dLNT52kOv8PE7LmFz2PiZi1LViXWHWgkBRiOLdcvjvseHEIiz0ouIfL6lFZlUgFfCe2+7Hm7Fx9TVBde/5a6f0X38zD8+ixeK+hoNTMTG795l23uX9V5eL1hRgv22t72N973vfVx77bWrfT0dXKDwg4AnXx6J/3vuYhI0/OId12xg27o8mZROEAT8zd17cV0fzw+kN2Pj4hDIYPPD504xXqjx2Isj82hhkZDaT4WL0tBIkZNjZSp1lynfx9Bk1dcIRUGy4QIgg56PFS72c48rkN6JhqZQrNp0pU22r8/z5Msj8zri8++HrNo2XmO17lCzXDl/bKgYmoIXwPb1eQb6Ujx3aIzxmRrlmsORUwXGZury2lyPmXJAV0aQMFQ0TWA7i9uStboetelDaY8k7/oBlu2i6yrC8hjoTi1rY7fU3GA6qdOXTzBdtpsWZ3j1hHs6WD7OtUpzBx0sF6/FXPTOLT34wBfv34+pK6QSeszOWu2579cSjfRRz5dsKE2ZVRD3A+khXLPcs6LhL7auXL9rLf/0/cNU6i66ILT0bEERD/8ZhP/rzye4ftfaeG65VaG3anms70tTs72WcSppqHzobRejCIHf4pxJQ2WqWI8bDKoiWN+f4UNv2U42pVO3PJIJlZ5sAjvUjdEUmWH15k0CpJhX3XLnFf6HR8sMj5Z58JkTbBvM8eYrBrl4Y146emhyTts0VNb1pcPPYfYArRLNXMpAFYJkQou7m7brxbo50W31PClit1T89f2Abz8+jK4qCybYEYpVacUVMQosWxalAkG878ulDUxDusREDEd/zk2pWS5TRUkhjPZVuqaQSxuxAvlCBbW5tG8/CPin7x+WibyQSW4+bTBRmG+X2ig2e2KszP/4xots6M+0TIizKR1dV7A9H9fzZ+8vcj8mnyP5/UuZGrqutpx3bjfOppNaTM9vtGCNOuieLxsa6WTrtHAl6+fJsTKFik0+Y4bfIz8WzlUEMQN1eKREb8+FN5O9ogT705/+9GpfRwcXOI6Plig0UJdbVuyQD93WwVysmu0HQWj7UZa08CBAFQ0zVoFUvK7bLo/sOdPy3EEg/Sa/8dAr7Pw311GuOvg+5DMG00UrpGN7EFKy1FBkzNRVdF2J1SM9P5DezaF/swgVRooVh1RC5z03bkbXFPYcHieT1PF8qFpOTHOed10N/+7+/9n77+hKrvtMFP32rnjyQWqgG0ADnQMpJomhSVEkJZlqk5Q0kmV5gm3ZI8+7z29mvHxnjb2sd31n1nrv3bGX5bGvc5Blj4ItSxZFkSIpJolspmYQc7NzIzSAbmScXHnv98euKtRJwAEa7ECdby1K3eiDOlV16uz9C9/v+zyO+bwh3lMiqJgEticqipuyGv7bV14RImq+GrrjsdA6zDBd2A7DfM5AdzaGbFLF7FL9zNJqiM6+0zXEPrYjKOrRxbU2ENren2n6+6vRsgC0LNzTTuwuPS6GSnMbbawVl2IumnGOH740DpcxdGdj77lI46VCQB9VZWFjRCD2tOgeZzsMuiqtm4a/2roiU4p7Dwzh/kMjcDyOBk6WoAQgVDhXuIxDkSl+7iPbxe+uIhAXKI032qc+dds2XLurB0tL5bpzDmjE3RkdHIDjF+0rpgMKYOum6uct6VODZ5cMdGVioJTAdjxoigSeUFEyHJQqTl0azzlw5lwBZ84VENMk7B/uxDU7ukA4UDFcdGV1yJK4dsufX2ZseQytWLYxNl3A9FLFdzzxoKnycsLrW1eBL39fEjFlVeG8kak8zi+UEddlmI6gwDdi+0lUdMYlKpLogk8N9w1moMpSVYIsFMgpHI9VxSsiuTarCgmcCyV52zGQTqhIJ9SGCeHR0QV89dHjsGwXcV2BJAOLRVs401CCzowGmVLMLBowbVFYgZ9sBrPiInkkYEAdFTq6/w32JpFNaqiYLgjE7DkhHDXuqiBE/JtWO1/+9GkkYkrL+2zg5M2BhhTv4NvKG0bm61s/g663KzEsLVmwHVY1HkCJeO93RxZxw/7NDd/3SsYFi5y10QawemITbAjRmnKj/qiiSEgl1KrjfXBPD84vVFAyHEiEAP6CI7weifBnLFcPPEeXiKBSPTVfxvh0IazEyVSoTuZLVlXH2WPC7svwq82EIEy4NUUKF3jGOVSZYHOXho/fPIS+rI7jY0vwGBDTJWiEQJEJ5nMmfHHIprRzxjgYAxx3mUKvSAS92RheOTobdpg5AC2YtVIlUELQ25mAabswbQ+LBQPZlN6ySFvtOdBgBnsNfPfaxbVRILSlK4F//Ym92Npd710OrD432Mpc1EYldu0kff24WCrNbbSxVlwKle33cu77clqnQvqoQnx16iavM0RSslYafqvrSqBMHvhgR/fBIAnzPAbuzxd/5vZt2L9NFPNbnb9ttE/VdvQY5xibLuLbT59G2XCqqNm6CiQbOIQE4Fx0GIO55YSf5AYCafmyDRCEDD5VEZ3B6JZtWB5eOzGH107MIaZK8BhHyXSQTaqIaQpimoS4JsPxmB+bcTz4wihyJRuuJyj9ZcNFV0ZDTFPQmdbD0Tzmn99QXwr33jKEXVuzePHI+ZBOXStiVyiLY2qK4BRIEgXnHF5NASYcV/MEtXvXQAafvWMHvvH4iTp6e3CfKCWgXHSy0xBd6VzJgutxSFSwGNzIw8i4sBktm6KjPdyXChPCd8cW8dcPvouK5YIQAsuxQlq6IglRvHzJRjahIqZJMGwXuZIduqeEs+JUjEUQLpiIyZpCGgC8dWoO//z4ccznTf+e1tyECDzGMZczkU0yZHw6uiwRTMyWxEx/Qm1pn60YDjRFgmm7cBn3Y2nxnh4X9HxNkVAxGn8317N+Jv1neDFvNVT0Z6JFj6dem8A1ezY1jQ+vVLQT7DYuGK0kNsm4Ak2W4MgMjsea2kht7oyjYjj4o2+/WXW8wHbD4xzcjVKrORaL9WpijTrknsdxeiqPj31wMKzEZZMqSFLFzAod38AzM+haa6ok6D2yhE/etg3X7epBIqFjYamMjpSGVFwWCSohUGTRBQ9tGLhIpJNxBa4nNsxmuazjcYycLwJYLkwwjqrkX5HFvJWuyejQZAAabNdDIqbAst1QiKxVOB4L5+YoaV4QiMJ2WVjJPjG+1DAQmpgt4S+++xa+8Ik92D2YbXicleYGV0vANyqxa3df14+LqdLcRhvrwcVW2X6v5r4vt3UqKFqLwvfyz6N0bGBZV6MZDbUR1rquHLx5CB+/cTCcoTVtDyPn8phdMgXVmRD0ZHV85iM7cFXNvWpFIG61+fbgs5mcK6NYsUGImGOOdl9bKa4MbEoirskYnylhU4cOXVOgqxSdKQ1eXEHZ8uB6DBlfqdy0PV8xu7oFavhK23bJRrHiIKaK5DoZF7otDEA2qcFjHJmEKjzEJSLcQXImOlIciZiCLFFRrDiQZYpP3TqMO67vxxOvnMVffv8IDMsNY65vPXWqyoYtnVAhS6QqiaSEABKqVdP9ZDbojN93YBg7tmTwC3ftrFL2rlVEV33q8XzehCyJfV+VKRK6XMWajMLxqcpXb+sEJQTHxhbxD48cE+sBJaHXeHB6nh+32Uy8T3Adtstg2SIhj86Ki+aLFM59Rz9r22H42uMnUDEcJGMKYqqEXElYla2EfMmGqlDoqoyy6YJzIKHLYXFntX22kc938MVUZYq4JgNkdZ/vtayfA5uSwno1sijUNn8IEfTy7/74FH7z569Z8R5caWgn2G1cEFpNbLb2ptDXFcf4+SI8xsAASAA4EYrVHIAsEWzfksZXHjkG12UiiY1JcBwx98TZ2uaK6yhUAH78+hQGupNVlbi1qJNJlKAnowOEoFCyocliUZtdqmB6voxsSsWO/iymlwzENQm2I+hLM0sVOH5hQKaims6ZWCB1VUbBr0qvRCdvdJqOy+C4DMWKA0rFDLauysikVICpcPwk3rTcpgs4gbAJkaiY82K+8EZMk+D6Vg6AsNIAUFWJlCjB1t4k7jswjD1DHfijb7/ZMBBSFYp82cHDL47hNz9/7boSrGaBzUYldu3u64XhYqo0t9HGenExVbbfi7nvy22dYn7HOqHLmFk0wp83YlGF1o9NZSvr0cq6MjlXxtOvTWLHgBDYlCnFrVcvU07X0u2/EIG4d0cW8HePHINpO6CEQmioiaKC6PCKLqzYY8Xn36y4Eu0Yzi6ZSOguPI+haDiIaTJScQXZpAZKCUzbgyK7oYvIB/f0YHbJxKnJXFVyE9iKlk0XC0XLZ8VxpHQVm3sS0FWRZGWSKpK6jKl5oUDuugyyTMOu9b7hTjz28jjuPzQiEnJKfFEucfzvPnMG4Bz3fXg7tvdnsLkrgbOzRcgSEfR94s8z02VKtMdFDBh9D6A+qWumiF7wk2lVkdCd1TG3ZKzcICDAkdFFfPzGwTB+IEQozItnN3rfIr/mn7vjn/hSUXRzG82KB89rlIb/5E8mYZgusilVnIQiQZIozi9UwvcI7GNr9QJyJRsdKRLaXUk14m4r7bNRivemjpjonAc+336c1MqIzFrWz8nZkj+7vtysabQmEEIwNVvC+HQRgz3vn1nsdoLdxrqx1sQm2CxQEarbbjBg44MQgqffmPI3JVEN11XJn53x1m2dFUWx4tTZUoxOF9dwzaKzTCC6BnN5A3/4T29gZsmA7XiQJIKULqNseSj6s0SZpApCANsVyartCnVMj3GASFgqmr4CuHdB18aYoHZVTBekKIRVVEVGXJeRjAmqjmWL2SvLXhZLURWK/9enr0I8pqBQtlEyHKRiClIJFWXTxVcfPur7e4pfIIDw8NZkfOYj23HHdf2ghIj5rRUCoVRMqbJU2yg0C8BsX9BDlemqXpLt7uuF42KrNLfRxnpxsVS2N3ru+3Jbp6K2XGXTrRKbarZfc86b0lAboVRx4HocqsxhWi6or5ECiLnXXMmC7TI88NwodE1q2Mm/GJ/3mydn8effe0eoxQMARAIWJEquxzGf87ufEa2TubzR6HAA6pNL29d/EV1mIT6mqcL6i8cVVEwHEgWu2dGFLd1JGJaLo2OLePvMAk5P5auK9IxxBHljwXDgzJSQ0BWkEqLT2Z2NI5PSkCvZuOvaLRjekg4TKZcxPHJ4HB7jUCShgu2x5cI748B3nx3B0JY0PvLBIdx36zD+/tFj8FwO1xPMOtHtFUV6RSLQNDnsjAPA2HQhTOD2DHVgz1AHxqaL+PpjjRXRA8cZ12MwLa9psyIA58Dk3LIHelxXRPffb8U3FckTU4qQJeE+Qwjg+oJkjWbFgeVCWtFwcH6hjFRCxCrh/WLVjEFCKAgRtP9AhIwDcP0YkjMOWSahLlC0eNdsn21E8VZ9n+9cyV7TiEyr36dSxRHFhriCXLn5d75YsRHXFaGs/j5CO8FuY91Ya8cq2Cy+8/RpTMyW/NctW3kECpPUX8ACIQ5CfErRWnywGkCiBF1pDfmyU2VLcfjIefyvH56oUwlvhsA3uyOp4vFXJmDZHtJJFbpGkS/ZmJgrgwmGOGZzhlDxVCTEdRlqRDRN0OQ5ihUHluOFHe6NAOdiDqtieUBJUMljvg1YlEpuWqIowFdYMP/DfftDypvrCb/PWkoQ44J+b9oe1EbqMhDn4Hp8wxOs2sQuUPIMnqdgViuwcmuEdvf1wnEpVJrbaONyxkbPfV9O69TR0WpbLn8qatVt2mPAM29OhUKmq2EuZ6BiOihVfLqvP4Oa0GQUDccXhyJIJRRQQjA5V8b/euw4Dt60FT3Z2HvKUAg648fHc3ji1QmUzcY2pDx8vehOUiIcODgIHn9lAn0d8aasg2jHsFC28eDzo5jPm9BVwZCzHRtFAIpMYDkMw31p7B3qgO2I9fZDezfhg3s2oWQ4ODKygNdOzGFqvlqMzWNciKcZDhYKFDFNQjKmIB5TIFOKno44tvamIVFBgX7l6AwMy4VMRXJdpUzuXy9jwN88+C4y6Tj2b6u2rIsy5QKP9CCeiFLsa+ONmC6jZAilcUrru7epuAIr76FYqbc2q/tMuHCKCRTLE0kFJcOB7TLIhISJdPR5DpPdgAauUOgqxc/duRNPvjrRdFY8KKQlYwpcT/icV4l91anKijn3WqFADnGs4J4v+HR1RabIJFTomrziPnuxR2SCmIASCqB53BdY3SbXMDpyJeD9dTVtXFSsp2O1Z6gDiZiCmCYjocuQJIqloqhAS76CIg/40AGlhAOk8VusCWL+i4VByPh0AYCYaU7HZSyVWkv8KqYrkmRCYNouOlIaHJdjPmdU07D982ZMzEe5jMPzmF/9FB0HTRWibmn/OoVCuRAsiyb8lASb8hquN/JnQSW3gTKqqOSpuOiuP/DsCDSZYNdgZ53AWSvzz2JDLIVWIqoihQt+9Bzk9yDBiiZ2jPFQyTMQ8eBMBBA/en0K2zanG24i7e7rheNSqDS30cbljo0Mai+XdYoxjodfHKuy5VJ8gczVZkkB4M3T87A9D6pUX4iL4tjYIh575azoti4PcsNmHLYjEu7A7kfzbRw9xrCQt/CtH51CXFcgv0fz6eEc/EIFhYpdN2cKNO7icw548FWpUxpM21uVdRDtGCoSbViwWSqKgs2tV/UhrilI6OJeBI0KiRIcuKoPt1zVh0LZxjsjC3jtxCymF6s76K7HUKyIsTNZEsWMhYKBhYIBVaLQNBmmI+akbccLP+9GZ27ZXjhbW1soiDLlgnji2NgivlLDmAOAE2cdnJsv4+MfHFjx+Vd8IVrxUaz+HBKgygM9k1CxUDBDETDq6/6EnwMNtHAEDTyTVGHbDJm42nBWvLaQFtNlnyYv1NIDBIroy98dQauWpWpmACD8vYNfJX6n3XYZFgqmeJ6aWKcFxSCPcXz2jh0gEF7q72UBKogJxltgiXpeI4O7KxvtBLuNdWM9HaugAh+YztuOF4pDAASe7yIZ/BdgtS9eK6rZjANLRQubOnRUTBd/+t23UTLchuqGzcGxtTeJD+3ZhEdeGkdCV2Dank9N4jWvFMkdpeL/Qw9IDnhM2H2VfKqcKgsfbl2TkE5qyEBsdIElmO14PnW+NeGxFe9DlEpOxIatyBTffPIUPvuR7dg1mIUqCT9tACFlv1FHJDoPGNdkWA6D42/ojmsgFRdJtioTFA0XA93VCz/jHOPTBYxMFcCJsGgjhAgBkBYX/uXEruRbrgklT3HuHAwcqiLB9VjTQKbdfb1wXAqV5jbauBKwUXPfl8s6dersEsami2CMh9ZKAELm1mr7KWPAY4fH8akPb2/+Gp8OXyg7q8zSLs+7Bv7HgRVUXBNJ90bPp0f3PVWWRDcW1Q4pUWpvFJwDmrLccZQkb02sg1YLNtxPAmOqjLgmRFVtx4PpeOigGj78gc04cHUf/vahd3F+oQLOeV0M43riZ1/74QkM9aVwzY4ufGBHFwgIUnEVlACm46FiisJ67ece0+Sq2dqVqMWMc3znmTOhMJlMaXgDXcaQL9t44Z1pUIoVn39KCRQKGPXat3XoSld7oGeTKrrSesiAYzVFEw4CRGjgEiXwJI5kXMFwX3rVz4Vxjs1dCUzOl5FJKIiWJeK6BLsUsO4YOKEg8Dvp4FBkSSTdMkFMk7FYsEIxWslnRCwULHRl9Lp9diVRxI1iuriMhcKCUTX5e28ZwlcePrrq7zMOPPP6FL5wcO+GnM/lgHaC3UZLELYTharg4EJ88YIKZLiAkRprrZqFeqUwZLXkOlpNdlyG6YUKPL+r3OoxAmQSKv73X7hO2HF5HJJOsJSz6hbi4P2AaoGMZrBdBttlKBmOUCpXRIdZV2UhZCMJIRPTVzO3nAub1w7A+fJ7224ZP3hxDP/+3n2QKBV+4DKFokhQJApZWk64gcbzgJkEMJ83/CKCEOWgFQcEQqn0vluHqzrf33n6NKbmy1VVWsnvsGtq43m6WgSJ3VcfOYai44Q0tqpKs78ZNgtk2t3XjcHFpqC10caVgo2YA74c1qlHD4/jwedHYFjLexDzakviq2Mu13z2GBDF+InZ0qp7HQWgqxI45753shgJ4txPZtWNnU+v3feEu4hwOWERE+Mgya5FNqkindTCv6+HdVBbsEnEZHCIwvTYdKGueBNYf8U0WXSe3aAQ7uKem7fi/mdHULE8pGQCxxU2pdGOPAcwNl3E2HQRP3hxDNs3pzGXq0CiVCiMJzVw/15UTAem7YESIBVXUDLclmZrx6aLmJoTo4NKVLzLbwI4HsNc3sDgpiQWClbD5z9IjOU6ynVjXL29s6EHek9HDIbpomQ4ooAkEXQkVXAQoQHgj8HVCoOtVkijhOC+W4fFexVtxHUZnidmoJ0I88NjolMt2I4UiiTiIcdjSMYUqIqEzjRZtk4D/GcQ+MRNg1X77MUQRXzs5XE87FvjBaMi//TUKdznq8l/8rZhfOupU3UFnFq8cnQG/+7u3VU2b1cy2gl2G6si8Ow7t1Cuq36txxcvWoEPZ0/83ShQT6ytWDPGw8Sp9t+CvzZKkhsts16DhLeV0IAQQdeZnC2F12FaogNPKQHzeMuJ+krgXCT/luOBlIWq5b/9+E6kExryJRvJuIqJ2QIOH5kN/a+DCnqr19IIjssxNVvCxEwRW3vTYXeC+L6QYcItUyiyhPOLZRQNp0psB6gXB+Gcg1ACHvkwAipYvmyLSn+k6+H5HXaJAOPTxZY2gX3DnfjoDf144LnRUGyEoFpwhHHeNJBpd183DhdTpbmNNn6acKnXqahy9FpRuz/1ZGMrvr5QtlGJzDQ321sZ5yG11nEZKCEgIODgYXyxkfPptXPwy/Ozq98TSoSYVxTrZR0EBZtjY4u4/9BIy5ZtzFf9lv1kO53QkEyoOPTGFKbmy2DMRUIXTLqulI6JuRIWC8vtYM6BM+fEeJ2DZZ2cIHnvTOtgnEOTRQdalihSLVzbyLk8vMCfuQEkX/h2+5Y0yuZi3fMfJMOKRJGIyaE9WfP7J6jZY9MF7BnqqFMqDwo7ikRguxzzeQuZpIqEqsDxVcsVmeKDe3oafi7NsH9bJ/7j567FPz9+HOMzRZQNR3htKxSZpArXZb4FmTi/uCajryuO/UMdePInk5D95D6myWIO3++0EwIYpouezPL36mKIIj728ji++8yZqricczFK+d1nzgAA7r5pK576yQTOL9QX1aLfa8vx8MrRmSoHgCsZ7QS7jRURCJlUDAdxXW5Y/VpLx6q2Ah980W2XCdsuwK8OctgR0a9gphcAFgtmlb8zgZgrphShUJhExWIcVJGbbX0rbY00EFcDh+cvduCiC79/Wyf6OuMYO1+sqlRv5AwJ9cXfKBAKjGiyhFRCwQf39GBuycBszoQiU3AAtuViNmdWdeaDgkWrMB2Gv3v4GHYNZLF7MItdAxl0pnVR2AgSbiIClvNzZWiyhGRCFffe8VA2HSgKheQxv1DCQzuRQtnBd54+jU/eOoQHnx9FwU+uKak/Rw6gYLiCgmZ7+M4zZ/B/fmHlTWD/tk786PVJSJT6zwMJfSgBP5ChBIWKjSMjC3WJX7v7unG4WCrNbbTx04ZLtU4FytGMcSiS0ANZq+5o8HJKgYMHhlZ8be1cc21HODKSHTLIOERH2/P9kVtRV14rall4QQwT7I3Re1J7exSFVomAXijr4EK7k0HjYv9QJ/YPd2Jitoh8yQYlBF0Z3WcBcEzNl/H2mQW8c2ahobd0kFBVTBeUAps6YkgnVZg2Q1+XUDMfnylgcFPzQiuJdEqEBA8PKdLBz8GBvo44rr+7G/c/O4K5vAkwDkWh6M7omM+bSMZEMk8pqWIW1p0zgKdencCzb50LCxL/5Reuw6E3pvDQi2MARAdeUSSUDQf5ko1c0ULFcIQDjo9HDo/jtRNza/ruXburB1s6dfx//+FVeB4LRyYJIYAGJGMKFn269y8f3IvhvhTOzhTx4zemqujxhBBo/p9tx4Ms04Yjme+VKKLLGB56YawquY7G24wDD70who/fOIgdWzJhgt3oeyxJ4vNaLJhrPo/LFe0Eu42mYFwImVR59qG++hWocbfSsWpUgU/HFSwUTDieSIwzKRUypVgqmLD9xaQjpYWVypguI0Uprt/Vjd6uOLZtToMS4MxkHt9++ow/ewQQidQJRKzt+hEqPcqSWIwA0YUPruPvHjkGw3YBn55zgULnVQiCi5gm4euPHRcbGxeBQl9nHFdv68T4TAkVU/hWckLQldbBAH9u2xUzycES1uL5uR7HsfElHBtfAgB0Z3TsGsxi90AG27akocpSqMw9l6ugbNpic4DoGHenJd/OTMx8CXsSA47HUShb+JsfHBVWE1wEWiAEzRzOqV8omZgp4dAbU7jrhgEAjX1Nt/amxHyTP0tVSx8rlITX+P2HzoAxNKz0t7uvVz7W4nnbRhtXIi7FOhUoR0sSAaUUEtiqlM8ooq+8/ZrNKwqcPfbyOL536MyKx4j+jDHRuQXELKpESViQD7BR8+kBe81xPICIpCChK8iXLRAeKSIQvyhAhACc64nzcnxP6QtlHazWnVwqWvjuoTP4tJ/Arfp8cGCwJ4Wtm8RfXZfDdFyYjoetvSkM9CRx902D+OvvH8HMYqVp4Z4xYHrBwNyiCVkiKFVs/MvTBhSFoDOp4Y5r+7FrMFv3e9v708ICrGrcgPsuMggtvQgFHn35LPIlO4xDOlIart/Vg6f8Di8lorge2Ls2inskShCPyaHy/NceP4Ffvns3Xjs5B845ujJ6eE9TcRXJmIKZxQpsT3TJkzEFMV2G5/F10a0nZkrIlSzEdQXMH9ULGgKUUqQTqhgZhNjPimUb2aSK+by57pHMWjQrOrW6h7787nTdqGX0/zlEg+SVo9PYO9SBF45MR/WLw9cSQsB9FmZnWm/p/l0JaCfYbTTF2ZliQ88+oHH1q9UKWG0F3vO4WGR803vbZvAkju39GVy9rRNHRhdrKvXJhtXCob40XjgyjbOzJd+6o/HCuh4at6YIi6naeZsv3rMXf/Xgu6g0EPjYKBQrLooV4f+pyBSyTDE5V8ZczsC1O7pxcjKHc3NlVCwXiiQW5p6sDlWR4DgeHI/DdlwsFUyUzHralOALNL8n83kT8/lpHD4yDVki2LY5jV0DWewcSCOui00nuHYOQQlTFdE90BQJqRhFYHnuuB50RcJC3oTleGI+nax842RK4DKOQ2+dwx3X9+PE+FJTwY5m9MlCyYbpeNBUCl0VP3ccD+PTRfztw0dD/03qK4e2u69XJlYSc2kzENp4P+Fir1OLBbOqi0wpAWX1I1vi3OArelf/I6Uiuf7CwX1N36cR5XQlxFQJHmOwHe4ntUKdO+pgsZHz6Vt7U0jFFEzOCaur4J5IkhiOYn7RQRSQl22oGscy62cdrNSdDEbMxqeL+MrDR6EpremZBOcN/3qSsoKkP7NtOR7GpgtV/tJB4tvoo/I4h+dyTC9WoKvCpjRfsrFUGsWnbh3G7q1Z0EhcaTSzOOOAxwPFbw1PvDoJw3KgKbLwmubAXM7Ej1+fAuM87PAGiuCBNRrnvKoowBjHQl7McqcTQqz2/mdHkC/ZTe+p7Yh2hcPF3HTZdJFOqMgm1TXTrd8dWUTB94bm/oXKEkVMF9clSwRW2cPXHjuBkiESZca5cJhxTaST6ppHMmthmELkt1CxQ72aVvfQY2OL+N6hkerPqsm1npkq4N/8zG5866lTKJuu/3kIhqYogCz/Zq7Y7mC38VOAUsVp6NkX4EIoV40q8AObkpicLdVVze6+aWvL3fHP37UTX3n4KAplu2mFlTf580oomx4SOsF+/5yDTToeU3DPgSE8+eokyoYDZy187DWCEpGgFsoMyZhQkXz6jSmoCg09JRMxMQeVK1ooVATVS6h4U2RTOrIpjrLp+ZuFC/ibY/TjTccVOB6D6XeZo3A9jlOTeZyazAOonp0m4WsYXI+JIIIKJoAqS5BlQY+Lp2Vw6KEPZaCUbjn17xfM0hFCkCtZOPTmFB5/ZaKOEhcEEp+8bRi/9Ik9+GGUPkmFgp6mUnRnYqHabCgQYrn41o9O4bWT1TSvdid04/Fe3tOLIebSxpWDS/n9vZjvvdJ7NVP2Xc/xOtN6XXE60B6JIhWTkYwLyqtlu8iXbcF+2pzGwQNDK3auXcbw8ItjLSfXikzx65+5GsmYglLFwUzOwKOHx313ECCmyxs+n35ifAl5X0wNWLaDdP058FRMwd03DaIjpdXZULUay7SCZt1JoaRuhvTohCbsUNezDgb7sSKJvVvxBUh7OxNwXCGSZvkaMIw1NsbiHDAsD4YlhM/mlkx868en8P/81NVIxBRoinAs+fEbU9A1CsPyGgrDEgrENAVzOdE9r5hWWNyQZQrH9QAQ5EsW0gkVmiqFiuC241U9U6IABAAcluNhscCQiiuYXjLAGIOiUKEd4382huViIW8u6/34v2+7XvjdWgvd+q1Tc3jqtYmQoh+MIdoug12yUSw7oBTwPA7ARCqugMuA4zA4lMFyhQMNJWRNI5nB9ZiWi1zJgu0I/aD7D53Bi0emcfW2Tjzz5rlV99Bgry2ZrcX+mioJMbkDQxENh8Zf8geeGwOlFAdvXnmE5EpAO8FuoymScaWhZ1+AC6VcNarAN1qY1lKp3zfciS/etx9/9cA7qFhCfCNIIi8Uhu3iiVcn8OM3ppCKKQAhKFZseJ6ownkNdgXqt4cv1FoLQOjt7DKOXMSz2/TVXDmAfMkGIM4reL3t2uCMg0oECV1BXJOQ9sU0LEdsfJbtwvU4VIUiGRfUOs45ciUbyZiM7kwMI+cKdYquK82bCRDff1wk0GWIanLJdEFAQrX0hK6EHW7bCajlDICo2iqyBM44DvmLf0CJMy033EArJvCtp05h10AG994yhLgfdBUqNu4/dAa6KkesXMywYitB0PyigmoA2p3QDcZ72V2+GGIubVw5uJRMhov53iu91/hMEY8Eyr4Qici3njqFe31l37Ue76b9vfjWU6fEnC1hYiwK1YwwSnyKJxHrfsXysG1zGv/5c9e29L0TNPTWHDJkieCOazdjZqGCaSKYWK+fnAuLtqbtgpaEcvbgpsast7UiWGcY5+jJ6ChUhLAWuJ+wEYLOjI6fbZLIbyTroFF3skpJnRBwAJJEN2Qd5BxYKFhh1zyuy+hICTqvabkwbBeG6cJl8KnOCDu+ARgHmMdwdrqE/9/Xf4Lrdnbjup3d0DSKsuliR38WhuVibskIY5iAHaDIEuZyBiybCQE7QkL2XWBjSgCAAIZtQJGFaFhHSkO+ZMF0lhP3aH5HIBoHuZId/mwuZ0KVBRtQV6XwngYghMKv28Pz73l3Vodn8lUbToxzfPfHp8J4y3ZZXWOBcQ7mfw0UmYQq41EGSUKX8a8/tmtF+n+jkUzPE57ZHvO92DMaZEoxOVfCqck8FJmEjQigfg/dtTUb7rWdKQ0zS6t3nN8+PY/P37ULB28eEtf/zEjdayQqvL8dj+ORw+P4+I2DV7ya+GWRYDPG8Od//uf4l3/5FxSLRdx44434b//tv2FwcLDh60+dOoUvf/nLeOutt0ApxY033ojf+Z3fwZYtWwAAnufh+uuvh2VVG+H9p//0n/Cf//N/fs+v5/2CcKa1gWff5WxdlNBlaKqEuC46saVK8272WsD9irjjMpydFXYSHSkNmZQKy/ZQKC+/VpaWtbTdjciugZBCX7sYS5IY9nJ9ut5S0RICbVR0fznzbToIhWUJ64m4JiGdEBV2RZZAEio450Iww98YCSFIxmTYjoeP3tCPf/3xnXjjxByOjC7i/EIF5SaUrihqKYIE4j4mNBlLRQuGJY4hUQJNFcl2TJORjClC/MynfOmqjIrl+JuEEibXyxQwCg5x/WdnSvj6EyfxhU/swdXbu3BkZAGMiSp3NAAJvNe5PzgX1+VQUK1iOrAcr90J3SC8193l91rMpY0rB5eSyXAx33ul9/rL7x+BYYkurhxkAhwomy7u92mdtUl2K+cedKAclyNoREdZTImYAgbAdbx1dY0DGnqAlca54rqEZ948J/YYv4hOqbCD3Nwdh2kJf2ZZorjn5q0bct+j64yqSIjpit8dFUVg5jEUK/ZFWWcadSdtl4VK6oI5RqsEsS50HUzGRCG8ULHFPL5v/aWpEjpSOpJxDtvx4PlaOSKW8FA23KpZXUCIor14ZBovHpkWNHTHQ1dWRzKmYEt3AhwJMeLGOJjHMJ8zYbkeEMxi+88Uj+jscACZuALD8uA4DAs5E4mYgt7OOM7Nl2E1aIKE095+kUT25+VtR3SnUwnVv6c+Vd2fCQ/uKYVQrzctr6WG0/h0EVOzJSRjMnSFYja3coKaLwnrVkqJP+Mv4pzZJQMLBRNXb+9akQkaVUifnCuhZLjgTHSVM77Dirh+jmLZASH1SW302Xnl6Ez4HVBkUWhYLcQ9t2DgHx59F796z1XI+hZ1FBD2vP5/QQwnc8EYeD+oiV8WCfZf/uVf4p/+6Z/w+7//++jr68OXv/xl/Nqv/Rp+8IMfQFWrhSqWlpbwq7/6q7jhhhvwjW98A7Zt4/d///fxa7/2a3jggQegaRrGxsZgWRYefPBBdHV1hb8bj8cv9qVd0Wjk2XclWBeVKg4YAxIxCaWcs6Gz0cy3kAo2/orpIh1XhXI1WaZbe0xUWNdjZ7ISGiXrnAO1FH5RKa7+mSoLYY6S4aDTp06ZlgfTcZHUFWzqiEfm7Tksm8GwBTXq9GQODzw7gpmlanETsTC2LiYnOv0cMU1GR0pDrmTBY8vWXIEti0QJVEXMI3UkNQAE3dkYShUbuiYJj+2iKKCFnpf++weJclCpj1b6RZeciao141WzP/myjaSuYGquBE2RqkRO2p3Q9eNidJfXK+bSxvsLl5LJcDHfe6X3kigwOVcBICyGwoITAZQmHaJWz/2//MJ1oJTikcNjob0QAaArFJmkBscTehfrnS9uREOPCiZFUSgLlwmJklBsjTHB4pIl4c8c12XkSjYeffks9g53XvB9j64ztuOFRe+Yr+thu4B3kdaZRt1J12OhlWkjobcLXQfTCRVxTUbFdPz9EygajvC5JmIePhVXoSUUqIoMgMPzOHTVhedxmLaLsulWeT4DQMkQ53N+Xjy3hAgbqmxSQ0dKg0RFwWCxYMLxi/9AMFdd/WQosoRsSodluyiUHfRkddx3YAh/8cC74WuiT0H0t2VK0JnS/Q6vcE4R8aRoj5Oa3w2OxSBiweHNqVUbTsWKA9djiOlKyD5cCcF3rDbG4gB+8MIYfnJ8FjNLRjijHTyTAX08EMTlXHwWoaUr59X3wS8eeJ6wvdNqZraDZ2exYIbfATGWqLTkc/7c2zP4d5/Yi8WCGRYMaGRtCuEX7N4PauKXPMG2bRt///d/j//6X/8r7rzzTgDAH//xH+P222/HE088gfvuu6/q9U899RQqlQr+4A/+ALou6Clf/vKXceedd+L111/HgQMHcOLECSSTSezdu/diX877DlHPvnML5SvCuqjWo5o0UztbI4hfFQ58rwmEIqjteqCUhtVMBlEFtd0NaJuvdk5Y7hKvVO0HxMJuWi4UmeKWq3pBCMFi3sQLR6aRiIlu/2LB8pNbCapCkZIVSJTg6HgORcMBJRSgDIwtFxOC4EaShBLkajWFXMlGvmxDUyRIEkVPVsOH9vRgvmDi3dEln/ImxNwIgOlFA5pCce32Thw+Og0OBaosIRVXkEmocBkLFU8tm0GSKBISDSv10Uq/5s9W1Z4jIQFNzALngBaX2p3QDcLF6C6vJuayUQrCbVzeuJRMhov53iu9l2FH953685BpfYdoLed+z4Eh/MLde/HYiyOYW6qEs92UkAueL75pfy/+6cmTqETGnoIjNEq8xeha9b94jCNftqGr0obf92RcAeMcMwuVqsROkSk6MzrA+UVdZ2oFY2078G6m6KgRegMufB3c2pvC4KYkxs8Xxb7rLc/fUYhEuWK5wu9blZBOqOjOxJD0u8qGReF4HP3dcVyzsxtHRhYxeq5QF7dEbb9mFstIx1Vs6Un4CaAYxwto6bW/G/iSa6qMDBH06rMzpdBdJhBcbRQvxXQZuiZXzW4Hs/WKX7QpVmyhVO/P3gdWZlqLDadUXIEsUbgOQ9FYTkxXit+CR6222JQriSZJR1qDKzEs5i3hJU6BrrQOSaIYmy7ixNmcP44nwbA90XX3OBYKJrrSOnRNDu9bYMlai+DZ6UzrVXvtsg/86vjGD09g33CHn+Cjvlrh/5zg/aEmfskT7OPHj6NcLuPAgQPhz9LpNPbv349XX321LsE+cOAA/vIv/zJMrgGA+lXYQqEAADhx4gR27NhxEc7+pwPX7urBQFcMI1P5K0LwKUiolj2qN6aLLEsEjuv5C/Uy7c5jHDFdVPotx/Op1QpyZauhWMd7gdWS6wCOx+F4Hh58fgyKREVl2A9Iuv2Orcc4DMtFxeTIly3IVMxTpWIqOpIiEa3Yy8JkwWLMPB7SfTgHJAKoqtRQLI1zhJSx6UUDrx6fw+7BLD58dR9OTOaEyrjNIFGgrzOGO6/dgm39Gbw1soDzCwY0maBYcaBrMjRfWT0ZV9GZpmKzcRlyRUFji1b6y4bTsAAg+dVUxxXz9IrS7oRuFC5Gd7mZmAtweY+ztLGxuJRMho1+75XEy1Z6LzdCMQq8hKvQoEO01nOXZYrbPrA5TD4CXGgCK1OK+24drlIRb7SvBcwpUfSuLzCLwjfzBbQ27jOvGA5MWxTuZUpAfNqa4zLMLlagKRKG+lbvYm4kooKxxbKN7z8/gtkloTFiOV5o/bQR62B0LzVtFylZAiWA6XhhFzOdUCFTgoWCiVLFwULewObuBOKaDFWRMdgr46PX9WOwN4Vb9vchX7bwdw8fxWLBatgH8RiwVLLBIXRwVIkiFlOQTWpIcdVP3F2YtgtCSJVeUPDZg4jPijEOeQX7Vl0VKZGuiUTbsl0UKg7ScQUVy0UqrkCVKfK+QGpAT4/rMr54z96WGk5DfSn0b0ri1MRS3fcneIYb9YSaRdseY8KWbckCB4ciEXgcKFQcbOqIwWPc/49BVVWQsjiY7Ov55Mu2EMJVJMgSheMx1ObM0Wfnpv29ePHIdLjXylLrc9JvnJ7HL/3snlBNXCGo3qsZh8s4ErqMm/b3tnzcyxWXPMGenp4GAGzeXM2137RpU/hvUQwMDGBgYKDqZ3/7t38LXddx4403AgBOnjwJ13XxxS9+EcePH0dvby++8IUv4NOf/vQFnassX9kD9+uB5H95FFnCzoHsqq9nXIhFFSsOUnEFQ32XJhH/1G3b8LcPvQvDdrFRb++6DCWXhfTrYF2RqOi0ZlMa5pYqwiqCMfD3OLmOzr6slFwT/3+iC7brMnRn9CoV74W8iUzU+sFwIUkUpi1Uxwn1u86Uihl3vzruuAwVy4XtC6WBADIVFWRCCNIxAk1ThMhZxWlIc59ZMjCzZAAQ3YD+ngT6OuPYPZjB/uGu8DP82A0DuP/QGVQs8V4V00GFCGogJUBPRwylMgWIqCjrmgyPcezf3on/7VNX4XvPnsGpiXzILiBYpirxoHTKAc9jDZ8bz2WQJYKM78u+kQi+a9IaNqwrAZmUJoIaj0Fq0F1eyz1d6R596rZt+IdHjwmblZhc9RzHVAmfum1bw+72+w2Xw3N0qfbKjXzWgLXdy3RS0HHLhgNdlaDKUlVUvJb3Pjq6iIdfHMP5hTJcTyQFm7sSuO/WYezf1rnidSqRY5OgEByFv8z1dMTD81jLfZMk8b06fGQaszkD3RkdN1+1ujp5q7jvtm2glOL7z56BGbGEEnusiorpwvGLuYK2u5xah3/i3FeB3rg1m3GOx16ZgCoHLCgOCn+GFIJa6xCG+24bviTrzM6BLI6OLoJzAsPywk6yLFMkdRmuxzdkHfzAzm78e4mGz6fpsLCQ3Z3Rxew1RONrqWjCchjOzpSQiSsY3JTCJ2/bhp2DGdgOg2W7WCgYoAB6MjpMy0PJbFwEz5VsAIAFhpLhhjTyuK6gI6UB0MA4RyquwnZF8T747Hs744hrsiiwh8rd/iid/2aUCkp1dN8X9H8JB28awg9fHg/3lk0dMRiWG45K/ton9+PqbV1oBZJE8bmP7sL//MfXUMayjk30koPGR+19aBTneYyjYrnLzEpCIPHluMz174HrcRBwKDKF7XphkcpxGRzXgyLTcO2omMIWttEeqqty1V4b01r/TlVMF9MLFXzytm34l6dPC294STi1Mn+cQKIEn/Tf50rHJb8CwxBBde2staZpyOfzq/7+N77xDXzzm9/E7/7u76KzU1SPTp06BcYYfuM3fgN9fX04dOgQvvSlL8FxHHzuc59b13lSStDRkVjX774fkE7HVn3NW6fm8N0fn8LUbAmuxyBLFP2bkvjcR3fh2l09Lb0PYxwjU3kUynZIYypVHKQTKrb3Z1qmo9zWkUA8qeHL3/hJON9zIaDED7I4Bw9Vw4UoWLChJHQZJU34eQfK4huNmCohHpOx1KTa2wg8/B8BkZiLxTuuK4hpMmYWjVD107A8yBLFtv4Mrt3Zg/ufPiV+DwS2w+C4LlAWauCaIiq96YQKmlDheEIB/J5bhzG0ORN2Xwb9ivlzb07h0OuTWCqYcBmH57G6TcRxGcbOFzF2voiX3p1BTzaG/du7cNX2Lly1axPiCQ2PHR7D6cmcWKCpmC/PJDWosgTTdpEr2+jvSWLzpjQYJXA4sLU/i099ZCf+8fFjcFwhnmZHVMs55/6sF4dhM2SSpK4TWrE8DG9O47q9fWuiRq0FrXzXriRkMnEM9o1i7HwBMU3ekHva6B7d1pFAMqWHa5BhOeFzvJY16P2CS/UcXcq98r141oDV7+Vbp+bwwHOjYUBLKaAqMjrSGuKavKb3fuvUHL72+AkYpotUQoHid5Um54XY2H/83LW4bm9f0+tMxWTM58KrhhhcCu4Bg+dxJOMKDt66fTnBXsN9+/6zZ/DdH51E2XDDDvk/PXkSn/vYbnz2zp0t39OV8O/u2Y9fuHsvnn1jEifGl6BrMm79wGYQSvD/+bvDsCsOPLZstxR0/EI6ORGq0xIlG7Zmn57IYWbJQGdGh+dxLBVNYfPoz66qPgV3c0/6kjz/0eemK6ujWLaFK4ftYcll2LYljV+976oNWQcPZOLo6U7i5PgS5nIGfvSTs0glVOiRxD0Zp0jEBaXasjz8yn1X444bBuo+g7zhIZPUYbnCOUSVhbI2pURQqT0WjqEFCMbTyoFuCwGSMRkDm1JIxsWYg217OLdQxmBfGpv9+IP79PBAn0YkpOLnmkIRjzz70ef+Mx/bjZ3DnXV7y+6tHevaW65Nx/Bv7t6Drzx4pC4Gkn3dBM7rrxlYLuiwyPMeFgkgRhdBeNXPw+8HoehM65hbMsQsNhWFKMflqFgOMkkNnzgwjDdOzK64h9butYpE4HitBaTnFgz8u3v2IxZXq9YRcEBTJOzf3oktm1JIpWJXfFPzkifYAdXbtu0q2rdlWYjFmm9qnHP8yZ/8Cf7qr/4Kv/7rv45f+qVfCv/t4Ycfhud5SCTEIrd3716cO3cOX/3qV9edYDPGUShU1vW7VzIkiSKdjqFQMOCtIMV9dHQR//DoMZi2h0RMRkxX4LoMo1N5/Nm338Cv3rMP+7etTJ+JVu2FT7OwaQo3rkgFvxUM9yTw65+5Gn/3g6MoGy4c11t1PjgKRSZIxVQsFkUyK7ymq+k7rif8pC2HIV+y4XkMuiospTYaqbiCX//M1aAg+PPvvbPuwkGgRO64HmRJLNHphALT9vBzd+5AKq6G7IPx6WLYqWc1fmeMARXLFZVyCvR1xpFNqeAM2NKVQF9Wh5MUM2uVioXJ+QqeeHkclu0hlVD8ToiHsuEBRMwMTS9W6gRQ5nIGDr0+iUOvT0KiBNs2p7F7MIv+rgRePjYN5nEk4rKYu7ddVEwPmkLxkQ9sRrFoVB3r2OgCzs9VoCoUSmgRJu6BKJgI8RoOYD5n1nVCdVXCwRsHkc9v/FrQ6nftSsTBGwfxD48eu+B7uto92todx2/+/DUNWTRLS+UGR3z/YT3PUTod27CO96XeKzfqWQNau5fRvS8dV4RHMuOwbBczCy6yScEUauW9Gef458ePo2I4Yi0NhJ1cDlkCShUb//z4cQz82+tXvM6kLvvJPocksbCz63lCAOneA8N1a2Mr9+1bjx3Dvzx9WnQBJRHMc4gi+NcfOQqjYuOeA0MtflKr4/qdXbh+53Jn8JHDYyhWHH/u1d+TgGWBUf91skzgeR7m/VnsjVizp2YKsB0PMV3ok2zqiMF2md8RpdAUisWihamZArqSF1frofa5IYQgocmw/aS1bLrQFQkDXbELXgdr2RWMC4FSTaHLgqM+CAiSugLL9jC3WMJzr0/UMRtPjy9iYraEmCYhEVOQjKvwGEfZcGBYQoDVYwx7hjower6IhXy1+FXQQChWXJyZzCMRkxH3vb87kxqu39mNf3z0GGSJ+LGPiOMYA8BFfOm6DB7jmF00oCpCeb1iVq8XG7W3BGvKgat6cei1CYxPFyHLohDkeTyc6aaUIJNUkSsKv28aoVOHiTMV9zgoWjAIVkUQny7PVS/fLVWR0JnRkI9Yf9mOh8FNyTC+vuOavlWvM3o/Tk/m8I3HT7Z0/RMzRSwtlXHXtZtx+wd68fK7Mzh8ZBonJnKwHQ9vnJzDmyfn8DcPvI1P3rZtQ9eTjcBa9spLnmAH1PDZ2Vls3bo1/Pns7Cz27NnT8Hccx8GXvvQlPPzww/jSl76EX/mVX6n692iiHmD37t146KGHLuhca+clfprgeazp9TPO8dALozBqFEgVWUImKRRIH3phFDsHMk3p4lGLEFmiMG03rNBZjgdNlXB2toS/f/TYmqxO9g524Iv37MMjL41jYraEsuk2FHCIIlDfdBmD6XghvaaRIrjHgImZ6sXVdhgSuoxyi36eq4ESgsHeJD5/5w7sHewA4xxdaQ2VJlSq1eD59DrHYaDEE8qzEoXnuUhoMvYPdQAQVd7+7gS2dCdwciIP5vGq2ZzoWzMmEtJi2QahohKc9jdK23FhewzPvTkFxjhScSXyjMjIJCUUKg5UheL//UsfxMRMCScnczg5kcPsUnUQ6DGO01N5nJ4S7Ja4LkOSKcqGC0I8nw4mZraHN6fhRaqqjHO8c2YersfEnJFvEUYhLCskWQJnFNv7M/jwNVvw0rvTmF4sw/JFg7b2JnHwpq3YPZhdcS1YaXaytc+n+XftSsXuwSx+OSLG4xlCLLHfF0tc7Z7WYrV7NNiTDP/MPA72nvBJLm9cyufoUj6/G/2sAc3vZaO9T5IoCv6MJuNCx2L3YLal9x6bLuDcQhlxXcZC3mpYRD01mcPIVH7V62zkgx3XZdx7YAh33zhYdx6rHW97fxp/dv/bYIxDkYNKs6+sLAl9jx+8MIqPfrD/PfGvfezlcdx/aKThnhf9GSFiltty2AV95rWIaxIkicBxAiFFIsYAsCySKVOCuCZd0HutZ/+IPjfAspWnIkt+J5/i/EIZI1P5C5qTr7Vyi8coDH++fSFvASCh7RMAgHCUDBcVw8WDz4+CYFnZ+t5bhrBnqAMvH5uG6zEUyh7KhiPEuHyrzriugDGGno4kPnP7dgDAufkyDr15DsfGl+piMttlsIs2loqCTh7XJCzkDcR0GcObM7AcF4t5C4WyDdNnrTEm4hrBZGOAIZ7pjpSG26/ZLLyqHS/8DKJ7i+uyde/1nHHcE86ze+hMaSLZtT0YtgdVobhpfy9eOz6LhYIJgIQxsaJIYIzDcRk0hSCuySjJTkj99rhg9cU1GUXZgWWLpoMiS+BczJqrWYrFgoWujI5f+sQeEEJQMRycnswJMbsW99DBniT6uxN44pWzLXlidySVqu/HUsHEu6OLYdFO3BzBThDFPFZnKXil4JIn2Hv37kUymcTLL78cJtiFQgFHjx7FL/7iLzb8nd/+7d/Gk08+if/5P/8n7r333qp/KxQK+PjHP47f+Z3fwWc/+9nw5++88w527dr13l3ITzEuVD211iJkdskQIll+WTqokPZkdeTLzqpWJ7Ub1J6hjlAEJF+y8I9PnsRiwWq4URP4YmYeQ0yVMF8RvpyKROFxViVa1khYTKZCOCKYF1oPKBFUcBAi7Bw0GT9/x/awqHB2poiiIQQsbIchV7Z8UTESUtdXQkCvypUsn0pH/YpvvbooJQT3HRjGVxaOIl9e2U/c9oVlJErwL0+fwn0HhrFvuBO6KmNpsYKK6WCwNxkKnFn+zDYhIiiZzxmYzxnYOZDBzoEM7rllCLmShdOTeZyYyOHMVL6hl2YAQoC+jjiG+9LQVFnMyEWekfPzZUwvVECpKIwEt4kBYLYHZnkoAjhwVR+60hruOTCEuSUDrsuQSioY6ElCkSR/RquewgWIACQMUD1eFUxcjor7FxNRMZ4rQSyxjSsXF+tZa7T3xTQZuiqJ9dD24DKGn7tjO7Ztzqx6vEBsrGDbKEfWtigsh+GBZ0fwv3/+uhWvc99wJz5+4yBeOTqDxYIZqn2vlPyudLwXj5wX3scSASHCszZAM3Vy4MILjgDgMoZHDo/DY0LEKejG167AnSkNg71JbO6M40N7ezC8uXlRf61YTUixaDgY6L4wIcX17h8XQ2APQEMrt0BZ23JYlXo7ABimi4Wc4e/xMhS/Wxx4q3/ipkHMLBnIJFUUyjY8zmE6Qjw1B6EnENNk3HJVH7JJDabtwvMYZpYq0FQKVRbfM8NyG47MVSxPKNLnLeRLNro7BMsumxTskELFxmLBguUySP5Mf+CQsli08PDhcfz4jamGn8FG7PW1KvCBcCznIp564uWz4TlRwhGPKUjoMgiEiBljHDKlcFyGVELBYp7B8cfm0nEFjh+PSZRApqJQELXaTcQU3LK/Fw88O3JB10EJwc98aBDffPLUiq+TKMH2/mz49+B7XVu0W8lS8ErCJU+wVVXFL/7iL+IP//AP0dnZif7+fnz5y19GX18f7r77bnieh8XFRaRSKei6ju9973t49NFH8du//du46aabMDc3Fx4rlUohnU7jlltuwR//8R+jq6sLQ0NDeOKJJ/DQQw/hb/7mby7hlb5/Ubu4R/0h1RZUPKNBSslX6QSqfZwtWyyUMiWYnCthfLrQMGBZbdEbmy6AcaC3My4W8WJ1os0hAhhFoqASBUdgBcLrFMGjMzHB4k784ZgL6ZcxLlQ5uzIx6KpU5+MZ3m+dAoQgzYXwi+sJS7JGiX8jBLQjy9/QtvY2Vj/dN9yJ/3Dffnzn6dOYmi/XzUPVggCY8ucFA7bBUtHC9EIFnRkNMVVGKq4g5W8Apu3BsCCEWWqCymxSw4f2bsKH9m6CxzgmZ0s4OZHDyckczs2Vq66Tc+D8YgXnFyv40WuTiOsydg1ksHsgi50DGZyezIXHjwrEBfecElH17Uzr4efZk10eU8mXbFBCfOEY4ncHKGSJQKIUJ8aX8K0fn0axYiGuKZBjtCqYWAvzYvm8Ljw4vZxACWnbm7VxUXAxnrVmiQ0hBJrvIV0o2SgbjZPlWiTjCihB0+Q6wLuji7A9D6okrXidMqVVyW4raHa8xYLZ1FkHQEN18o0qOL5ydAaG5Qrlbn+Po7LQy+B8uai8WLSwVLLwzpkFPPf2edx7YGjDul9RBe2FvAnNt7IkhKDiJyv33Tq87vW5tjtcu3/88t27EY8pDfeCjbQpbPaZfXB3T9NGSjapYT5vwHbEHh7TZbguw7z/LHRlNGi+aFXUW/3Qm+fguswX2YswP7A8Z2zZHlK+VoyuSTgytoRMSsOmDhHDmbYH1/UwlzerGGu1yJcd5MuC+SZRgrguBNK6Mjo454JKb4iRtwCW7aEjqdbt4at9VmvZ64Oi1qE3p/CDF8bgMe671YimCePLzMGK4YAzIeA63JfC1ds6cWR0Mfys4rocxt6WwyAxXve6qNXu1ds68cyb52DaLlRZgqyILvnkXAlfe/wEfukTe4S2UAvxx503DODJn0yGYrWNoMgUprmcBwTf67UW7a4UXPIEGwB+4zd+A67r4nd/93dhmiZuvPFGfPWrX4WiKJicnMTHPvYx/N7v/R4++9nP4uGHHwYA/MEf/AH+4A/+oOo4wWv+x//4H/izP/sz/Pf//t+xsLCAHTt24E//9E9x++23X4rLe98jWNzLhiMUPiP0j5W6owGCIMWjYo45QPA1DmarFgumSB458JUfHMO/u3s3rqqpKK626Hm+AJkco/5MNUGj0qfHOUoVG4osRDZWylh5VaK2ug90K/AYUCjb0NVYHQMg8OKcXTLCKj6BqFIn/Nmjsl+oWOlUglmfqPJqM+wb7sT/+Ss34vCR8/jWj04DnMP1eJXXN4E/3w0grsmoWF7INgi8Hw3TheOITrcsUcR1GcmY6PjoqoxMUm1oUQGITXGoL4WhvhR+5sZBlAwHp6fyODUh6OS1QWnFdPHW6QW8dXoBgHgWOQQlPBDHiXbkmV81Xiw2pjlxLp4LDxyOJwoClBAxB0WAZ948B12TsCmb9ZXkORzHQ0yTMJ+3qpgXzToEUbS74W20cXljo/3Xt/amWhL2YRx47PA4PvXh7Ws+5/WiM62vXLz1/6FiuhibLqBiOPj6Eyc3JAkJkvva7J4SAi+yWRAsM9/Kpov7D40AwIZSTGOqhMWCGSZiEiUY6Eni1/7VB7C1O74uengtiy9IYINkdD5v4q8efBeaIgmf45q9YKNsCleKoabmy3BdhkSs/lkOvKMXixZMxwtneymAbFZHXFeq9vSA2Zgr2eDgMHzV6kxSDRNrSkUgYLss/P6MTxdxbGwRqYSKmCojnVSRZkDJdETMY7lwGZBKKHBcDtOq98kGREGmWHFQrDhhsp2IKcimNKSTqrD9skTjwfE4skkVuZKNR14ax66t2RU/q+B1K7EsG+G1E3N+wUhIByo+XZr4cYciS5AI0JXR8YWDezDkF8F2b+3AyLk8CAe296cx2JvC5GypLim++6atVTHHwKYk/u/vvCXib8aqioCyRGDZDH/9/SNQFQrGsGr8QQnBL39iD77y8FEUynbDONjzGL766HF88Z692L+tq2nRTtwDMVPOOLCQb560X864LBJsSZLwW7/1W/it3/qtun8bGBjAiRMnwr///d///arHSyaT+NKXvoQvfelLG3qebTTG1t4UUnEVZ2eKAETVPNiJV+uOAn6QQolYbJsoJwLLCpAAML1YwZ9+92185vZtOHjz0KobVLDoffaOHWFAlC8Lb0Vhu4FQyZAD4AwwHA8daRW5ot3QWqoRNlKbynY82K7wOIwyAMqmu+zFKREQfzFyXI6CZ0OWCBgnfvcdoISC8eYz5JQASV1B0XCa0vgBsYBmEhoUiSKdVGE7HuaWxMAS9bsKIMJegnNUFQa292eE9+PZJbhMKHhHCwMxTcLugSz2b+uC63rh9bEV2ADJmILrdnbjup3dYJzj/EIFJ8/mcGoyh7MzxYbq5IBPCW/yOXEOPPf2eXSndexo0ZYOHjA1V8LRsQXENBmex6H63txxXQEhChIxBWXTxbn5MsqGGHM4N1+uSpw/dds23Oarz25khbyNNtp4b7DR/uuUEGzKxjCXW32WcS53cYPOm/b34ltPnRIWPoQh6mfkMRbufS+8cx6vHJsVVFdwdGdiLSUhK7F1guS+UTQe3dcCy8X3gmIaXZO7M7rYcx1hc1kxL8ypZKUxOzFOJViBMU1GIq403AuC7nquZCOhy1VUYF2VcO8tQysmfKvFUAt5E5bjNS0mSRJFOq7is3dsRzquYmaxgh+8OIZUTA29yqOQZSq0DTyGkmGGzARFpkgnVKj+cxL9/pQqTqiHUyjbIP75cXCkkxqyKQ2GJeaNAQKWVDGXM1Zk3VUl25Kgssd1BQldNDJUWYieBfHMK0dnLmgkshGCz1+VJWGPGjkuIcIHwHUZUikNJcMBIQQnxpfWVICvZaaMTRcwMVuC5bjgIOI9/bg9UMe3HSCm6UjG5Zbij33Dnfjiffvx198/Eqq7Rz96x+NYKlr48weO4D9+9gMNi3bM9+2O/uyVY7PY2Z+94mKeK4/U3saGg3GOsekCjows+BTqdbRg/d8RXxYu7KzAl/fCFY65tTeFbEqF47JQpRtoXikX/n1iEXjguVEcHV1oeQ6cgKOvM45C2faFKxBeL4GomCkyRSImrFXACdIJtcFZvPdgHKIiG+mCuIzhgWfP+FRlsTl4TCTKgioHWA4Pk0mPiTmXZpD8kZeKJYQwVpvRinZsOAdAxMJMiW9p5X9ogYei53GUKg4oIbh+z6YwWCDwu8gQNKxi2cFwXwoyJdBVGR0pHZ1pHemECk2hoW9lM1BC0N+dwF039OP/8amr8H/88ofwb39mN27cuwmZNXx+siSEPp5+c2pN34OK6YoAkxBxPRUHSwULs4sVLORNlP3O/bujC3j48Dgsx0N/TwJb+5LozsawULDwjceP461Tc3WBjqoIGqiqSMgmVZi2YAas63vaRhttbBgC2nAwymM7HhjnsB0PuZLdUmIThcuE2ngriI6vXAzIlOLeA0OglMBxue/TK6i1QXKdiivIpnVQKmjTls3qdDNqkxBAJK9/9O038effewdffeQY/vx77+CPvv0mjo0tAhDJfUyT4frvyXxtltqicXSbEBRTElJMLwS1a7KmytBVGamEiq6MDsth+O6PT617TQ5HDWrYC5yLRDJQvpb8AkKjvSCY5x3oScByPBRKNizHw0BPoqWC7Ph0AZNzJTGr67KqZgchBCm/ixycT+15lk0XfV1x3HJVH67e3oUdAxkosrCYa4RyxYFheUIFmyyz6WzHw0LexHzerPv+ROMPIBjpE/vt7GLFH+MCujIxbOqMIZvS0JXWWv4cPE8k2zOLFcwuVYTomiohnVDR2xVHQldQKFsNP6sA0binVQSff/j8Rp7jwMGGMS5sRW0P746KYs/4tPj+xDQJmiKFCXDwvVkJhbKNiiXEhGXfroxgeQwa8OtZfgOl1fgjoctQFYpUQmka9pu2h7996F2kE2rYlOBcNFTcmuSaACgaTsvXdTnhsuhgt3HpsBE01EB0qyOlhRTxYIZGVSTEdXnF7iglBDfs6sHY+SK4Pwu70phvsMkQIjb3+58dwb/68LZVRT7KhoORqQL2D3Vg9LyYxV6e8+bhsdMJFZoqIV+2UTFdJGNyy3PNGw2RuHEMbkqibLr4vW+8Fi6qHCvWLUIE1OZGoFQkyI4nKvHxGvpXbVdhYFMy7NjENSm8L8F+4EUqvrbjhYUBxjneODELXZVCX8vAykzxZ5jfGVnA3TcJocOz0wXhf55UsbU3Bc8Ttjem4wlrkFUYBTFNxtXbOnH1tk5wznFkZAEPPDcCj6HOBiwKx+NwPI6Rc0X881OncPeNg+jK6HVFm1rEdRkSFRQoKi8HyIJZwFAxPdiOhxfemUa+YgvFUA7IkhBq2dwdR9lw8aNXz+JjN/SjbDp+dZdUbWTrrZC30UYb7w1qhYqiM45r2Ucfe3kcjxwebzp/Hd2DKAUOXgL7moM3D4FSikcOj6FsOFV7UDapIJMUDi5S6C/M/VEnqWoNjeqytMrWuffAEL77zBm/G1m//lOK+nW6wVz4erBqAT8mY2q2hPHpYpX6MtCajkazUQPbZXBcBuoLmEY9pBvtBesV9zs2tohvP30axYrojpLycic5UAVXFCnUFWilS761N4XNXQlMzpeRSSiIZo2cc+TLNggBejp02L5AWsgyYyLZ/uW7d1d9f5oxRlRZaOYUKg4sx0MiJmI4TaHozsZAqQTDdmGYLiynNXcX10+2OS+jFHegqxJUVUJnOoa+7ngowCvsZCO/t8axEGD582eRcJTB7+RGHvVCWSTtP3hxLCwyBAUsRaZIx5UwAV6Nol7y57mDbnnI4kTt2OPyn1uJP0q+R31lFRvZkuHgsZfP4p5btuJ7z47CdhvHdNmUhlRcWTf1/lKinWD/FKOVje0DO7tXPU5QfUsnVSRjSugNSSkR9GsAhZK9YkVv/7ZOPP7qBCzH8yt5jWeZg+Qa8KttAObyJoqGs+IsXNlwULFc/ODwODyPwWhioRV03V1XqHfLEkXZdMPqXvScaoWy4pokFCs3EI7HkJAUXDXcgb9/5BgqpvAAJTUZf+25tIIgIOE+955zjpGpHCgRG1kzCtLV2zox73dlw2oyEdRrSoBMQq2jR45PFzE1W0ImqUKRJRQr4nlwGYfHRWJ6ajKPf/7RKZybLzcs+Ozf1olETIHrcljusgr5SjRyQFzjVdu78MrxWUwvGkjqEpZKzqpFkyOjizgyuoiOlCbE0gaz2LElA61Bh2lzdwLd2RimFw2kpXqqaMXy0JESSqm6IsFxORy3OpAmhOPk2SX0ZnVIVNDwA5ET1xOshMD6Zy2KsG200cZ7iwtVLQ8sqDwmrJ5qKZJA9Vp1+zWboUqtdbqj2AjRxHsODOEX7t6Lx14cwYmzS3j12KzQ0dCWEwoaESNzfHcJLbIvB0lIIibj/kMjLc2zDvWmENPkpgWIhtfBxb7dma63bl0LWlHpNixBM46iWQPjnpu3VgmWRQvX0cQx2NsY576omlT3vrV7wVrF/YI4sGyIPZECAAFs1wvV52OaoAhrqoR7DwzhtRNzqxaTKCG479ZhQVsv2ohHEvKgC55NaaCUQtcodE0OBXI9v2NbW/CPCs3VJvlRtWzTduEyhnyJoWw6oe1WQhPuIqbtwbREsr1a3FQyXJQMEQMmdAXFigVVpihWXHSkNJC4KIRYtgvL9tY8FgJECwcl4WLjU7SbIUjqJep7YIf6MRbScbWlAnwqJopFHudwmyS3QDUrBFhdkT4ZV4Ro3CrjkpwLMbXP3bkDPy9JeOiF0SqRW0qATFILGaRXYmOhnWD/lKLVmeWrdnSteqza6qtWswk4kU5mM2ztTWFwUxITsyUkUjKYn3QtFq0qhe4oVVjQV0RmmYwpTWfhDMvBUtECJQQJTcJi0a0S0qLEDwggOue5kgVNlTC4KYl7bt6KR18+i5MTOXgs6gMtMm7qizBIfkCxkSAQx/3Atg48+tJZVCw3TAprG9LrEVYjXMzOMX/unDHg+8+PQVclpOIq8iULjPO64st83sSd123BkdFFTMyW4LpM2KfIFNmkCurP00cr2sWKIyzHdAWG5foiGDyc3eYQFeMfvzYZip0162RIEkFCFj6ZjstgO57YUJt4lQNiY77z2i144PlRGKa7TIVq4b4tFS28cmwWrxybhUQJtvamsHtQJNx9nXExIxU5fqHi+J6pYsas4s+EXTXUgReOzECSGgdpjANlw0bF8rCQN1A2HMR1BYpMfbsSwQZxXQZVpsimtJavoY022nhvsV7V8loLKkJE0Ox69UE2pSK5/sLBfWt+n40UTaSUYEt3AnNLldCXN4ogjrAcD8TX5QgQLb5ykJZGu8anC3jkpXFIEsHgpgQMy4PriaRqoWABEPuHKlcXNl3GkdBl3LS/d413qxqtiNnJEg1p1EDzBsbYdBF/cv870FUx+lNbuI4mjkLPhIeF60bvu9ZuaRTROLAro2N2yRACpCSIhwQDQVNo+JndcV0/7riuv6VCzf5tnfiPn7sW//z4cZxbKIcJeVdGx0LerBNMC+4t47xpU6YRY4RSoLcjhsGeJCbnS8gV7Ujyn0TZcDCXM+H5z0NCF04mwn/bgWG5q9ubctF1/ccnTwuXGQrM5w10Z3QkYwp0VQZjwKaOGD65RjX5aOHAdTks3pqYD+Mckh+LykRYxJZNB5oqr1qATyVUqApt2mwC/BjUj1e4Lzhn20JbIRFrnD5u7U0hoct1xaZGKBsiUb/nwBB2D3Xiy//4GlTfoSWhy1U6D2u1mrsc0E6wf0rR6szy+HQRXZ3JJkcR2Aihl+gCU7E8f45Dhlx2whmequSai1ksWaJQFEFlCn5/qWiJJJ8APOJJ3ZXWfG9p4R3IOAv9kAnnoZiE7TAkdCUMPPYOd+KZ1yfx/ecFLSeuS37VlAtatSbhlmv68dwbU9BVXjdzVnVvsTrVnPj/k9TFzNlrJ+dRNt1wToatxJ9fA6JMuyDhTMfF8zA5WwLjHD1ZPdz0osWXI6OL+M3PX4vJ2RKOji7i9VNzyBWFF6bkcXRnNNywqwcxXVSMAxVxx/HC5Foiy0WJgC7O/KS/0Xs+8tI4dE2IgASbukSJEH6JKb7gTHMa+Y6BLD7z4W145q1zGDtfqBKkk/wiS1B5FTp9pG7T9RjH6PkCRs8X8PgrE0jFFOwazGDXQBa7BjLh8edzBjzLg0SBvs4Y7rx2C3RNxktHZ+po5OGxPQaJUmztTYbdcGG3sfzcS5SE89uJmIyy4UCWKWQpmFNv7M/dRhttXJ6otaAKIEu+OKXvFPHB3d34D5++al2d640UTTw6uojHXn0LE9MFmI4Hw3JhLzFkk1pIJwZEQjifN8TMdDCvXUMnrhit+TePTBXCeIVSikTk9YxxLPl7vLCqFD/3mFgv7z0wdMECZ6vGOIaLbf0ZDPWlwDzetIHhMTGf73qCKdfbFW9YuI4mjnFNBjjqmFPrEdGrRW0cmEmoWCiYcH3qMCV+Z7RgIRFTqijgrRaTrt3Vg4GuGEam8mFCzjnHXzxwZN3q+1HGSDT+WCwsgFJhG3bD7h50pDSkYgrm8yZ++PI4loo2loqW8OtWZKgqRSap+iNaDgg4dvZnMDFXwdxSBYbtNRRIczwGeMLS1fAT+YQmY7A3hbuu3yKeA7/x0up+HBQO7n/2DEb9cckogllor6pYtWwxCghbL8dl0FSsWnQZ2JSsYoM2PEsiRviCpkggPEspwdceO4E7rtuCO67rryomUEJw1bZOTC9OrXrNHuPQNPH5d6R1xDXB0gieiajlL4ALKiZdCrQT7J9StEJ5qphuS1WolWg7rSpYAvWVSc/k0FQK12ThYhPK9/vdT1mi2NyVCCuod163BY8cHl+29fB/LxVXENOV0LaBw0+ofSq6LwYdWk199IZ+7BvuBOMch96cwrNvnwfjHI7HkCuJqnxclzHUl8Inbx3G4z+ZhON68FaREV9pqV3uggtKcLHGO5WBg0LQoFartq6EIIGPUt45AE2RoKmCphUIjhTKDnRVDgOEaPFlcraE4b40hvvSOHjLULjZvXZyDktFC0/+ZBI/fmMKfZ1xfPLWYfRvSuL02SUhZodArV1w+AKVdpmKAojteOEiG4jVnJzI4U+++zYISF33hfnWJQlZKHYLypYQVPP84A4QSfa2/gxePTqDx1+dgGl7oAAIJf6suhDQyyY1KIqEQtnGDbu6kS87OD2Vq6v2Fg0Hr5+cx+sn50EgNq2dAxlct7MbyZiCZEzB5u5EaM21Io3c9DDQm8RAT7JpNzzvd8Nv2NkNy2awbBZuvFF/blkK/LmX56vaaKONyw/NLKgAn/YsiUB0qC+1blr4RtkKHRtbxNcfPwHLEYXmeEzBjFOB7bAqOjEgEkJdkQEiiqaFkl1HJx6bLrRkc8YJmsYr6aQG2481WKRoTCnw4Wv6NsSiKxrjLBbMsPhBiWAaJHQFn/voLrHOgzdsYATz6IwvjwEE192ocB0ko2XTxTcuMLZqhto4MLDbyvsisIFzSyqu4Bd/ZveGqTgPblBTxjBdPPv2+eXCkX9vZhcNPPSCYOMF8Y6uykgnFOSKNjyPo+w5KFtAvmRBU2XEVBlDm1O4cV8fPnFAw3OvT+H5IzMwbReZhCqSacutS7g9n9LuODY60g7GZ0pIJVSk4ioUiYrZbUVuKdneN9yJT3sMX/nBUVBKUDQc31KUVgnyVmNZBYdDzGxnfe2alTA5WxIaPJT4DY/oNQWfBUItosAdJoi/J2ZK+McnTuLZN8/h83ftrHo2Dly9GT96bfUEGwCOjixg31AntvdnsLkrgbOzJXgeQ6HihHZvQTza2xHHwKaVG36XE9oJ9mWKjZiVWgmt+nemWqwWbZTQS6NZtqNji/j+c6PwPB5aQokEgiIZqaoeG1vEM2+egyQRdKZ1UCIEIIqGg7LpIKbJcDxRgatNg3VVQiKm+ErcDPu3deLY2CK+8/RpTMyWwrlnRabQVBmuy6FIFD97yxDiMQWj5/IwfEXG9cJjHBLlTa2+GBNJ9oUiKDzUHslxGUyrOqm3HA/5so10XHQOgOZzX802u8m5Mv7XD4/jng9vx9i5PLxwzqb6DEgwVM9R1X02LRf5suWrXdKmNiXAciKpSBRqnIaaAJbtwnIYPMZAQXDzVX0AgIcPj4n7GgiuyRSpmAJNleG4HhSJ4Nqd3ejvSYIxjsm5Ek5O5HBqMo/J2VK1jRyAidkSJmZLAISy587+LHYPZrBrMIt0XF2RRq4rFAdvGQYh1d32Rt3wqIVYIGIX9ecOk25KoEiCYi463QSUUAC8nXS30cZ7iFb38JUsqOD/nADIJFU89PwI5nIGerIxHDwwFCbcK71Xq2y1ZrONwbGLZRsPvjAKw/bQk9VDAaaOlIb5vLBCypUsqIpQUS6bLuIxGZ+4aSsY56FP71BfukoIq5VEa/uWTNN4xbRcmLbYU5IxOSxUe4zh2HgOx8YWNyQx3DfciX1DWTz39vkqm0dKgRv39uLaXT1YWioDaNzAiAqWEULA2TLLqlHhOoqNiK0aoVEcqGsyOMSoXCCkVbE8PPryWRBC1vx+b52aCynijbRc1lM4EM43RXz76dMoGw4601oYnzDGYTqu76zC/XELIVhGQNCR0sA4Q77shAmj5zFwcJyZymNipig8qAlFMq5ClihKhgtVodjUEYfjikS7llbOAYycK2DkXAEPPT+GnQMZXLOjC1cNdyAeU8JkO04bx9TB92wmZ4BKYt8Wz8pyh7rRnh2Ik3H/2gkB7rhuy6qWbGcm80I7KaGgYnlV1qm6SqErVMTOhkiug7WJEkCiFBzcj4nK+F+PHcevHNwbPhvDfSnEdblqproZ3jy9gJ+7axcoFTP7f/3gEczlhShhbRNoerGC/+vrr+Hzd+64Iiy72gn2ZYiNnJVqhlY3tqG+latgtRt7bfV1PYWB6CzbsbFFHB1bgq5KqFguOBOLiSpL2NqbWu5gNqnSU1+kjHHhv9fMWqBieXA8MUc83JdCxbcFWPTnuySJgIDA8Tg800VnSoPpMPzwpXEcvGWrUFRdZ8ISnaONJtfrES67EHiMY3bJgKrQqvfNl2wUyzbSCRWZpNaQvrValyRfsvHGiVncuG8Tnnx1suH7B3YUwQxi+P5l26dBEajqsmXVSt0XxjnOTovnMhVXsLUvjQTEz3IlGxIluHH/JhwZW8S5uTJifrKr+NTtQJisrzOGzd3Cm5r689dbe1P4+IcGUTEdnJ7K4+REHqcmcijWqGYalod3RhbwzsgCAGBzVxy7BrK4ed8mnJjIYSFvViXOH7thAHuHO5HPVwCIJHt4Sxpvn55HrmQjm1Rxzc5uSC3QHcOkm/mWbVYgPCRYAoosxhwUiYbPdpta3kYbG4O17OGBv3TZdKEQ1O3FLuOQKMHXfniial1+6MUx3H7NZty0t3fF92qVrdZotjF6HbbtoWK5kCUKw/agystdz+5MDEtFkZDlChZUVUJHUgUIwaMvjTe9B62y34b7quMVAKGY6lLRhMdEx7wzrVd1jDdSefixl8fx/NvTYEywnAJ4DHj2rXMYHjiNu67dDKBx4hoIllGgys6ylc/hQkX0mqFRHGhYLhYLZni+qkyR0OV1jxN87fETqBiOEDlrouWylsJB8ExOzpVRrNgghGAuZ4aK5/myLXydqWACwuOQaOBOI9TLKSXQfJV0SaLhZ5QvWaEHvUIJNE1GXJcR03RRJCLCoUSRKeK6hELRRl93HAsFq4rtyTjHyYkcTk7k8AAl2LM1iw9s78L+4Q4kYi4YpbD9sRCJUhwfX8QPXhzD9GIFridETDkXz4fHfMZfTeMhAOccwuxMrB3BnHwzRO+fYbswHQJFEu45ikxDceJAaM1jHJoqoWQ4/nhlQCsnABXnVaw4+PbTp/GFg3vCAtr1O7vxwpHpVZ+Ribkyjowu4PaOBPYOdyCTUH319mqh44D1ODlbWvNzeKnQTrAvM2zkrNRK2Aha90pBxNXbVxdHWw3Re5GKq+hI6zBMFxXThSpL+NnIItysSq/6AlG248F2mV99a0yxDuZLrtrWiUdfPhtW32hEuTwQkihUhC3Z9GIFY+eLWMFquiGiMy+c18/A0CDQushJD4eYK6oF4/Bn2TkYJ3X0rVZsTCZniphZKK/4/owDmkyqZnAsxwM4IMliI6g6boPuS6PnMhVXAV89VJElxGMSujMx3Lh3Ew5708iXHUjwvVUjwmR3Xtu8EhzXFVyzoxvX7OgG5xznFyo4NZnDyYk8xqeLdcWc8wsVnF8QybOqUHT7Pt/bN6dw4AOb6zozZyZzyx1sP6h7/dR8XQe7VQSbs+dxWE7gOS+ebUUiUJRlarksUTGO0c6522hjTVjrHh74S99/aASOxyFThBtCMDrTaL9iDDj05nm8/O4MVFVq+l6tstVqZxtrr4NSgorlwvUY5pYMdKX1cC5Y12T0qhKWCibuvnEQiZiCx1+ZaOketMp+C+KV+bwpvLf9WedgjYrVWIFtpKVhIyG6AJSIRO67PzqJ2z8gxNQaJa6BkGpAsQ3sLFf7HJbfZ30ieiuhNg6Ma8KeNEiuJUqQTWrrGidgnOPhF8dgmC6yKRVBC3Q1SvxKhYPoMylLVIz0kWXF83RCDUfQos0Kjy2P/zHO4bkcRBHK5eFn6VP4w9/hHCXDQclwIEsUcV8crbdDR9lwMJt34HGOmSUDikTQ3xNHJqFhYrZUlWx7jOPo2BKOji1BkSn2DXfg1mv6MdgVgyxTnJsr4anXpmA5HrqzMbgew3yOo1h2wo50rTd0FIQAMV0GZxxxXcbn79rZ0v1L6Aos2/WZFRzFio3OtA5NkcImWzalIVeyofre3lLkuEHCzzjAbA8TsyX8z2+/hb7OGD7zkR34pZ/dgxffnV41hmCM47tPn8Ft1w1ifFpY/nZnNCwVbdgRKfLgMB7jyBWtK8Kyq51gX0bYyFmpVnAhtO7Vgohf+sQeJHR53dXWRveCcw5ZpkjEBPXk0cNj2Offi2ZVekJEZW4hbwL+Ztysiw0IivBrJ2ZDoTTDn9GNIhCS4L4ADSBoYm6LDl1B8lxLLwqP79tnNRLXuNTIlcTid+8tYq5tbLqAQtnG8fElGKYLRRaJWW2SLcsUhbKNpaJXVUwIXhW9UkIIbMerU5F3XVZVqQ6OG636N3ouy74HOyDojKoqoVh2sJC3MLNo4M7r+3FqMo+5nClEd8AbUrFXAiFCVXdLt6geHxtdwJOvTWKxYMHxWN0mYzsM5xYqOLdQwfGzOTz52hT2DGZxx4cG0ZfRMHaugAeeH/VF9OSQSj69aOCB50fxmQ9vW1eSHQXnvlggOFwP4lknBISKQESNUstpwHJpJ91ttNEM693DgznhRw6Pw7DcsOga0ySYlle3XgLLa6bpMHRndUhSY2HI3/z8tWued224/0Ksc4SIoDhXstDbGQ9/J0jg92/rwvcOnVnTPWilQ7tvuBN3XLcFDzw7EoqEBSBEKDyrilQltLZRysPNhOjg3xNJEorIL787g5v39TZuYEhCO8R2GCRarQoezGd3ZfRQwPViJA6Mc8R0GR+5ZjNeOzmH+bwB2xF7tKYI1woAoSbKWgoWZ2eKOL9QRiqh+PHb8r+tRolvdq7RZ9JxmW8FRyD53elSxWlq28khkrNgEs3zeJV9XDjDH77f8p+F2rgthL48D+AEuqIg1S1mrUuGjcWiDcPy8Lk7tkOSKN4+s4AjI4uoRMbuHJfh7dMLePv0AjRVwv6hDpxfLKNiuEgnFEgSBedAMqaIsTvLq/PtppSEXWTXE0K9huliS3ccd17fjz1DHS3dP0JE8WShYIa2aPmyDUoEo1NXJdxx7RY88tL4cqLrz4HX+nMHY4eG6WL0XBF/+t238Znbt+HqbZ14Z2Rx1c92aq6Mkak8in4cr8g0FDduBNtlGDtfvOwtu9oJ9mWEC52VWg/WQz1aLYhYyJn46+8fEVRjhnVR3GvvRVTFMPhen5rM49CbU7jr+oGmVfpgBkeVBa1tpdyAEqHYOZczwRlHIq6EyWDV3fB/aDui4tyTjUFTZLhea5u4EGJpfiarFQFahURFl7UVobq14Ma9mwAAf/TtNzExW0LZdMIOvrFoQJUJErFqupHrMXDui2lQ4gvfNE7WskkNJcOpot0HVmqW42E+ZyCuy1Bkyf+5oOQ1ey4DJgLx/5yMKeGzOpcz8OqxWfzm56/F9EJF0DRloXaeL9s4v1BGb2d8TcHOmckcHnn5LCzHQ8a3LbMd4Y/pNvG3dFwW+m7LEoHiV4zTCTEDRggBlSWkJYpCxcEzb53Dtv7MhgdhzFf78zwOp6bLHZxXSC1vC6i18T5EdOwpk9KQycRX/yUfF7KHH7x5CB+/cRCvHJ0JBcPmchU8+Py4+P0V3rdkuMgkl/e92gRmrWy1RtcRssFcUYgLLBLVSMdroCcBAr6ue7Bah/bo6AIePSzo5gRCmFKiRLgyELG3FMrCHjJ43wu1sQrQTIgunH/lIqmb92dHgSairYoEzgFVomE3NV+yUKo4QswpZ+AvHjiy4SOBjVDH9KIECV2F7TDEdRmG5SFfWu7oKjJFOq7A83hLBYtSRVCKFV8QrhZrLX7UPpPBHm67DDIVDjDNOr1VjMHg/3m104i7ikBtgMW85SuEA/3dSVBK0JWJoTOtY3bRwKG3zuPgTYP41Ie34ZO3DePMVAFvn1nAu6OLVcmyZXt449R8+PeCfx9kiSCuK8JKLKbAYRyGJRTlFUmCRJcZfsWyLfRpGMdczsTDL47htRNzDZ+dRt/pWlE72xFjIAM9Sdx7yxD2DHXgtZNzGJ8u+verMZsmvM++9ovjMjzw3Ch+4aM7cGx8adVmkeV4+OHhMdx2dS8kicCy3VXjCsNykY8wDi5HtBPsywgXMiu1HtTOT+/f1tlSwL5SEGHZHkxHVAJjmo5kXF4XxT16L8KZIL+qKySaRBLwgxfG0NcRx56hjoazREFS3mxRiHZQGRfUXdv1AJ/OFQQUwXxL8GLOOQzbRU82ht7OGDZ1xjB67sI+l6Quo2RemFAaARDTJRiWh0xSg6ZIojK7joMGSW1tIvziuzM4/O4MbIfBtOvP13Y57KIVdupFB5Qgm9JRsRyh4A4SBkW1Z7ZvawZjM0JJMp1QsVS04Hjcv+/isyoZLgCROOuquMZGz6XteHBcBtkX5XBcFlatG1XRj40t4sHDY8iXbSEOplJkEio+uKsHg72p1elOnOOZt87Bcjyk42p4HjFN0NkWi3b4OQGNVeVdj8P1xEY8nzchUeIrvAuP+bgmYT5n4Px8Gf09762iZm2X27TbAmptvH9Rm3TIEsFg3ygO3jiI3YPZVX//QvdwmVLcevXm8O9fffjdls7bceuTg+h7Xb29a01stUbXEbDBFgtmOD7ieQw2UJWolw13w+OYY2OL+Oqjx1GxXCFiRgnAl4u0DKKQHl3fN8LGKkCtEF2jLh4AHDmzgI6kipv290KmtGEDo2y6+OFL435x2o0InfnWmcCGjwTWohkDsVAWtFynZAOECEpw0FBwGRYKJuK60lLBIhlXIEsEju9XXotmxY9mgn2NnsmorRgFGuqIkMj/B/8qSyKuiZ6WLNU/r7Wje+L8RLGpI6WBUIJC2YZluTAcT4xWAXji1QmkEipu2tOD3YNZ7B7M4l/dvg2nJnJ4Z2QBx8ZzdZ3p8L54POyWK36yrWsyNJkgk9TAIfbhhbyJXNEKz892vFD8rdGz02xt0jUZuibDsl0UKg7uu3UYH71hIMwFguKc6TuyrITAMkyWhLr+C+9MY6AngfHpUsNYJ4rn35rC5z+6HX2dcZyezK/yavG5jJ8v4Nod3au+9lKhnWBfRljvrNR6cCFCaisFEYEgVTBz1IogVSME96KZbzI4QIhImIJjRqv0siQWvlBYhNQLhjU6A9cTAmqZpIqFgoV0QsFigcHjYgEn/ms4RDFhIW/iL+5/BzH9wj+TjRCZ4gAqpli4w26tTFf05g5Qe48IQcPKY7FsN72nUTAOSITDsj24lGCgN4FzcyU/iGj+iy8dm4VExWaiKhKySWAub6BBDAlAfA5fffgoPv7BgbrnMiwsEIBwgEV/BhHsFSs2jowshN7WQdDBAdgVhmLZRaF8Dp88MIzN3QnYrhdaVtTi/HxZdNijs13BfYuIoFGK8DvAGIfHq8XuovAYR8VyQ6qZIotk/exMKbQAu5ioFVAjlugmESKCFMX35Vb8ee62N3cbVwIaJR2exzB2voB/ePQYfrmFZGej9/CebKyl1wXCXyu911rYas2uI6bJ6ExryBVtOB5D0XAQU+V1WW+1eg8CZpJluyFFnQAA8TVRgmTfp/+6npjBbVWNupX7ERWik7Ds9FGbgJ2YyOHkZA7feuoU7j0whIM3DzXszBPO8dVHj4cLvpi7J3BcD4UyQ2dag2l778mc6UoMxK60hvKssDKVSWTUiwASAMcT+9VKVknBPS2UbWSTGuYLJrLJ5RlsoPlowkpxaTPF8660jqWiVTWvG0XAQAw+p0CHhxCCsumGTYCovgvQODEP/t6Z1qCpIn0qlO2qRJdSglRMgWV7eP7dGcRjKjZ3JUCI+A5evaMLsbiGw29N4Z9/dGrFYrTjCdp2vixi2rwv2prQFWiqhExSg2G5sBzPj9eEjlAJqHt2VlubCCHQVQk7a5hxARPjm0+eDDVkVoIQZRT3aS5v4l/dNoyJ2dOrJucV08WrR2dx7y1D+PMH3gn6JyvijVNz+NSHt6/+wkuE1eVo27hoCIQxyqZbF5AGC1JfZ/yCq7FBIDE5V4KmSEgnVWiKFFZNj42tPDMR/aJGEXQLJUJCQYkAtdSw1RDci6LvhUdJ9eyTxzlURUI6oYbHDBaC/u44CmU7nI/WFAmZhIraIiqP/BegWHGQSaq49epeUCLmqoS6ogTGxYIXJJfZlIbOjBB6KVWcuuOvFWWrxSHuFiCEPxgWcibimrzquQW07SiiQUSAIAkUAU3k502O6zFAlgBFInj9+CxaiRNMy0PJcOH6vHNNlarENaLvKUvivIsVB6+dnBOz8P5zGTyPQT4fbLTBc2laLmYWRDfn8Vcm8K2nTmEhb0JXJKiKFHZpJSpmhB57ZRzphIrujI5MUkNMk3369vI5VUxhDyLVVMMd14PjLj9pnC0XVIL3IADimoQPf6APmhIkp/UIujQ/eHEMv/fN1/GdH5/Gm6fmUTI2dhSgVXD4RQJPFFNKFQf5koXFgom5nIlcyULFEmIqzB/ZuIx1Sdr4KURt0hF8/4OkI0h2Vhvd2eg9/OCBIQSmASu9czJW3Stp9l5Bsnf19i4MR+yyWr0OwQpzIoKhFJmkintu3hoWHzb6HgTMpLiuNOwoSpQKuri/XpqmSDgGehIrdoCPjS3ij779Jv7s/rfxtw+9iz/6zlv4v77+ExwdXah7bSBEJwRSI9fT4Lici+T+/kMjeOzl8fDnortYwDtn5vG950Zg+x1MRaKgVFgySSHVXdg4thovrQUrMRAdj4drs+ePqgUz4Z4/3kUpwaRvRVmL4J7++ffewT88ehxzOQOG5WI+Z4YdVtvxkCvZdcWP1eLSiuE0fa48P1aQfOZh7VPNEdCXxZ/juoLP3L4Ng5uSsBwPhZINy2V+IWD5d2rjw2RM+LoHybxpuVXJNSD2wkLFxrmFMiami3ju7XPIplUYlouZxQpmc0ZIm19L3dn1OPIlG5OzZYycK6BiutBUCV0ZHX1dcXSkdMRUGYxzuB7D+YVy1bNzId/LfcOd+Ncf3QldlZrGJVGE3xHGsakjjn1D2Zau8ahvqXfX9c1V0KMYnynD9jYubt5otDvYlxE2Qtl7NWyEkFoziy/R1fOtHRQptPEIsBZqWHAv/vbho2CWCwkE3N9dPS6oPZmEWnfMfcOd0DQZf/rdtyFLglqrKhJsx0O+4qw6MGo7HsZnipiYLUGmQjHccoQliapLsB0GAoKeDj30XZQUCboqoVCxVo6CLhIoBbozuk+jFohp8ooUH8bFrBSn9XTD6G8kNFnMsvNlC4VGQU8UrrfcVehIq8gV7ZVp8P4BF/IWSIaENPVaBMkt8a0sFgomuvw5KJexkGkgfM9F4KD5z6VpuZjPC3VuVRHCecF1LRYtdBEC3RfLCYpDk3NljE8XMNyXhq5I/mYmkl3LEir1qbgCiQrqJJWXq8RWDYNAdNJFhz9Ql2UcoJTiut09OL9YwfSigU5dDpXULduru29lw8Gbp+fx5ul5EABbehLYPSAoaQObkg2peRcDQZcbEJu9YaFOQE2WhUXY7KKBsm/j0t+TvKxVQdt4f6IVF4RW9E82eg9XJQm3X7MZh948D6DxOqsrFIWKi4SODYsXGl2Hy5iYP2WCOt+V1kEpwULBwtefOBkmsxt9DwLGXDwhQzEajGz5i6cqSejbFMenb9uGVEJtSY26ZNhwPVEc5JxjzHDwJ/e/g8/cvi0Ungtw8OYhLBYtPPWTxjaTUQaSREVH/ZHD4/j4jYM4dTZXZ3cWNiBI9BhiBC4oDLc677wWrMRAZIEIGBFFYrF3ilNUZQmphALbZk0t3RoxQFhZxFUlwxFFhAajCa3EpY++fBY/e8sQvlHzXC0VLb+QT9CZ1vwCkBc6vgT3NRhriOsyvnjPXuzf1oW7b9paxWA4c66Abz15smF8IkuBJ7UYP0zqMpZKVt13kkBYYXpcULlPnM3h977+GsqmA0UWQnFbeuagygSZpEi87QbOLSvBcRkc16eRyxRJXUZcVxDXZXiMwbAYwKs/p/V8L6MMj6LhIKZJoETGUsledeyQSgSKQpGMK7jlqj4cGV1a9brePr0Axjn+1Ue244lXJ1oS+v3GD4/ji/ddterrLgXaCfZlhgtR9m4FGyGk1uyLGswkUSpmtWqPv1Zq2J6hDtx2dR8ef2UCHucgLFjoxVysronko/aYFcMBAZDwlRgBP/lvcQ45EBlzAaTiCmyHQZYpbru6Dy+9OwNNlcLkOoDtcpBVU82Lg0xCQ0xTIFEK03bx2Tu2I1e08PyRaUz7FJ+gmguQcKHUVAmDm5Loyep46ehsVVIYFDR0TYZhG+s6Lw7AdjgSulLnGV31Ov8WBqqW6bhSv4kRLHdBSXBshoSuwLCL4SxQcJ3M77or/oxUdFPOJrXwuMHGmC/bYYINNC4OcS4+c02WoCsyOGdIxmXsH+7C+EzRn0PiMG23aXfZ4xAn519Dd1bHQE8Sd167BQ88P4qy6SKuSdA1Ga7roWS6IABScRVzOaNOyXNqroypuTKefmMKuiphR38Guwez2DWQqbrOS4FaAbXRqTxePDqNQtmGLFFRjU/r+Mi1W/x51za1vI2Lg1Zmpz2jteLwRu/hXzi4DwDw3Nvnq+wgKUWdD/ZGxgvR6zi/UEbBtw1SFYqubAyqLBSPGxXmN/IeBIy5QPRxsWBWjWwFjCpdlfFzH9mx6rGDZK5k2LAdQalFJNcNBJoGe1O4quZY12zvwsvvTkNRJJiWi4rPOovm+qJbSiBT0fH//rMj+MmJuTq7M88vABPf5zwAgSjAOs6FjwQ2osDXMhAZ84VgFSmS9BN0pTWAkOV/972RPYk3nJtulCBLioTeThnzORNdGa1p8aPVuDShy1XPVbFiw/UYVIUi67PKABI+IwEjIO3Hcboq4Vfv3Yf9ER/2qL3nk69ONL2XrsdRrIj917I9TM2X0UgXLaCfC0o9g2MweB5DJqmBUoKS4eDd0UWosgRdlZGOKXCZsAQzLHfN7jGOy5Av2yhWbKh+s0dVZCTjGjIpNSwuAGtbmxqJ4NkOC8XgVhsRlAjB5i4xAjCwKYlvPnFy1VHFfNnGP//oFP7tx3ejJxPD+cXVKemvn5zHr/KLo7q/VrQT7MsQ61H2bhUbJaTW8ItKCeK6DA4hPBXFWgVHgi/3ed83mXMxp5RKCFuE2mNyznFkZAHJuIJ4rHrWxHY8LBWtVd+TAmLWSKKAT4kyLA89WR35soMjo4twGUeiwbybx1hIQQ6qnAG9aD0CY+uFpkpI+ZufLFMwE8gVLRx665ywKoO4j8G5EXBkUyosm6E7o+M3P38tZEpx2wc244++/RYIODRVRjqugPhFBaXFme5GKBnOivTg2lkpQfOW6koX0YAkmIe2HA/vji0uJ+gRfpfsK7YatgtW4HWbsuUs24cFNmyBQi6wenFIbGAEuiLjzuu34MHnR2F7HHEKGI74brAmG6fnn6ciEXzqIztACLBjIIvPfHjbsg+25fmqpYnQPsywXJyeyuPURA4nJ/NVHp6AqJ6/O7qId0fFyMemjpgQXBnIYnhzqqGoy8XCmclcjQ0ZR9lwMLNk4OxMCZ++bRg7BrJQ5GCmmwgq6OW3h7bxPsBGz05v9B7+hYP78G9+ZjceOzyOuZyBnmwMBw8MQfWtud6LeMFlDEslC3sGs9iU1fGT43PQNRnJmCI6X36g3awwv1H3IMqYyyZVdKb1ULyUQay9cV3Gr967r6XEPbCPCjvXQF1d3HEZHnj2TGgDGiAZV6AoQmySMR4m2AGWD0MAIvalV4/PwnK8OrszYe0ptCyi+1kQR1iOh6G+1LpHApvNM99z81ak4iomZ0tVlpqBSnj079FGwkoxXCsMkFzJRiqhNmzcrBSXBhR10/JwZjKPuz44ED5XR0YW8MQrE8imNUj+uQqdAL3KdcZjHMObU7jn5q2I63IYKwbPY7RAEN2rG7VMZJkiGZOrFNaD1wYU+uAHQSwSWIFRQiApEmIawVzORMmwoUgiZkvFRWzruAwVy4VhtS5Oy7j4z7M8n4lnY1hNQVUkLBVNP+mWIDUR3qv9XjYTwbNsD7bDVm0jEQgaftARp4Tgg3u68cI7M6tey7NvTuHzH92J4S2plhJs0/EwNl3E9s2Xn11XO8G+TLGaZcV6sZGBRKMvasVw8PUnTl4QNazuyy1TLOaFknS+ZEGmBJJEUTZdf07awV88cCTcRHo7YkjFVcwvCaqw4/GWFioGiFldX/UysBtwPI6ELiNXsgA0vncSpcuLsa/CEswNO02sI94LxGosSigFXjhyHgsFM6w2uiyYRRbna1geskkV+bKNydkSDNPFw4fHhMeix2E5NkzbCzvY6bhSlWCv9dpabUpmkiqKFafOPkOKCoT5YluASMhrK8rBzBUHRyahwuMcH9zdg1ePzVZtytUWNOJ3g2dmrcWhXQNZ3HvLEB5/dQKLRRO6LCPeIWajSobjz2lX3wSJAj9z01bs39aFfF5sKjsGstjWn8H5+TIqpou4LleJmsU0GR/Y3oUPbO8C5xwzSwZOTuRwajKHsfPFuveYXTIwu2Tg+bfPQ5Eptm9Jh3Tyroy+6nVtFJoprVNZguRT9H/4yln8qn+tAbVcogQxTYakKL5HJm+rlrexIWg29gT433/DRf8a1ag3eg9XJampoM9Gv9djL48ve3L7P+M80Lyojw2aFeY34rwaMea6szpMywvnUL94z96wK7kaShUHjsOqLD8bYWquXMfkq3pOamdRg5GpgDXl70UV061i9NXuNYyLESrJd7pgTCS9cV1eN8W/WYI0OVfG3z1yTBQn+DIdHH6Bei7v+Z7dFPmy03IMd6EMkGZxaeAEY7sMnHP84PA43jg9X9VtfebNc36Hdfl4MU2GrkqomC5Mx8MvfHQnMkkNjzYRUIv5BSJVllDmfpLdYEZafK6i6dCTpZhZEk0LkVxX6w5F45Z82Uah4kCRRVE/GVeQjAmHHdN2MZ8XBXRFlhDXFaQTKjIJFZYjnnGzBdsqAFXFItP28NKRGVy9vVP4avuuH5oqQZUlbNucacgQW4mun4jLKFurq48FNPxowUtpsaBvuxyvHJ3BXdf34/CR1RNyzoGRc/l2gt3GpceqgcQabS0abaAXQg1r9OVWIYFkSOjVt1i0kI6r6EhpyJcsLJWsqk1kar4Cz2OiW8kB2mB/CpOoBosW56KyLFGA+xRqTZUADmRTKnIlu+7eqbL4MyGi8uvUzoldBBAiOsQBTSigF88sGnWLs6jqiiQ7Ou91dHQRz759HqYtgoJAid2yPcw5Rlh4ySZVqAoVnuEbmNxEu9cEBOm4GlLcH39lAiXT8QXWmE/lF69f7gBUV545xKx2oMStqSJJVVWpalOOWtBEbVMC/+q1zg0Gxacfvz6J7z83ip6MjnRSQ1dGDz2+K6aoUgPAxz44gDuu21J3HEpIS1ZchIhgoa8zjo9cuwWW42H0XAEnJnI4NZHDYg2Dw3EZTpzN4cTZHAChihok29u2pMOK+3uBlZTWCSF1NmRRarnHHEiqjWLRBGeA5HtzKzKFREWnm7Sp5W2sEU3HnlyGiuVtiP7JlYLHXh7H/YdG4DEO2Re/5Fw4HeTKDgildQW5jXQ4aYR9w5345bt34/5nRzCXNwHGoSgUw5tTdXHFasrgybgC3kJRznJYnc9u9DkxLGd5n4kcS6Ji/XH9uIESkWAGqNpr/CRX8nVEOBf7zkBPAp+/a2fTeGmla1wpQZIlgnPzooDbk9VRKDvh/h/8fldax8/fuQOPvny25RjuQhs3jeLS0J7Vb1CoMkVClzExW8LfPXIMH7uhH3uHO9HbEcPUfKUuJgOEGNnWTUlkkhq+0aTg8LXHT+Aj12wWBQLFL/ZSAgnEFwyL8BLIMisxpilQZZH8U0rAfB9RAlQl5zRkRYrzmc8boJKvXC5TfGjPZrx2cg4Vy4VpezBtDxIBYroMTZXRkdLAocH0u9qtsgenFyt48PlR/OCFUewcyOAD27uwf7gTcV0GJeL9A0HXQLiM8+ZsBM55Xde+EWSJ4H/79FXYv62r6ucLBbPJb9RjsWDilqv6oKtSS9c704K6+aVAO8H+KcPFEFK7EGpYsy93bUXys3dswwvvTGOpyBuKYkzNCWq5ptCG9g3NGtrRNM1jy1VJ1xVz2HdctwWPvzLRMAgLZoVtl8GF7x+Ni9e9Jlws/LmSJXyTFSpmzPwiA+fV1wf4atZEzMRSCrx+aq5qY2ZMeDIGQUTBr2ofPLAVd9+0Ff/8o1N45o2pNc8NNb2GgF7PeUiRu+WqPlBCsG1zGl97/ARml4y6tnlcl1FuMOcczOcFtG9NBbZvyTQsMgUWNAt5C4QAFcuDfAHzjJQQ7OzPQFcl2C5DoSwCMk2VEFMlSJ0i8TdMB3uHOtZ7yxpCUyTsHeoIj7uQN0WyPZnDyLlCnZDdYsHCS0dn8NLRGUiUYKgvFfp39nbENrRQ1ExpPYAkUXh+d6oZAtVy1xPzcMFzQwiBIhMosgTZtwmTJRoK3LTRRjM0GnuSJYLhzemWfbCvdLiM4ZHD4/AYhyJFnDsICZWacyULHellPYeN9JtuhmNji3j05bPIl2xwLmaCO1Iafna1udEG9qNbe1OI6QrK5uqBeyOf3ehzMnq+ACNCE5cEoQaOT/u+/ZrNeP3kXBO7Mx25kiX+TRX03WxSxR3XbcEd1/WvKNC20jWuphIuupwcEqXY1BET7g7+nDU4R9FwEI8p+C+/cF3LMdyFMkBq49K4JgnLVz+5lqjQSvEYh+0ylAwHDzw/iszrU0j5DjHN4tl7bt6KR1cQUFvIm3j+nfOCPRAGRmhqjSLYf+Ifs0kV83kTskTAIXQCWI0AbCBiGtjKeYxjqWChI6lCkgjuvKEfv3hwDx59cQyPvToBXRGUccthmPfH+mKajLguo1PTQ7p8YM8VhaZQKLJUpfnCOHByIo+TE3l8/7lR7B7M4podXdg71AHbn7sPBIE1RYZle1BlCYpSqzPEquIGSv34seb+qIqEZKy+kJKMq3U/a4aKKQTxPnfHdnzzyVOrvv7IqBBHu9wKoO0E+6cQ77WQGrB+athKVCNCCGK6DMdlMEwPM0tG403EpxPBf71dXL3qFqB2XZUkAkUiyJcdDPQkcMd1/ejriDcNwjyP4eHDYxifKcKwvLqgvtFMz0YhOHfXZehMCYGSGX+GJVjwwzlxLHd4KQQ9bFNHDEsFC6osqoaOy1Cs2P4Gt5yscs7xzJvnsHVTEufmy4jrMuKajPm8eUGJNsEyBYtSwQT44J6e6mvkHHFNJE+M8VD0q2K6YQFheb48uNc8LBBkkyqG+1JNi0ymLTxID960FT3Z2AXPM9YGHiAkUpF1YTkMw30p7BvuBPODMkoIvA1+SroyOm7N9OHWq/vgegxj00Uxuz2Rw8xStWidxzhGzhUwcq6Ax14+i3RcwS4/2d7Zn/GFZNaPuC43VFoP399jkKh4XauoVi0XYw+hajkRAj2y788tS6RNLW+jIWqLw5mUhuv29iGfr9TZUr4f8crRGRiWC5mSun01EG3kXIhEpuIKHGfjCvPNEKU7xzUZikLhOAwziwa+/thx/MpBQUVdiRb9tcdPVKmc7xnIYD63eket2eVEn5NnXp8K56yFXpoYKbv3wBDuvmkrzs2XGyaeuipmufu7E/j0h7chvYryeXAv/tdjxwU1XpGga0KfJHqNnl98bKYSHv0zIaSKrcR83RlhO9p6DLcRDJBoXDo5V4Lt66IENqscCLv+ElkWX1sqWqAE6EiqKPrMsGg8G9C/a2NF03JDVmTZ1xAqQ4wdepxDJqRKuFZ0pkUSGzjkSBJFIqagOyOKJY4jqPeW4yEVV2DarE71nlIC23GRrwBDvanwM7/vtm04OZnH5FxZxLqajGRMRqEsGG9lw4EsUcR1OUy4PcZh+J3tgPb/0Ru2YHN3EkfOLOCdkQUUIrR8j3EcG1/CsfElKBLFnqEsrtnRjT2DWVgOA6UuPMaQTamiIOR33S3bC4sdASRCASmiYUAQWuM2GgVolfINAG+PLOJzd3HcecMAHnnp7KoaSnM5E+PTBWzbnGnp+BcL7QT7pxTvpZDahaBVqhH3v8wrbSJB5ZRExCZWQqg2HfmZJkvIl52qDWKlIOyd0/NCQVSSACxXFwlBGLTU0o42ComYgrgmoVBxYNgeHKdxhb5RcTauyxjsSeLsjPC3jNpwBX6nATUqGRMz2Pc/O4J8yUZCV0KhsVagSATxmIJSxa7zFA3+zrkolDxyeByvnZgTVeiXz8JyPHRnRUfVdoSgR0jJwnKnPjhecCwh5gLccd2Whiq3Zb9b2koHYS1ohTFy+wc2Q/Mrxql0HMRjKJtOuKmt5r27VsgSxc7+DHb2Z/CztwwhX7JwajKPkxM5nJ7K11GyChUHr52Yw2sn5kAIMLgpGYqlbelJrPk+be5OoDsbw/SigbRU3+2oWB76OmPY3J24oOsMqeXgcFxhE0d8D26Z+l1umUKhwi6M+MOI7aT7pxvRxEKWadVc5fsdiwXT1xGp/zdKCCTK4THAsjwwv3u6kYX5WkTpzroqIVdaFq4iEHOm33n6NP6PL3xoTfaj+4Y78cIqwT4B0JWJNf334Dn5lXvS+JX79uHIaA7j5/PoSKq4aX8vZF/fY6X1P6bJ+NwdqyufB/fiO0+fxmJBJBvB3qfIFOmEEnq1/9wd25vGUNFnudFzfSFU/41ggNSOVqXjCjRVBuccs0tGmFyDEBAWdLbF2F4ipuCXD+5B2XCr4tkjIwt1saJpuaEuDfU1c+KajJLpgDERrzkeD3V0AkgRh5yAuTG4KYnf/Py1mJwtoVRxML1UwcMvjiOVUKEqXr3qPcR8viJVFx0axQpKjaCu6zEUysv2XHFdJNrJmBIm24+9PIGBTQncdV0/fvbAEMani3jbT7ajrDDHYzgysogjI4vQFAn7hztwzY4ubNuShusxzOct9GR0xDRhLaZrEgzLDTVkSNCW5xw8EndJVDS2XjxyHosFE51pHTft78X2LRloCoXVgiXZQt4M9Q9u2NWNH70+teLrGQdefGe6nWC3cfngvRJSuxC0OiO+fUumpU3E86ucfJUEUFg6EdAoTQgAoWgYQDQKwo6OLlfQVVkKhcQ85nfYIh1K8h5QxyVJKFi6HgMswOOs6TVHf7ypI4aPXLsFT/1ksqHfdFSERbwPRUKimMub4JwjEVcwt2S0PPeaiqtIJVQQCFpXw/PjQEKXIUkUk3NlfPXR43A9hmRMqQuewhkoj4fd9lqxM0JIyEAIsG+4E7u2ZvH9Z0fw6vFZVEwXSwUzTOo3KmhslTHCudicVIVCogp4TIHtCv9ry2HhjN5GI5PU8KG9m/ChvZvgMY7J2RJOToru9rm5ctWzIma0Sjg7U8JTP5lEXJexayCDXQPCCizVAg2MEhLakBUqDuKaJGjhnuh2aArFnddu2fBiHwdCqz4h3sd8uzfxnZSl6k53MNffTrjb+GlBZ1oXuXUTiiwBASUcn7lzJzZ3xhDXpHUX5leblQb8kbEFQYWez5khXdhnYoMxjonZEr7/7Mia7Edv2t+Lbz11KiysVl+jOHZcl3HT/t6WrkWmFHd9aBBLS511TIeNYgweenMKE7Ol8Jp8PXKhS1NgSCdUTC9WwEGaxlCKFNCVSV3ythFU/41ggERHq4JzD+jJwRhQsCZ7vj6MKlNML1RACMHV26tnfxs1bfJlG4wvu4sQDiTiCmK6hIW85Z/HMpuOs2X7WU2V6rRZZErDeDA5rQi2h8vqFM0DT3FZpvj07dvqPvvaZ8W2vUgPvRqOy5Av2ciXbGiKFHa1kzEFrsvxxE8m8QkCbO/PYtvmNO67dRhnpvJ458wC3h1brCqkW46HN07N441T84hpMgY3JWDZLsZnikjGxHgm54LmnYqrcDwG1/VgmC4stzqWtWwPf/itN0K1cQLgm0+cxCdvHcLHPjiAR186u+ozYDsMR0cXMdyXRm9XfNXXA8C7Y0uXHU28nWC3cVmh1Rnx4b7GiTjnHMxPRIJZI/g0Ua9JpEwIkE6ovtCISIINy0V3NoYvHNyDob70ql9axjgefnEsrKCLuVDiV/nE+zIOsIiHYHA6fgG1TixlrSiWbRQrYjPwvNZIxp0pDf/+3n345hMnV5559c89sHtgvsIYpQSGKehJxKcKrEaDL5RtSBSo+AJflAj184rtVXWf5/MmerIxMeeUM2G5HrKpai/nTELFQsEMK6qCKlz9fh4TtPLP37WzzoriO8+cwcRMCRzcn9+lUBTU0QovFGtljAT3QZUFjZBzDstlsCwPtvveJdvB/PVQXwo/86FBlAxn2QpsIlcXkFZMF2+dXsBbpxcAAFu64iGdfGtvMizK1KKZDVlfZyy0IbsYCNgNzKeWm5F57kB1VQmTbmEV1p7nbuP9imjiqRDUFbhdJujPn/voLhSLxrpp863MSgPAM69P1Qk0uh4XwmESBagolv3k+CxclyHRYPYTqFc5lynFvQeGQjE3iQCcCB0Tzy903ntgKOxCXygulDHIOMehN89FZoSjw8IA80RyrMkUFcPBPTdvxVcfPY75nIm43330POFiEdNkcHAs5E2kE+qGa/BsBAOkttES0JODTyPQAwiow8FcfpCUrXQsx0/WJb8LzTiHKktQZQpCJPRkhU/5fQeGENcVpGIK5vMmfnJiFjNLBgole8UCSe37BfpBtiv8sA3TxY7BLO66oR+uy+qeieizUizbePCFUUwvVmDZrGEDBBAJsuV4QElovPR3x0EpxdGzOewZ6gx/L9BV+bS3Dacm83j7zDyOjS1V6RQZlouTE3kA4ntg2m6oiA+I0QZxTQpimgLXYz5N3YPrsTrNIw6xr/7LMyO4/ZpeqHJjXaTa33n+yDQO3jIkmmkNmia1WCpadar/lxrtBLuNyw6tVnxrE3GXMSwVrCr6NYewpVop5eO8vpOqyBS37O9tmXIyMpXH+YVyWEGnlITK3I0QpV8HCAQxNFWC6zG4bqRQ0AJEh67FF0Mk9vmyjf/7X94WdiwtvFHap465LoOiUHSkNEwvGOEGtxJCSxLGMZ+3ALKsDFqo2MsFB/9aGBdJdndGR1yXYRZcGKZbFUTpmoyutI6lolUn3BWFaXsYnymGz04wr7eQN8Eh1HI5AMf1UCiLOeyAcrenxgt1vVgvY4T7nE1NlqArMhhnsBwGy3ZDgZr3KuFLxhRct7Mb1+3sBuMc5+fLIZ387EyxTizw3EIF5xYqOPTmOWiKhB39aezy1ck7aoojq9mQXSoE89weE9RyWKiyClNkCYpEoEhSm1rexvsK0cTT8TjkCK/V9YvPn7xtW5Uq9lrR6qz0Yy+P4/l3zjc8RpRVRYhILteqYn3w5iEAWLYj87+/wfx08O8bhQthDJ6dKYaCV81g+erTx88uYfR8Aa7HYLkezIIr3FgUGhYOOfNtuXKGELdSpfeU6r9W1DZaVNm3QeUiuQ6EWwN6N2eikP6j16ewbXO6jm0YPZbsq7xzgrDjGbVRUxQJxPLQ15mo6obfcX1/SwWSZk0iAqFMn4gp+PmP7cbxsSU85CfPjYpMYZFCovja4ycAOCs2QQJYtod82YEqU4yZDgzLwebOJExHKJB7jEMGxb6hDuwb6oDtejhxNoe3zyzgxNmlqvi5NqEPxjJE99sSgq2ajGRMRUeKhP9WMd06e1UAeP6dGXz4A3147u3pVa9jZqGCQ29M4Y7r+9GViQlx25Wu2/HwzOtT+JV72gl2G200BeMcMV3G3TeKDloqpiDVQAAkmohP+PMvwXIQiHLVJgBBt3g1W2xKhL/ikF9RbHSOURoUIxSuxxGPLfsq8wZvQn1uW/BP/T0JuL5PN6XEnxezYNrV6t+rIbCCcL3WOpuBlYigWLktZ/GMV1PJfvaWIfzDI8eE3VTN7HMtOAdUhaLDn5lyPY5NHTrm81bdLPby73Dkyza6szoIIWEiFu2saKoQewmuXaLRzouIDl2P45HD4/j4jYOghOCRl8ZRNhxwziFTGj4XBCK5KpQdZJNqSCvc2pta0RblYmkZcM5BQKArEmJqJNm2XNjee5tsB5Zh/T1J3Hl9P0zbxenJfJhw11raWI6Ho2NLODq2BEDYwuweyGLXoKCsKTJt2YbsUiNqFWY3oJaHXW7fKgxtq7A2rlA0SjwJ/v/s/Wl0XNd9JYrvc+5Uc2EkAAIkAFIkRUqyJlMSpdiSh0iKpThtxy0n3XbsTK9fv36rV1ZeJ6uzXtJf+t+dLLs7nU6nk352x45jJ56l2JZkyYMkStZEzbJEiiMAAiBmoOa64zn/D+feW7eqbhUKIACCYu21bElA4Vbdoc75Dfu3dyXx/MiR9SeezSykgrPSe3el8cjzE033acYBzhhUmUKSqD+L26r9KOMcVw93YqAnjomZHAgRM9fB+entglzRbMmuqGw6eOzFSRACpBMqdibjKOs28iWh6RHRJCSiomttWQ7yJQuyTHHfbcO488aN0R3ZKATju5kl4QrjJXw+gwEVBpKqiBggrCheLaBWdPVeOBSJIhqRRdGBCxZbozn0tRRImjWJPnrHKADgy4+eQLlBkemeW3ahNy1EVg8Md+Iz9xzAw8+P49RkZtVOrn99ZIpcwUQmb2KolyAhK4hHFVg2g246vsaLKku4bk83rtvTDcN0cGJiBW+eXcTpqWxdgl37dTRMB5pMYDsEjBGYFqvQ1B3xPmU32fYYmucu5HDdni78/Nzyqudx9I0LuPPGQdxzeBe+9uNTq8Y2x96Zx6fuPbBtvr/tBLuNbYVm1LGwxd+bo/3Tr76MYtnyPSW9DdZhvGqRoKinEIfBYYJOFbZY135GWSLo7ogKCp1bQc+56tt1CHSkCRF0t7CKu0fJWa0QAIiFvzOpoqjbsFuzSKy6JmELNnE/X+37L2V1rOQJkjHFr7T+5n0H8b/+6S2UDNvvUoeBQ3QSskULmiLBsi0UyjbMBmJsgOjoWzaDbjiIRWQoEg0dHXAtKCFTEtJJJ5CpoD4dOz6HnT1xzC6XoLm2b4wzcFYpvlBC6rzBv/PUWcwulWDYQp26tyOCj71/LygQ+rzefKDX3yA3K+GuTbYdxmG6VWrLYf5M+mYhosq4dk83rt3TDc45FjI6TrlWYKKDUv3uCxkdC5lZPPvWLGSJYM/OSne7Jx3ZUs/4i0VTajkhkNtWYW1cRqgtEt59y258+PAuHDs+5woVaejrEsna2EwO6XRrc5G1aGYhFZyVfuz5iZa6dZwLcSpCCe68ficef2myJfvRhnHGYMe2Cc6DyJetKgXwRuAcgufORVIuuyrX+ZKYOXYY/AKEpspQFSEc98qpBdx54+Cqx99qBOnSx8eW8aOXJpF3Fc4ZYz7TjRLBrpMlWjVrD1SebYdx/Oqde8A48MUfvI3FrBgty5csFEpWQCyObYjlXKOxAFmm+ItvvwnddOqKTI7DsJTV8fWfnEZME8+wF//+P792Ix48ehY/fOF8032dwG221BQKvL1HkSjUGA3VeNFUCTfs68EN+3rw4tsz+N6zE6ueZ6Fsg0Oouhd126epRzUZ8YhSnWwbNpbzBn7ptmGcnc6iZDSO/TiAqfkCzs/lceeNg/jhixOC+dgEhung2PE53H7twKqfeyvQTrDb2DZolTpWi6n5ApZyBkCIL1bmoTZmb5ZcB2eHGeOwHYaZpaK/WIs5qGn84NlxWLYQFZGjQpxpbrkE3XTEfBgVi04YGHe72O77iY4j96m+ts2QL1p1n6cZvHzSmyuyNyCK595xaw8VkgNdM9KFf/0r1+BvH30Hhim8o0u6hTDGNuPwq6eEAsWy1bSI4CUyJd3GyEASv3TbMH4YUhXuSmp49q3Zht6VrtgllnM6UjEVjsPFHDMCBQafts8BQnzLjSdenXbvLfNpT4WShb/41huIasJH0ntei2ULJ89n8M7ECqKaDE2VQmcLNxqci7nEiCr7c1Gm5UA3bVguQ2IzQQjBjs4odnRG8QvvGYBpOxi7kPO727X0RtvhvjfnI89PoDOpYd9QGvt3dWDvzjQ0tb7otN3hU8vBYdVYhQWp5bJMXbHDtlVYG5cezYrat187EFpQ3tU/ti5v8ELJEuNFMkXZsEEpcWdfxcLtzUovZMot7X0EQgBruD+JO28cRH9XbNXRsvXGGZcSJb3e9qgRJNd3WTCxTFC3kC9T0Z01beZbc4UJwG03eJ1j77M99MxYldc0AHAQ5EsWknFFzJq7s/Zhz3Yyqvi2nhyeKjlgWg4WMg7ScXXDLOfCut4Ts3lMzxcQj1Yz8XQ3+WRu4TwakUEJqXouP37nXrw9tozJ+ULDuIkQYXVpWI0LBdUaLxUmnG7YfnHeS349bZtGYBzI19hyGW6MlwnQyL3OtiwRdCU1DPTEcXY61/T6MQ584ftv4T//H7fj6t2d+NnPG1PLaSDG2y5oJ9htbAu0Sh0Lm4cVm7ZYAeqXxEqWSAgQ1WTobqe1NgHkqE5qbbdzmi+aODG+jIefHxe0GUcIajmMIx1XEXV9CaeNgi/c1fRcvfclgGk7WCkY7ufndYtms46wB5txLOeMSlK8Bnjn6wm8BRHsbBOI4KcrpUGVKbLF6u7+odFu/M59B/3NTNNk2DVFBndU1fepBgPYKs0C7zNpCsXN+3vBGcfH79wLAl5lx/HC27N47q3Zhuq3cGmOXakIEjFRuS03qJ4yDhDOoZtidk13HBiWqNJKlAJECL4JloONHR0RqIoE3bCRK5ruBinuS1KmWx64cS5mJaOaLChhFoNh2dAtxx9H2GyosoQDuztxYHcnALHpecn22QtZmDVWHSt5A8dOzOPYiXlQQjDcL6zA9g11YKA7dll1t4NoRi2XPGq5VPHnJm1qeRtbiNWSzbtu2ImnXr9Q9XvHYRifyeHLj57Ab6xxTVvIllEybBTc7jSBZzOlIqrJftettyPaUoGZAz7FOcxCM2ycZ71xxqXEWj4J54L5RSGK7v5a6yYgtet/rQDcVmC9Y1WHRrvw2LHzvtimmMMWibJpO1jOuhTlmBL6bFuWg6mFIhgXsZtuOkJnwy+ui33TdhjGZ3Mbzj5jnOPMVAZlw4YkVadfQWVzx2Xkqap4LpeyOr755Bl85t4DuOXgDkwvFsEadIs4F9o1rRYK6plwots82JtAPCKLMZGLOGcv2QaEp/mOTsFWu+vGQZR0IY5WNmwh0haC2WUdJcvC1cOdePbnsw0/i/dYtzJKsVVoJ9htbAu0Sh0Lq7ImYgpkmQBWfX4lOtpi0SHu4mmYDliDr6nfwQ58Wb/x0zMom0Ipm3Fhh0VAYNoMSzkdPSQKSklL/n5V78WBlXy4TZX3WVqNtWs/d8ufAeL6iJlshHoue7/vTGqIqGLJqL0f3tz8PYd3IV+2UChb+MZPz1QdQ/xL5cNyiOCKmc0Vz1WZIJXQ8MgLE3UdFu9ZaFX99pZDfWCcN1zMg9dFlgg4CAzTAQeBHKheEEp8OkSmaCKqyf4GqUhUeJ3bgnfuzQZeisCNMXG94u78lWkzf8NzNsFjuxG6UhHceiiCWw/1wXaEcuqpySxOT2Uws1Sq/sycY2wmj7GZPB4/NolkVMG+XcIK7MBwB9LpLfnIm4JaarnhUsu9pFtpU8vb2EDYjAVo3pGq+eLaZNOyGUzTAfW9hQ088vwEKAU6k5URDsm1BFrM6Gta006ML+PxY5N+kidTgEFoNSxly+hOR3x67r1HhvHYsUk/WG6UbMsSwUdvH2looVmLi4kzLiWiWuuhureui8QzcI68IqQaxMV4X68HrSrIh2FoR8IXfwVcdxP/vNxzZxw7e+P4y2+/WVdICVIaddNBX2fUZw9aDkOhZGFuuYQv/uA41A1kn3nsx6OvX8ByVkfRsFHSLaiKhHRc9UfhJCIMXL37pBs2skUTpuVgcr6A//rNN8TrKIETMgLmjfYRQpBOaDgw3Nn0M9UVOSC+P/GIjDve048nX5v2Y4ayYcMw7TXHmEE4TIxQJuMqUgkVluNAUyXEIjIY5z6N3KhJkv/iG2/gD//lTX6M16zx9OzPZ3DNSNe2YKG0E+w2tgUKJUvQz6LhLc1mVdbdfUkM9sRxajILxjgIrU6wvFWIAJCpOFbtF7gRJIlgPlMG4xypuAKYlUVMJgQ241jJ65Wu7BahVfp4K/CSa0oB5lS64N5sk6pIfofBQ/B+hG2Y9R6b4e+tmw4USVRs4SqRE9c+w1NgV2QJi5mySzUS3pi1XeFG6rdCyE2cx5Fr+kEJwbHjsy2prR/Y3YnjEytVHuCVE6r8q+1apHgbJODS/yECye0QuNXOXyU20GPbUxdvVQlclij27Exjz8407r11N3JFE6enMjg1mcWZ6UwdsyBftvDqqUW8emoRBMDwQAp7d6awbyiNod7EumxgthNqk+4gtZySam9uWWpTy9toDY+9OFERKoNYk77+k9O+QraXbMoSxfxKucqFQZEpVEXQuLtS9foIhBDEo62vacFkPhmVkSlWjxA5HFjM6OhOR3DfbcNQJQm/fPswvv3UOQDhe50qU1w1lF7T7PDFxBmXErUuJ6tBjKsAIl0Te7tlc2iqsKOqvO7iva+bgXGOM5MZTM/lENMkFHUbX70Iev4zb1yAETJ75o16USIS05dPzIcWUjy7L8nVWTFdzRyPfeYwkdxGXL2XjWCfnRhfxreePFNF6/aaPoblYCmnI+k6o3BUbMOYw1zKuNgHGADTdHw1f6/x4V0A5sZPyagCSaLIF82G302PkTm9WIRtc8gywWBPHPcfEcUqzgGJUIz0JfDyyQVEIzI6kxo4ND/Z1s3WnGeCsB2OsmHj1ZMLuGa0C4WiBd0yIEtU2MmpEmJaBJwDumn7ne1zF3JCnf3IML5z9FxTFl6uZOGbT5zGf/jNWy45C6WdYLexLZCIKWu22fBACcH9R0bwxaXjyLqLpKfW7bgSqImIsHPKl63KotQCkjEF2YIJAqCsO35i6x3BW6i3gHVbBeousLVCUmsFgXeMynEoJbhpfy+OT6wgokh1qt1A5X4sZMp4/KXJug1zJSfEKLy5mEafkhBBpRaUWQrHnUkHRJDnLchAhfqjyBSpmFJno1WnflthfkGVKV49vYDTUxlkig0E6FApnnCIzdhX5a59ZIL/zXnFkqKy31V1C7ZT4FY9fyW5Hf31KZGfncpUvKyZUHDv6Vibl3UqruLmAztw84EdYIxjaqHg08mn5gvVqvIAxmdyGJ/J4aevTCGqSbhqMO3TyVNxdS2XYtvCp5ZDWIURCNYEJQQSFUWneFRZE3W0je2NjXQjeOzFCd/jWabEr8gWdRvfPSqS1qHeBAxT6DRwEH8WFVzMNZuWE772uZBlCqfc2poWTOZzRTN0rpNx4Pq9PX4i80u3jWA+U8bTb8xUvZZAFH3TibXPyl5MnHGpcGJ8GU++Ot3SayklVckHB5AtGAHbbLGebLT3daPP/cMXz2NupQzTckApYFqikOu5ggCt0/M9L3Bwsc8wXv8MSZKww1rO6aGFFOrOp3vPuXetPPaZ12yQJRr6uQCs6Tt6YnwZf/fYO1jK6dUz416izV1BXd3ymUqUCtuwXIAyzgS9EA68c3dfCy/55mBM+KF7bh6NfMFPjC/jiw8fRz7gugMLODWZxReXjuN37z/kfwfvvHEQx95ZwGJGB6UEUVXyk20QDWXdRsntOLvmGf4YYKOY+MJiCQ8+fQ7f+9mYTyiwHYZc0USuKFgpEVVGNCKjS4uAQzC9zs8XcO+tw1jK6vhpk+8D58D5+SKeem0KH7xpV8PXbQXaCXYb2wK7+5Lo74phaqHYss1GEAdHuvC79x/Ct548g+nFoj+7K1FhA/TAXXv92awz01n80zPnYJoMdpPMOBlVoMqiY0qIKyImCWoOI7zid30JOkmMC3GOIFWmdnNtBXUUIyIS2LGZnO8vXasXG7wfL5+cD51nSycU6CuOu0GIA4cVAxTXWoxxDoVSdKcjbtdXVO2ZW61WJFoV/C3nDaRiah1N3bNdefnEPF47vQDGgY6ECkWRUCxbOD9faHi/JEogUeLbfZ04vwLDclx/bOZ2D70MuvognmWI2FwqVWivW7AdAzfAHZ1opkTeJNk+O5XBQz8bg2E5iGmyKJA4DLPLZTz0szF87BdGW06yPVBKsLsvid19SXzo5iGUdAunXSuw05MZ5MvVwXzZcPDzc8u+5Ud/Vwz7d6Wxb1cHhvuSlftymYMD4Ex0uU2b4/xcARFV+Ndupi1cG1uDi6HN1sJmDI88P+HaEJEAPRZQCGC5loX/9p+/B4bluGMtgefHZWdZNvefu9D3WcOa5ombGbZY62WfqSTWS49pdGoq43sTA8Bn7j2Imw/swDd/ehrLeVG0jaoy+rvXd20uNs7Yanidf5sxaApdtZjvJTnVAmAV5XDGhTuKpwGxWd7X3vyzYTpIJVREIxJKZRslQ4iuCcuwSvrhs7yWSnjh7VmkYmpdAnt+Lo9MwXTdGqhvxSoo1aJX77h88a5UJLSQosoUikx95xJKCUxLzGFToG7fDrLPjr4+jZffmW/Y9fUKZLmiiULZQjwi4/vPjiNXNCq6OzXgEEmyEMcVlf2ulAYpQBl3GKvSwwmGUYL5VN1oIW71ynY4Hjs2iagm+xZsjHN868kzyBZNvwHgNY0YE8n5t548gz/57GFQIvbige4oxi7kAY/C7TY6Yq5wWbcWEfRuN9EW8ZOnUyQ+U39nFCXTRq5Y2b9rNX882I54RgtuMyyqCY2jidkcdvUkMNKfRCwiw3A76MHDBJmd//TMGAa64peUKt5OsNvYFqCE4L7bhvGVx0+2ZLMRhoMjXfiTzx7GxGwO56Zz4ATYszONkf7KIj3SnxKWDJKErp4IMnlT+CGHHM/zRwQq1CJvIeMupbnRIrHZ4Ly+e32x4lUSBZJxFYokuq1RVUJElfz7IUkEuuGgpNvQVAk37e/Boy+cD51n01QZsiSSauZS1WqhyBQdSRXLOQOMcbdjIjaaom75XWERJLp/FKDmF3ULmirX0dRth6OkW+Ac6E5r0FTZVyIPo9b7G4y7WnuXMRkVc8sLK0KV0nY4JCoKKwyCdufN9iuS8EM23W6jV4X26O7bLXALQ60SucMYDMsRCuo2q3rWGed46o0LMCwHqZjq338qS0hJFLmShafeuIDRwfRFJX+xiILrr+rB9Vf1gHOO+UwZ5xeKeOPUAsZn8nUz5LPLJcwul/D0GzNQFYq9O9PYtyuN/UMd6EpF1v05tgs8xkCxbCEV17CYLW+JSn0bm4eNVrU+dnwOZcP2k9ggCKlYFh4/tyR+BvgewB68AJlz8dp4VKlPRss2Bltc0xIxBXCL1JRUPpdomgutC04YMoV6Wuu1o9049NtdG9Ld34g4YysRnBmPqjKWcro7S83rkgvq7ovekugR9ToSGpJxFZxzZAoGetIR/Modo0jG1U0pzgXHATqTGhRZ+FN741+Mi0QuUjNX7jgMuZKJbzxxBpJbAAiubR5TQpGpGANzGx8kQBvjnKMjoeGWQ3147q3ZukIKIQSpuIKFjOOft+MmhIJKX9m3PciyYF08ePQc9KBeTKDre/fhXXjLVfcuGbYoShE0TKyDIBB77pFr+vDmuSXoJoNMuT825CWplNYfT/yueg/kvBLDFMoW/vEnp/HyyQXcf2QYEU3C9GIR4PBZntwlrnhCt9OLRUzM5jA6IPbum/b1Ynwm7x3d/wxeEuzRu2MRGcmYAtNiKOg2ygHlewaOj79/D7IFEycmVjAxl28oMlt9fpVk++UTCzg43IWi39DRUDYEA8cw6mfDLTvcE30r0U6w29g2ODjShc/cc2BVm41moIRgdCCN0YF0w9d4NLGSLuZIQAAJ9RZelsMQ1TwBikuTSG8VRFJIkS9Wig0Xlkq468ZBXFgUVmVldxHzqt9PvzEDw3QQj9Z3MAgh6ExpWFzR6wIBD6pMQalQJs8WLZiWg1zJQkSV0JOOYNYpCY9q1LMUPWq+pqKOpq7KHIWSoEkt5wx0pYgvIkIpgQQCOzBzHGDP+c9AR0JBRBPn1ZlgWHFn4DwatKf8rMoU6YSGfEl4jlq2CExTcRWaKsG0nG0ZuK0G7naRoqqMmGv7Zbi2X7bDMT1XwGKmLDxoQ4L4mCbm5mcWixjsTWzIZyKEYGdPHAf39uK2gztQKts4eyHrem9nsZKv9sg0LYYTEys4MbECAOhOR7B/qAP7d6UxujMFVb68rMCCjIHuVATxmPC33c72Qm00x2aoWi/nhCbIapaFi1kdmiLBsBw4nMOVrfCLjZQSqJRAUaSqZNSxGUqGs6Y1bXdfEh0JDfmSFeoI4HDu63aEUc6bCZetFRsRZ2wVgjPjlBB0pyLIFk13Xr6yqabjCqIRBYbpIOtacxGIZNazPBTdWAWZgolkXN00LZBGQnJet5R688+W43eXdcP2adQRRdCQa4tMiZiweJKjCnJF0x0tq7yvmJ8WfugypQ0LKbrJkI6r/r7tdbNlmaIjodUJylmWg7LbLW3U9f3u0XPQFOozQghaS64BN+YgwB3vGcBN+3vxyAsTmFoouscXr/HGPBqJ8wZRG2s5jOPU5Aq+uFTEzft7/caMHUjOvQSbukn2uemcH0MfGu3C4y9NwjAdmCHz7xV6tylmqCMKUnEVqbgKw3RQ0i2s5A187UenoCmS35Do6I4hGVVw5kKupebQ8fFlnDq/gs5EBAuZElRZPCcdCQ1IaCI+MWw/Tk3WMBwvBdoJdhvbCqvZbGwEdvcl0dcZxanJLHiArsacaqGnkm4jEZHr6MBhXdDLFZI738O5qOR69h4cwlro5Xfmcf1V3Tg1mYHDvHPnMEwH8+5sVbFsIRmrn32VKUVEk2DZLJQeXtTFYqgqEmKaBE2huP/2EVw1mEa+aOJvHzkBRQYs23FnowMdFLeC35FQ62jqumH7tH7GhRdoMqb4dCwQz45DQimk8pmMKUgnKt3OVEKDIlMs5w04Docqi/Ma6BYBWfB5XciU8fLJecytlJErmNs2cFsLPNuveERGPCLDcn3fU3ENkiT8wmvvriRROC7bYbOgqRIOjXTh0EgXOOdYyuo4NZXBqckMzl3I1T1zS1kdz2dn8fzbs5AlEbB73e0dndFtbQVWyxiQZQqK8ESsjcsHm6Fq3ZWKiNw6rDLp/pwA6O2IQnPHDEquSCNz/0SVhfYGANx32zBeObXgJ6OyRDAykFqTDzYlIvH5hx+fhh2YC2eu4rWX/IFgS8ZotiLO2AjUzoxHNBkRTYZpCReI5byYNY5qstDTYJWEyeFirwpSpLdCC6SRkFwtPTuYVGUKBhwGX1GaEFK3tv3eA9f79P6En2RXv/eOzogverdaIcW7/7miie/9bAyLWR0Rtbroyt34gbkCalKAFUIAECpGLhwubMKElefatXEcxjG0IwGZUhwY7sT4bB7/+wdvY3a5DImIpN5yWszYQ8CYmDM/9s586O85UFWw4IGvwe6+JHbtSGDsQnbV99FNwXijBK73tYKulKCQlw0blu0gEVXAGEeuZMGwHHz67v34hx+fWvWacQD/+JNT+Jd3H0BPOoqZpZJQFKcEEddrO53QkE5oYIwhFVexkNEvqe5NO8FuY9thI6vVjY7/3gM7cPJ81q/fcffnjptMU5fOtpwzYNV88b3/8jRhvIpl8HerwRPauJRKwJ4mha+y7iaecH9GiFgUn359RthWUSLsqbhYjIlbXs26FWIaUNrmgVkvb1ZnKWdUKdUC4toJJWsHu3ck8MGbhkAJwfhsTignyxS5IqvvsLhz2teOduGF43NVAapH6ycg/n307hGHEBYBBB2+Kx1xmQyCBk0p0JHU6q5VNKJgQJOxktNx9+FduHZPd1VA5s2An5/LozsdQaFsIRlVNo2GdyngPasypehIqFAVinhEBIDexmq6FDrHYZAo/CB9s0EIQU9HFD0dUdx+7QAsW/iYnp7M4uRkBguZctXrbYfjzHQWZ6az+CHOIx1XsW9XB/YPpbF3ML0mW5ytwMxisSljIJiIXbXGufc2Lh02Q9W6VcvCe48M49RUFlMLRfR2RGA5QtSRUtFhyhYtDPXGceeNg7jzxkE/GU0nNdxwdT+y2ZKwImwRd944iKffnMHUfKEuWeCcYzlvoK8z2pByvpEicMDmxxkbgUYz46oigXMOTZJgQtDbvaIyAF9pOl0j+rgVWiDBooAUSFgFPVvFUlYHY9y3EyvrNkyL+Z83+LwG17ap+QLuu20YX3z4eJWqujeqBQhV7pMTK34xe7VCinf/FYk2HBvwO+8hIxc80G7x2G1OoMjRangnUYKp+QJG+lOghGDPQAp3XNuPB58eE2JuzvpdPgDhhuMwjvwq64gQehOjlR68sYq/+d5bEN4oq4Nx0UDRXRvKWERBVJORiChIxBUwBmiKhZWCiZ/9fAYffu8QHntxctXj6ibD3z58ArFIYASRifG/kmvfFYvI6OuKQVUk9HdH0ZHUQkUVtwLbK4poo40tQm9H1O2uikowXDslVXY9jB0OuLOzHmTX/9oT1RAiDsxNRoF0XPWpxLUILrYEqNgkrdE7eyNBqahyVwoGlSDP4RyqImanOMSi69sh+XPQ3lwQx3LOQCquVm1MskRhgyEeVaApEiipXJvg9fAbLYHNKxhYdKU05IpWVYeFEFGJ3r+rA8/+fLYqQPUq36bNIBFxLl533nEYODg0RfIr+7GIDNNm2Nkbw0reaKowqyoSrt3THarM2Uik6N2QXNdisDcBTZFwfr6Avs6oa68h+wHTfNZBT0cUAz3xS/L5FJli35BQFv/IkWFkCgZOT2ZwcjKDs9O5Oh/0bNHEy+/M4+V35kEJsKsv6dPJV7Md2wqUdFsEcA1E27aTSn0brWMzVK0bWRZ6hVGJCrsbVZJ8Gm22KESZNFWCbTNki1YdBdxb82SZrssajxKCB+7ai7/53lsolMOZLQuZMn507LzvCOFhI0Xg1oNWk3vGOcZncxtaBGg2Mx6PKbjvhp14a2xZ6I/YzPe/7kpqVXPOW6UFEty7VaV6vfKEGQWFmiNXMP1xhK50PT0bqF7bXjk5X2dZxtzE1vNRrx2paKWQ0qzbPdAVwxOvTTdghPC6f11rIif0W2jV2n1ifBmvnVn0mzC1KvqUigaCwzioBDirjTNz0TRy3H82Y2T3dsYw0l/9fBwc6cKtB/uaqncH4QnCci5GLT0KueaqkKfiKpJRBbGoglzBENR8VfIF1FZDI2acJAnmQ0m3MbdSxu4dCURUCabNhFDuFqOdYLdxRWIhI+jNPk3JnSuOazLyZcu3a0rGFORLFpgrKiZLqNowSSBVlGTqWoCJ/2asOokMotBAWG0rUTsj5FX5HFfsKhaRfbutMHgKl6oi+V3b4MZ0aLgTP355CrJMYdoOHMaqKOkeFJkiGRXzpB4VMhhY6KaDjoQq1LwtMQsci8h44ANXIeqKr9UGqOm4iqWc7rMPciULnFWKCYpXSAmI23zs/XvxQ3f+aS0KsxstUrTRQdpmIHh/ZpZKiEdkqKokLEUYx0BXDHcf3gVVli7KY3uj0JHQcPhgHw4f7IPDGM7PFXB6MoNTU1lcWCxWvZZxYGI2j4nZPH788iTiERn7hjqwf1cHrhpKIxGiObDZiEVk0R1xGGjI7Ph2Valvozk2S9W6zrLQZfDEI7Lvgw1s/Tzyvt0doV1vL2lwmPjMHz68C7LLiNro9XWtaDW5f+P0Ar7x+Du4sFTc0CJAK/fo7lt2V8aUsmU8fmwSuulAkpwtF3GrKgrkTSEaRsXeXdRtJKIKfuPu/YhFFRRKFnIlE989eta/37Xw1ranXp/Gq6cWQ1/jMKBUtpGMr3/utlG3e3w2j6NvXBDJbBNjxGCXtJWr6z3zyZhaNRoRfN4VicJymM+UhPs3EnV/TgDWQk7quIw/AK4Ya+MNuTcdCX0+jlw3gKdev1DVofdQezRPeI7X/MayHBTKlh+vKQpFKq5hoCeOfbs7cer8im/Huh4wBncO20FUk3DkUJ/PlLgUaCfYbVxxODG+jMeOna+obbrVeNtmWLFcD0EiOqGpuArDYv6XXlQM3cWDV764gi7u0sspdZO5ypc6WDUkBFUWBpcKwYIsIZWZKFWmddSy0C3D/ZEiU3z6ngOYWy5hOaejKxXBLYf6MDVfwBOvTcN2rVk4d62wQFzhMwYOgu50BIpMkSuYVVXc2sDCC1qG+5N+YME4Dw1QI5qMRERGxrWF8FRxJVfFtFi2wZgQgAkGKhRYk8LsRosUbVaQthloFPiJz7sbB93ZaMNmMAwhkLIdkm2JUowOpDA6kMLdtwD5kokzU1mcmsrg9GQWJaO6Ol7Ubbx+ZhGvn1kEAbCzN+4m3Gns2pF0i2qbi4GeOHo6ophdLiNVU4m/XFTq26jHZqpa33vrMD58eBeOHZ+rWpdrE5mtnEc+dnzOZxZ540YgFVYSgRhLOnZ8DrdfO7ApInBrQavJ/fEx8bpS2RL01Q0uAqx2j2q7tP2dsUsq4ubtDUEf7EafgXEeqvgNVNa2wZ44Xjsdnlx7KOg20kkVjsPXzeQJ63aP9Ccx2JvA+bk8LIeJ74/bR/GSTUrgU5aB6oQzjCouUUCRJaRiCnSL+Wt37fNuqE7FQ5tXqOiO1x0hlcJUMwT+vGlyDQCnp7KwGatbJ0b6k+hORzC/Um7wl8H3476qexCeMCyHoPPnSyZMW4h2/vov7sdff/cNWI5YAzxdiFrIEnD4QB9mV0oYn8lXXVuHcZRcdfKoKmFqsYiudCR07G8r0E6w27ii4C1ghuWgO61hOWfACfH65RyuIAdDLCLDcm2KOBeLGyHEt+5KRBVBSzFskXQ7vEqRXHbnX/xjo3WFyc0GpYISlC96VlwVURTDtEX8Q8RC6VlSeeDu9UhEFTx49CzmVsp+UvjcW7P4yK27/eQ3HpHEcYCq2qYqiwXXatCBayWwCAtQLctBvmyDECGEpsqSUMVVJDAmZuu70xHcfXgIyagqVEsZQzQi4/3vGcArpxaQKRhgOpoGJxspUrTZQdpmoNn9Ed8pAk2WEFFkMM5gWAyGYcNcxWN7K5GMqbhxfy9u3N8LxjguLBb9ZPv8fL7qM3IA0wtFTC8U8dRr04ioEvYOprF/Vwf2DaWFoukmgBKCu67fiYd+NoZcyRIMDOCyValvo4LN7CLLlOL2awdWfd1WzSN7CueUCgppXd3W7QIu54Q14maIwLWKVpP7fbs78PBz4yjrNjqSKryTutgiQBgtvdVzXG/RZCPn3A+OdOGavd1YKdqYnsshpkmhx2ulyNSVVFvaK7IFE6oibSiTxxtt+OLDx5EvWZXk1v1dNCIJBxGLwWF2qA+oRIhvnyVLBL2dURAuigLBtXt8Nlf1vEc02VeON21WJQznNQycNWyiUiAZbzQjbpiOX+CqvQ733LILX/vRKdd/vDEaCZYpsphjNy0HjiPu73B/EkM7EujuSuCa4U48d3weUU1GPCLcS7xk24uhbQe4YX83du0YRbZo4q1zS3jz7BIm5wtV77WcN/D4sUk8fmwSB4c78X/+yjWhYrybiXaC3UZDMM4xNpPD2FwRYA4Gt8Es4sUiuGGrioRElNXN9ABi8ciXLBRKlljIKAHxRRUAEDHLNtgTxyc/vA8F3cEjz45hyizACSwuskQAEL+SJ4TEKnZQaxHCWA2qTNGZ1FAoW1Wz483AObB/MI13JjPQTQdxqUKdLhk2FJmKz8t4ndCYzThkiaCs25X5Gk3YMEwtFPH3PzqFu27YicWsjpLuCFqT7YC6NHHqip6YloNc0UJ/dxRDO+otnYLBX1gAEBagcoiOdWdCq1tUKaXQFAkXFov41pNnfTsTT+CHEgKJEnQmNdy0rxeHRrsaBhobJVLEON+UIG0r0EpwzrnQLYgoEqKqm2y7wmjWNkq2KSUY2pHAkCu4VzZsnJnO+nTyXLF6rdBNB2+PLePtsWUAwI7OKPbv6sD+oQ6MDCQhb+Dc196hDnzsF0Z9H+yiq8J6uavUt3H5qFqvB8E1208QQudZ4Suce571myEC1ypWS+5jmoSphQIePHoWk/MFJBNCoKtqXnadRYCLmTmv3SMPjXa19Bxtxpw7JQRX7epAd0JpKoi3WpHpubdmWno/w3Swuy+54UyegyNd+N37D/kWWrbDIEvU/3wA8MgLE5icL6Co21Vq7qosxEAN04HpMERVCbohlLZr1+6w5z2oHF/WLTHu5n5PQmywm4ISAs/JO+zPPKbl2eksbrumv+65ufOGQTz9+gXfRsztughnFZUiW7Sa7uNF3YHuFq3dP0WxbOGd8RXc0ZXA7oEUHntpSsSTrl1bIqoiGVNh2sKVpGzYWMjo2LUjhXRcxR3XDeCO6wawktfx87PLeOPsImaWSlXve2JiBS8en8OH37ur9Yu1AWgn2G2Ewlts55ZLrvcx0LdNqaprQXAB45z7KocSARhInR+fR61hjtCLjLkdzu5UBHsGUyjrNh59bgJzK2UYpg1NkVB2bFeV3D1GYMWRPFpcg1VxrQm3LFFENcnvopcNu07AqRkYB34+toxffO+QL5RS2dwSuHa0C0+9fkHMzTgMjiNo8Ryiw5+IyO6Cz30avSJTQX0yHbw1toxP33MAj794HpMLBV9UTpEpYqqETF4oixMCLGR0/MW33mj4jK0WAAQD1NmVEh5+biLUo1s3bGSLhqgmUwpZIljK6a4KqBBbkSnFYtbA02/OYHQg1TBA2SiRovNzecwsFZGMKxsWpG1X+Mm2KiOqKXCY57EtlNw9Zsh2QFSTcd2ebly3pxucc8ytlHHa9d0em8lVMVMAYH6ljPmVMn725gwUmWLPzhT2D3Vg3640etLRi/48e4c6MDqYxsJK2RcMerckYlc6LgdV67Wids2m7niUzXhThfNbDvUB2BwRuFbRLLkvG7boKloOnnx1GqYt1rCOhOb7TntYaxHgYmbO15skX+o5d6B5ken0VKalY6hK60yetXbrVyuCBW2/Tk1m8PNzS8i6I2ogwPBAEr902zBScRWgUmjTqtnz7v23wwCLMURkinzZbnmv7EgoAEhoQ6lyTcQ/j50QVqO1zw0lBA984Cr83WPvoKSLeFdRxGR6vmQhqlKUTVYTv7iJPatQ3AFhyRaPyFgpmPjyoyeQSEawlDP8GNiwhLtMBgZimux7XqcTmh8zBt+nMxnB+2/YCUI4lnN6lYAwIcBiZnVq+0ajnWC3UYfgYpuIKoioMnTT3tZU1VYRXMA4hIWT5HYtCVCXYAfBATCH4eN37YVMKU6ML+Pvf3QKhukglVARjUgolCyUDUETYm5i7sF7n6BrcO27NVssveoiIRVhMMX1vhS0c+Z6NvKWbQlUhcJ2GN4aW8bvPXA9puYLdZvHcF8Sj7wwgZmlovA8JkAqpiAZVXFqKgug2sLLtBmW8wZSMdXtAMj4d//iRqwUbTz/xjReemcOC5myX4mVJIJkTCiNN3rGTowvVy3qEU0okda+3gtQE7OKmIkK2aiyRdMtGhGobpLPQaBIQuAtX7SwozOKjoS6aud4o0SKCiULtsOhuAyCWrxbVaK5y2SIqjJimqCEmZYD3RLJdm0CeylBiAhW+7tieN/1O2FaDs5dyPl08iWX1urBshlOns/g5PkMAKArqQkrsF0d2LMzBS0kYWgFlBAM9MTRnYpsyfx3G22sB42StrJhQ2esqcK5N/+5WSJwraBRslM2bCznhNUUgRiRyhREsr2YLaM7FalS715LEcBmDN85ehaFkhAH8865FSbTepPkWiq8ZTOYpmCatbIHbiQaFZnuPTKM7z83vupo3f/x0UMtxabBQoRtM4AIIcw7r9+JO28cbHiezYpg3u8Y50jFVRzY1YF82UIiqiAVsOuUZYrOzjhWVop1Xf1WnvfezghWcgaKukiupcDsdzNQQpGIysgWTD/OdOWEqkYaCUR81+i5OTjShc/ee7V//Qouk8q7Bl744nmGe1tUUNw2nVB9SzbOObIFE9954jRuubrXt78Nzo2XDBtl04ZEhe3rrh0JpBNaZdzMETHwM29M4/Fjk8JuzO1lKRJBRyqCo29cQEdSq3Mo2Ey0E+w2qlC72FJK/NnVDml7U1VbQXAB0xQhtuDVp2sFGcJgORyTc3kM96f869SZ1KDIEvIlYUUQzJIrXezKHDPjHKosEtu15g/xiIz7btuNF0/MY2pBqB97bLtg4UBTJERVqaFtGCDmrzsSGiRKfJ/JsM0jWLk9PraMZ9+axUKmjJmlSkXQZhwyBMVWIsIOK18yoaoSckWziir24cND+A//+0WUdNsVe+PIFS0osoNUXHS+g88Y4xzfevIMll1F87LpgMDtlIe8Hmi8UZmWA9Oq/D04F0UWImzXKERiZNoMmiKt2jneKJGiREwUBCyHhSZNV4JKNOciwI5qMuJRBaYtkm3DtH2P3u0EVZFw9XAnrh7uBAAsZXWcmszg9FQGZy/k6gRalvMGXjw+hxePz0GiQqxvv5tw93VG62iobbRxuaLZ/PKOrhjml0swHSbmR3m4wjmwuSJwqyFsD+Gc+0Vsb5+NRxUUdRuWLVxJskXTT7DXUgQ4Mb6M7z59FhOzeQCAYenuHqciqslNmUwXIwbnUeFliWJ+pVy1bikyRUy79OwpVZLwvvcM4Ojrjanid14/gOv29Kx6rGAhQpYoDJvBshnyJQv/8OPTePrNGTxw1951NZEu1q6zlef9Y+/fi4eePotMwRRJbIu8x0zRRMmwEY8qKJQ98dd6Z+uOpAZVlaEoUsPnxosJj742je8/Nw5AOO6UDBum+/w4TLjuwBW1rQ2vvWeUEIJ4VMb0fAH9dwwjqsko6jYUb7zStcUFOCxH+Ke/56oeyJQiqsqCAWc6KOgWXjqxAACQaeX4skShyRQO43UOBZuNdoLdRhUupajIViC4gBW9Rcb9v9W6ZaKDzPHSiXmcvZDD1EIBMXfj86pwjIu5ZBY4nvBf5n5Hm1KCiCYBXEK+HD6zQl36nHesjoSKj/7CKG491IfT5zP40ctTfqdTckt+llXpjSsyRUST0adIWMzqdecmSwTJqAKJkpa6o5SIWeufvDKFbE0RwYPNOCi4v5gyh8PWbXzvZ2OIqDLu6BSeyM+8ccFXoqS0sj2YtoPlHEOqxmrj6OvTvoAFpQR0ldfX3ufgRmWYjt81T8UDwimk8g+GCpPBo76fmc42pJBthEjR7r4kBrrjmFosIh1XKh8I20sleiNFcJq+D+OQKYESkRGPyLBtDsMSifZ2zUO70xEcSffjyLX9sB2G8dm8TyefXa6eCXMYx7kLOZy7kMNjL55HKqYI3+5dHbhqMI1YpL01t3H5YrU4ojMVQVm3cMO+Hlg2Q29HFPe63ty12GorMQ9hewjjHKZbxJYo8btw6YSK5awBh1eKgoSQlosAXtJXKLkuJm6RVexxQgE+qskN9+qLidsKJcvVw7DBQfx4wmOjWbaBiCpvOXuqdq/59D1XAwCeeXOmqpNNKfC+9wzgM/cebOmYXiEiokpYyuo+K1ByRxem5gvrYmqGMQgsy8HEbB5fePg4Pnr7CO68cVB8Dib0jbJ5A/GoDA6CUlmc54HhzlWf94mZHMZn8q6WTWufjxLxPNkOQzwio6TbVck1JUA6oQkKO1qL9185tQDOObrTERBCXFvUynPiue7UDn3VapPIMkXZsFDSHdx3ZBjfPXquiuHijY8QAowOJHHs+JzviECJKMofH1+CqkoY7InD9JgypqtFRAhkSqocCrYC7V28jSpslajIVgXqYfA27IefH8fpqSwch4O4omXNqDZejvr0GzMAgTvvzNABYblg2UxQzV1aDOccskQrHoTuQs4ZR74kvLZjmoxrRjvx1rllyBJFRJPcrq3YZD2FbcOqzOs88sIEGOfoTUeQK1mwbFbl8QyIeZh8yRKWWwkVmYJRoe4QscDnSkIwQ6IEmtpcedPbmPLufW9ES6qlcEmUYDGr+zM2Q91RHH39gp/kevecuP9z3GRSk6kQxeF8Ta8Pu89BYRKv0+91BUxvXt2lAXhsANtmmCuWYFpCEuTh58bx+unFhgHdxYoUUUJw/+0jvndoLKRy/ZFbd6/p+K18x9byPdwMEZzV4D+zEkFcViBJFNG4Bse0USxbwuNym3W2ARFAXDWYxlWDafwSgGzBwGnXCuzMVLbO6zNXsvDKqQW8cmoBhAC7diR87+3BnrgfcLfRxuWA1eIImzHkyzZeObUoRCUlISK4WevrelGb3OuGA+4y0DoSmt+pjmoyejsplnK6EO0sWYjUWEA2QjDpE7agOgiIT5V13K55RJUaMpkuJm6LRRUYlgPG4XYNXRBAdpMmw3IQC9EzuRg023ua7TW//ov78djzE1jIlJsWZsLgaZ0oEsVS1vDngb1OrjcmWCxba2JqhjEIyoYQf7VsBmbY+PpPT+OVUwt4z94evDOZweRsDrrp+PRqTRGaGt55/v4nb2h4fQ6NduHxlyZhWI4bvzYfCQyOQTqcw3IYOhIqrh7uxKunFpGIykhEFdRWr5s9N2FFnZgmYYVUYmVfzCzQZadEvC4I2xaiccmY4jNYHnl+AmXDFucVON7b4ys4Pr6Cr//kdBXjZWaphLnlIuJRBTFNRkdSA2MqLJvBdjvfjFccCrYC7QS7jSpshajIZgfqrSQNPsXl9Wn84NlxWDZDRJOxlF39yyfLYg5EN2xYloOlrF6p+nkvcheEZEwB44BlOyiUbUQUinhU9eepTdvBqcmsqIIntdDFPLjI1aqgRyMK8iUTmbwR+llNmyFbMCERAssTmQB8L0fOKhX5Urlx0eT8XF4oR3IeoNesntik4ioSUcWfsflnvzCCTMF0g4f6SrtH0dYUikRMwfm5/JpeHwburdBukq7KFLrpIBHlPoXOtBkkiGdHptQXQSMQNLuYJq86y3axIkWHRrvwbz5xve+DHaxcXzvahUdfPN/yd6aV79havofbQQTHCyAiqggGoqokxIXcIGW7JtuA6Ay89+odeO/VO+C4XRIxu53BtKfI6oJz4PxcAefnCvjpK1OIaTKuGqpYgW211UgbbawVzeKIsmFjOWuAMe4rBbeyllwqEbhgcn92KosfPD+BeESuO69YRAbnKoq6jftvH8FVg+mWigC1e7q3H8lesR7u2JLloGQ4oUwm73pblgMQ4jtiqC61vVncRtzVh8AVoKyZ+yU1r9sINNt7AKy613z0F/b4x2KcY3w211Lh5fjYMnJFq2oeOAjvR5SQNTE1a5NNf07f1RiRXAHdcxdyOHk+g4gqI6JSUdhwmyO6aUNTG+vQBLG7L4ldOxKYnC8gnpSxlDP88cAwMM4hofp56ujR8OH3DuHkZEY8yyHXrNlzE1bUoVSMNASF1BhnVbFbKq6ABijanHMUyzZGB9MY7k+CORz33jqMDx/ehWPH5/DC23O+S4dMK+yKom7ju0fPAQDuvXUYXakIOAdKZRu64cDhXLiWRGTQAKP0+PgK7r99tMGV2lhsiwSbMYa/+qu/wre//W3k83kcPnwY/+E//Afs2hUuqX769Gl8/vOfxxtvvAFKKQ4fPox//+//PXbu3Om/5h/+4R/wpS99CQsLC7j22mvxx3/8xzh06NBWndJli80WFdmIQH29lc/a41JC8IEbh9DfGRN/s1SqqwSGTbeUDQcxTWywovIrFgjOObhbJbSZ6JZmCmaVKnLEnS8FxDwwJUC+LLrQluVAUyuzW57vodgsxSaaK5owLAcyJTAhLCBKut10ltthHDywdooZX3ceHILSrsgUj754HlePhFt6CBGuioEiAVatmioy9ZMBb8bm7HTW/53lcMi1dDb33DsSGnb3JfH2uSU47lyyzZgQUwv8Te3rg6h71tyOcK5gQjcdLGZ1pOMqUjEFSzkdliOujedXSSBYBOm4Ck0V93uzNQiu39eLoe4ozk1n/ee7qNv46hq+M618x4DVgxjvmBcz37eZ4BxQJAo1RpGAIpgepgPDdJPt7eD7FQJv/nq4P4lffO8uFHULp6cqVmDFmkJXybDx5lnh9QkAO7tj2L+7Ex+8aRBDvfW2dm20canRKI7gXMwoO4xDU6i/F17qtWQ1eMn97r4kXjuz2DA+KukOhnqFxV+rn782UUnHVSzldCH6FrhuuaLYD8Lo5rv7kkhGlTpdlopOCWsYtxXLQjjUsJw6K07GRaKuKRKK5dasP1dDcH+KaTK4LMbbJmbz+LvH3hHNixa8x6fmCzg+toxXTy8gkzdh2A4oIejtiOBj79+La0KKxE+8Ot2SS4VhCXeZVpmate40uaIYF5TcIgl3Z88cx4vpGAplETt6YmA24yjpNnZ0Rlf9HgTHF/Ily4+RQADHFfwKxmee9g+BUPMmAG7e34vh/lTV99TbQ8U1pygZNoZ6E6HPTVgRjXMuYlyXeQcIViMhHBFVgkQJGBc+2EGGXlSV8IkP7qsSAZYpxS2H+vD1n5z2xcr8dQSARHnVXLX32qJug7j3uOjYdZa175zP4CuPnWhppOBisS0S7L/+67/GP/7jP+LP/uzP0N/fj89//vP4nd/5HfzgBz+AqlZX61dWVvCbv/mbuOmmm/DVr34Vpmniz/7sz/A7v/M7eOihh6BpGh566CF87nOfw3/8j/8Rhw4dwhe+8AX85m/+Jn74wx+iq+vyVL/eKtTOHSWiMigRX4hC+eJERVYL1FfyBr5z9Cx+xWFVqotBXGzlczX62bNvzuCJ16YrC1PIeVg2w/xKGbJEXdVEDtthkCQKx2GwA4F9bZCfyZuwbPF6T0zEEz/LFEzs6JSgm45PLeLu72OajBMTK3j5nXmUdRtlXcx4eQvcqiCAJgtRN8fhPh1KlSWk4goYA87PF/DC27Oh/odChItWLgpBU0o9JUI12YM3Y8Mh5srlqCgW+EGEu6PbTGwCd16/EycnVvBPPxtDyVVl5xAicxJ1Z9RqXh/8zM2ete6OCJYygqmgmzYYA2IRxd94y4a4tmpAYAbYOg2CWt/vP//m6y0nt60mw2K2vLVjbnddBu8r5ifbrkCaYYoRDraNk20AiEcU3HBVD264qgeMc8wsldxkO4Pzs/m64tmFpRIuLJXwszcv4P/3O7diR2fs0nzwNtpogEYaGGXdhmk5kFyBzSC2w1qyGqrPy4AqS/CcNy2brxofhTUHahOViCajOxVB1osB3LWrryuKT9wZLr51cmLFdceo1mUxLQcLGQfpuNrwcyViCjTX8q+k24LSjEp84OlBbITAZu0MdKZQiXMIgLJpYwnAjo560Ufv+ZicL+DPvvYKFjI6imXLL4Z7hf9CycJffudNfOx9oz59OPi+rewEtnvQVs85zJ3GGxcE4AeSjsuiM937SgMNA4kQ0WixWUvfA2984ZtPnsHkfEHcMy6KKrYjmjKA22Dh8N1lFIlCUyXfH/2+24bxxYePY2qhUDfiJ0sE1zbwUa8totXGrYBoAB0+uAMHhztxi6sfFDZb/tE7RnH9vl6srBSr3uPY8TmUDdtvrDDO/fPxUNRt/NPT5/CJu67CfUeG8e0nz656j595cwa//ov7Wx4tWC8ueYJtmia+9KUv4d/9u3+Hu+66CwDw3/7bf8P73vc+/OhHP8L9999f9fqf/OQnKJVK+NznPodIJAIA+PznP4+77roLr776Ko4cOYL/9b/+Fz71qU/hox/9KADgP//n/4wPf/jD+Pa3v41/9a/+1Zae3+WI4NzR3HIJZUN0Wi9WVKRZoO7NokzM5vHFh49DUyqzKEEF6ydenYbNWGgCHVWldXfZvKSmULLwwvE5kQA7YoBEJLnVr/cqjgQi0XSYoALZgdeFfck5gELZAiFBmraYizEtB3PLJdiuYrJHI6cEsG0HDx49B1WmfuWPAO4GvPq1lymFRCm60lrl+FSofeeKooPOOMc3nziD596arbvPu/uSGOqN4+R5CzZjUNzigiwhNMmWJVp1/t6Mzd7BSsW0K6n5M+TgFcumoR0J7OiK4YsPH0e+VC8CJxZYb55HvN4TD/GwWlKYSqgwTAcfv3MPUjEViZiCoR0JHH11Gg89M4ZkXNiG1f7tVttlrTW5beX1osvBWz7mVukybAS8Z0WVKTRFBXNV4gWNnMFhrX1fLhUoIRjsiWOwJ467bhyEbto4O53z1cmD1Dvb4VjKGe0Eu41tiTBxMsdNKrqTWpWVlYfttJY0wsGRLtx1w0488vwElku6nxzGowo+cNPuNXtUf+TW3XXd/ogmI6LJMEwbuaKF/u4o/v2nbg5VP/aSx1pdFm8DpoQgndBwwHU7qEUwUertiPiODZQSKBJBtmhtmMBmULF8OWf4FGpPuJQ5FQ9kj80XhM0YimULlmXDYaS6EeImr+AiLnromTHs3pHAodFunJ/LY3K+UKd9EQaJimsaxoprhMo1LEBymy7Ey/gh4juZVmJGrxBStfu6I3tlQxQfbIev+j04ONKFz9x7AP/9O29CphSqKkGRCBYyOkzbgUSI2zUGOuJqw660ZbNQCzTb4fjRS5MY7kuGMkC9YtNiVncFZLlf6JeoSOZPT2Vx+zX9kCltqKUQNo4KiHlp7l4bh/GGQsRPvX4B14x04d5bh/H22DLeHl8JfZ3PzGDAY89PVI0abAYueYL9zjvvoFgs4siRI/7PUqkUDh06hJdeeqkuwT5y5Aj++q//2k+uAfh8/lwuh6WlJYyPj1cdT5ZlvPe978VLL73UTrBbhPdFmF4sAlQCWEVka71oFKgHfSUBIK7JkCSKqYUivvjwcaTjKnIlU8zOMA5VEfL8lFT8IZeyOpZzOnpcNUMPHtVapgRTCwVMzOYwOpBu+Bm9am5KEcwJh3Gs5HRXHTEAV8BMKBsK0az77xjBcraMH700ubovIa+MvHAiOrIKJcLTz13ogocwnYrFV0dCw3JOr6vkBeFdAe/XikwhSULN3PPfLRs2VvLuJudOyTTyovYW0wuLRVFZd4S1VRjZSpYEndtTP42okj9jMzqQ8hdl3XTQmdTEPbKEkFs8quCf37kH337qrFArR6WAUQtNoUjGNTxw196657LVpDAVU3Htnm7/53uH0r7QXJht0lbbZa01uW3l9bYjgi9Zbu2YF6PLcCnFDD1xFVWWoCkSOOcwbAbDcGDa2z/ZBsS8+TWjXbhmtAuccyxkhBXY1EIBe3amcGBXx6X+iG1cJrAZw7Hjc/667KnwbiZqA+pcycSDR89BksLf93KwIzwxvoynXr8ASoGuVMTfbC2b4clXp7CrN74mDYu//9Ep3HXDTixm9TprppLhIBFT8Kvv39vwXoXpspjubK8njpgvmS1ZTWaLFuIRGZorqJYtWk278sH1PRZVQCDG5by1vhaFkgXbZjDcgr4U2GcJAE45HCZEWpMxtS6WE04tgM1QGVkLwGEcikQhE/H77z59DlePdCFXNFFcZZROXAu4HfF6VlzzvxOd3tNTWZ+ZyDgHcbvGlIpn2vOg9pxnvOJMsDObK5rIFcXfLGTKzd4WADDcn8JQbwJTC0Uk3AJNKq5WYkS4BWdVcgVTZf9+Vjr7ovAgU/idcHEO4l48/Px4aHPq4EgXfuPu/fib773td8g5RBwpRuvqx+rWoqXQlYr4wnPN7p1tM/89OhL1GiVhd7GVa3uxuOQJ9uzsLABgYKBaNn3Hjh3+74IYGhrC0NBQ1c++8IUvIBKJ4PDhw5iZmWl4vHfeeeeiPmujgPTdjKuGOpBKRZHLleGELGhrQTqpQZZE11QKzGx48yqUioqkLFOoigTGOOYzZeRLFjqS4kvjqVcv5XT0pKOIaKLLqKmSoBKTSuJaNmxkC9VU679//BR+/UP7cGg0vMq8ZzCNnd1xTM4X0JFUUSjZ9ck1RPLL3eth2Rw7uqK459bdeOP0Ip5+YwYl3RKCEkJOHHZNMszhJb/c9cWWEI/KMLKGTzkLCgd7SbdlM2GxFVOwkm/sce0t3B76uqKIqqJ7qSpuQSowJ8S46PYnogo4ODJ5Ez988Tyu2dvtL6rXXdWD//NXrsU3fnoa0wtF2IEERZEFNTdfMsE5/MU7UzBcoQkFn/jgPiiyhOuu6sFvSRQPPzeOmaUibEfMgY8OpHD/7SOIaBIuLBRB4No5eFXgwArLOMBB8MGbhnDN3m5MzObdTVnBcH8y9Fmrun/udUwntarvdfD+q0rYjJ2NXTsS2DOY3vBE0Qs6g8HnWs+jldcrkugXtHrM9V6T42PLdfd4oDuO+28fafj9W881WgtkWTzjDhNFHd20Ybr+tds92QYIBnpiGOiJiS5gKgpZqn8GL/YabQTeLXvldriWG4FHn5/AD54dE6q8EEvq139yGr98xyg+cmR4TcdazzW5aqgDgEgkXnh77pKsrxsBxjl++OJ5GKYjgn8/OSSgFFjM6HX7ZvBvOpMVdp2kSlAVikzexPHxFXz2I1fj0ecmMOMKXMoSwe4diVXXy5IhlKSVGPVjH02trOvMva4lw2n4vazdk1t5/+D6rpsOTIsBEMKhEVXCQHccH33fKI50xv1nJZ3UQIhIiIL0aA+UUDhgcBwO03YQCXSxDct7j8aWqtwdJfOmzhazOqYXiygadksCmMztgu/qTeBDh3e1/AweH1vG0dcvCIcWioo6uft/yZiKVExFsWzBtBgiqiTYVY6gigfkbfyGAufA48fOY7A3sep++dE7RvHlR08gWzARi0igVCjbl3RLFNMlCtNy6u7n2ExOiGy6s+BOiPgbYxwTcwW89M48jlxbPz6YTGjQVDFKQKnomKuy5MdtiaiMueUSpheLGB0IT6wbrSm3v2fAn6tuBtthmHXfo6877v889Pa559fXHd/0feqSJ9jlsqgi1M5aa5qGbDa76t9/9atfxde+9jX88R//Mbq6unDu3LmGxzOMcKXlVkApQWdnfPUXvkuRSkUv+hjpdAy7+scwPpND1PWP1k3hyydRAsbgV2ABYV1D4C6W7jeFEgJCBXUlWzQRj8VBIMTDSN5wA3nRgVvOGoHEXVTylnM6vvL4SfybT1yP6/f1hn7OX7vnavzP77yBpayBQhNl7eB6nS9ZmJgvYrAv5YqIiYWauBm/DLGYBuHNXkuEoisVgeMwf0HmqO5gB9+TMeHNTN1iQqO6h/fnhADvu2EX9u3uwP/8zhvIFi1oMoXlsCpLsK50xF9wUnEVcytlLBUsUEKQK5pIxVUcuWEIR24YwpmpDJ594wJ+9MI4YlHZrzZHIzJWcgYsW3C9bJujfyCO3/jIoarrfUdnHEduGMK56ax/7D2DaVBK8PAz52Az5ot/MB6uDk0I8KOXJ/HSyXnkCiZsR9DQB3ck8PEPXIVd/amqZy143UuGg5GBFG64ur/OAsm7/9mihWRU8cU/8mUL8aiCX7vnanR3tSYuxRgPPcdmCH7Xwr4zzc6jldeP7kyDg2NiNt/ytVnrNXnj9AK+8vhJlHUbybgCRRLP29RicdXvXyvYiPXIg+XOa5dNB7btrNrl2A4gBEilIqE0Sg8beY3WgnfjXnmpruVG4MGnzuDbT54BY4KWTETNFyXdxrefPINoTMXH77pqzcdd7zXZyPV1q3FmMoO5lTJSCRWKXF+c9PbNlaKNq1x2SaO/4QAM04GqSJhaLO/FT6IAAG+hSURBVKKvJ4n/9H/9wpr3i8E+C6oi+c2JWnjvMdiXavq9bLYn1yK4visKhWGZ/h4tLL1kTC0W8eVH30EspvlrfTodQ3dHDLlSFgpIjTMIh8OFBZrtMORLNhRJ8p+PXFHEYtTtCDdkCboZNvEuBZVASPV18ajCtVBliu6OKH7nn123pj3+20dfwlJO92M6vxPuJvplw0Y8qkCRBfWbShQJTcKKG7N6kCQRj0mUoqczgrLh4LGXJnHkhqG6+xCMLfp6k/g3D9yArzxyHOdn8353X6IEAz1xfOjwLtywb0fd/RybK1ZmtBtUmDnEWvGNn5zGiyfm8YkP7qvau8fmiuBuESHsWaGEoGw4AJVW3RfC1pQPHd6N7z9zrunfMQ7o7nv8y3sP4XvPjPnnFUyyvVOUKMG/vPcQVPVdPoPtUb1N06yifRuGgWi08QLOOcd//+//HX/zN3+Df/2v/zU+/elP1x0viNWOtxoY48jlSuv++8sVkkQ3rIMNAPce3oUvP3oCixkd8agMy1VVBCqKzY4jLClMy/G72t5rGASdmVIhvFbWxeYCxiFRCl23YWqSoMdwN0mD+AIqsoSupIZMwcQ3Hn8HQ93RcPGGnhg+fc9+/M/v/rzl8yqUTPyPb72Oz957AN3piOgOs4rQBKEA5dU+0YzD96lWFYqMLjYQPzF2/1m77HnVYuom8E7Y8IwLRSKIajL2DCSwuycm/L+fG8fEXF5QeiCKGh0Jzd/YvM9b0i385TdfQ6FkhnYg9wwkIUkUEU12K8pic+zrjMK0ReGkpDv45dtHMNonNqva56g7oaA7IQoq2az4fhXLle+uJyDnd+RJ9SK5ktORzRvY0RlBNKLAthnGprP4q2++hhv29WL8QhZzSyWR5CmC9lZ0xfruPbzLf88ggtcp2H0d6hHnvrsnVifGEYa1dnAbfdeqvjMRGQwVSn0iotSdR+13zFfr9M77FuHO0PQ1NcdcyzVhnOMbj7+DUlkwT7wiiUQJ0nEFmXzz718zbPR6FIRCRGCk2w5004Zts4adkksNSgkUoGEHe63XKJWKbliX9t20V27m87YVsBnDt358EoyJ7ytxA2Av8Lcdjm/9+CTed13rdPGLvSYbtb5eCkzP5WBaDqIRqYqiTCAER724ZHou5+9rYX+jGw4yBcMXMeMA/vIbr+LXP7wfh0a76vbEZuiMy+jrjPqsu9qCaa5oYteOBDrjckvXNWxPDqJqfU+IggLnnu6KoDrnixZ2dEaQLVj4zhOnMbwjDu6upe+/bgDjF3KwHQ5J4oG5WEExTsZUWLaD3o4oMgXDfz66EhrKhu12vhsnyZ6DiyxT4evNHJT16nyg0arenY7gM/ccWNMz+MTLUxibzgHgkCRa+VwO85Nsw3KQL5oY6U/iPVd14/hEBpOzeTGX7Xh6Mq4zhhsTaooEAmByNofX35mt6v6GxRbJmIpswYAqCz9pVaGgIMgXTTz23DgGOqL+fa3cTMdnTHoggRgrCFkmGJvO4n988zX85kcOVmIY9xi6aVepiXsuOEK1nAPMaXhNm60p+4fSUCQSyiQFKs+BYTngjo1iUcf7r9+JJ1+bdj9L/d+8//qdKBZ1FNexzKxlr7zkCbZH5Z6fn8fu3bv9n8/Pz+PAgQOhf2NZFv7oj/4IDz/8MP7oj/4In/3sZ0OPt3fv3qrj9fX1XdRnbUmt+V0Kx2Ebcv77d3XgNwLCJ6Y3+yFRdCYF1YRzoXQdhCpT1x9S2Cd4ZSnH4WASR0G3sbM3jpJuYSlrwHRtFjgXAhOUCPsLEIJYRMaFpSLOTWcbzoJE3JnNViBRoKcjguWsgR88N45/9r5R/I/v/lzQuRG+ESgyRXdKg+oKaTHGYVjVNJhgoh38e29DpjXVOUWmLtVVVO7SCQUOA4Z2JDDYE4dtM+zf1YHfe+B6vPD2LL75xBloiuRbpQRPt1CyUDZsLGbKSMVVxNyZsfPzBXzp0RP4zD0HEIvIrvdm/WyuIov7qCoc8YjsL5qtPEej/QmX0SDsxaqo9YF/N6yKYAl3q+GKLEFTGZayBp54dQqqIsG0HOgZB5oilFIHXbG+/bs6Gn4W7zqFzQ+38j2onblTZLHhjM3k/OvXSAyn9hp535lvPXUW0wsFP+mTKEGPy3wIe70vqFMWap3B8waw6mtqz7PVazI+m8OFpaKrPktqNrjWvn+rYaPWozCoEoUW02C7hT7dcrZdsi3WSIYq/70abOY1Wg3vtr3yUl7Li8Fzb82gbNg+Gyi4kRBCIFHRXXvuzRncfu1A4wOF4GKuycWur2vBRulAMM6RyetwOEepbCMWCbB/iCgBW7YDSSKIaZJ/HjFNqtondcPGUk4XnUoiLJwYF3Tm1faGRvilW3cLsamMDk2RfPq9mLmV8Eu37gZzOBo7JbeO4PpuuqrXwk3FHW2DUMM2be7bc56bzmKXayn4C9cP4MnXpzE1X4DjMP8aKjJFKqZAtxiGdiTwew9cj6n5gn/fskUTf/Xgz/05a4m6at818D6HbTMkYyoGe+L+aJ3t8IaJuUSB37rvIPbuTLf8DDLO8cRrU+AQImbeU+WNt1mO0BRQJAn3HxnGB24egqpI+OTdB/H6O7N44/QCHjt2HsmYKjrfAe9yzkXiaTs2snkDdq/4TLWxhRebTc4XhNBdRwRRrZJIpySC5ZyBf/zJKfzGvVdjpL/y/A/2xEVDyNVbIWhwcdzrmozJWMmbVcca7ImjzxXJ65Dq1cQ9F5xc0Vz1uoatKTFNQkSTYJXqaeK199L7+0/fcwCMMzzz5kxVU4tS4H3vGcCn7zmwJev5JU+wr776aiQSCbz44ot+gp3L5XD8+HF86lOfCv2bP/zDP8SPf/xj/Nf/+l9x3333Vf2uu7sbo6OjePHFF32hM9u28fLLL+Nf/It/sbknc5nhUgkQBYVP8kUT33t2DItZvWpuyKd1u7PBqiJVhBs4B+VwZ1c4MgUTEVXCA3ftxcRcHt/72RiYP+QskutkvKJa2opS6fGxZZRbUJwEBEV7eqGIZFTB7HIJiaiCj71vFA89MwbbYS7NnQhbL0lYTXlqoRyAZTkolC3wVajelfdzNwm3eOBR0h3X8srbsC2bIx6t982khOC2a/rx3FuzmFooIsZ5VdWbMYZswQQhBN0B0bhaRfbfe+D6dXmmr/bcDfensLM7hsmFol/1rr0OsiRGCiRCwFBhOAjBPMN/dlIxBYSoyBVNKDLFfUeGcecNgy0952sR46g9P9+KRBE0sKAlm246+NZTZ/Enn1mb12tJt0SRQJGgKKJSvlIwQy3oGql1Bt+vldes55pcTqrjjeDNpEVd33rTFsm2Ydq+ym4bbWx3BFV4Q+EWMJdz+hZ+KoH1rq9rQTNbz7Uksf5xlkooGzaKZQv5shBy8mwcORcCX4M1e16tnZGw0wJkN8bxNFi6UhqyRWvdPuBRVTD3SoZIRCRKMNibwAN3hVt7rRfB9d10laPtkNld3bCRSqgoGxbygbWeEoIH7tqLrzx+EsWyFVoQuO+2YciUVj0f47M5xNy5Ys/ek1Ieqn4NiHghWzRxcmIFB4Y7MdibwPm5vOi2U+Kz4my3cz60I9lwRrgRzs/lkSkYfiwn4jJeUTUnBLbNEdUo9g5VdAUoFZozjsOEYB4hoXTloOgf4xwTszl888kzKJatqtgM7vsSALmi5c+u50sWCmULtsNQnCvgL7/zZpUbECUEN+/vxfhs3i9MNMJKzkDGfbvJ+epjNVMTp24W/NUmVrnNsLsvic5kBPlSoe53wc+rqdVe7Z+59yB+/Rf347HnJ7CQKaO3I4p7jwxvujVXEJc8wVZVFZ/61KfwX/7Lf0FXVxcGBwfx+c9/Hv39/bj77rvhOA6Wl5eRTCYRiUTw4IMP4tFHH8Uf/uEf4pZbbsHCwoJ/LO81v/Vbv4X/9J/+E4aHh3HdddfhC1/4AnRdxyc+8YlLeKbbCxu18awXwc1VlmidXyYAn1qaigs7oagmo8v1hxRemqLLOdQbx80HejE2k8NPX50GpfDnk4k7Y5wvmVBlQWdeTan0xPgyfvrqdN2G0QymxbBiG1AVCW+dW8K1e7rxb3vjePCZMSxkdYBxKArFQHcc14524a2xZd+6hHEOyxI2Qs3gVeu8zrrjKqp7fqLedREzPAS9HRHfNzMsqQ3zKbVthlxRCJXV0s28e+LZOE3NFxoeI7hR1gpfff/ZMUwtFN2ZaYLuVAQ37+/FodEu7O5L4uTECgil/ix6LSgFklFFVF2JaB5QSsAYQ6ZguJZpoqvNuVh4u9MRZAomXjm5gDtvGNzU4lKVFUne8DsV4gYKhfXJuQKOvjaND9w0tOrxvITdsJy6TVVV6lU6/evUQgC7GUHuxaiOb0cwJroTSkRGPCLDtgXbRLcc3/KujTa2IzwV3jrVSw9c/LgrFQn55eWNZsrdYUXJVo/TLWlYyolEYsnW0ZXWoEgUJcOp2vOCe8zNB3qxmNWxlNXF6JunLeImIqm4CkrpunzAg5+vJx1xi/ZihKikb3wRM7i+Wy4NGqgfacuXTEiUQpYEZTmIWgu3suH4nsiNYtDdfUns2pHAxEweNmOCWh2y9FIi9kWvG+7tjQ/ctde3/vTmjTlErJSMKaFuJKuhUBIiYmJOXCSWjNV/rIhKsbsvCcY5xmZyGJsrAszBzt44OhIqZpfKSMUVoanhNicsW7hdjPSnUCpb+PNvvo6phQLyrjbR/EoZ6biKiCa79HpBnbds5ifWVk2XlnNe9/wfGu3C4y9NomzYTd1vROwp/l106EnVscLUxFWZIh4Rz0ux3FiNvBkoEYru//Dj00KZHSHXV5GgyvUxhSpJm27F1QyXPMEGgH/7b/8tbNvGH//xH0PXdRw+fBh/+7d/C0VRMDU1hQ996EP40z/9U3z84x/Hww8/DAD43Oc+h8997nNVx/Fe88ADDyCfz+Mv/uIvkMlkcO211+LLX/4yuro2P3G8HLBRG89GIcwvU5KEv3G2YEA3GSQqFDAll0IT02R86KZBRDUZL5+cxyPPTSBbEnPPwpKKwmEMFPD9B7NF07cqaOTr6CUzttNa97r6b8V89OMvTeKp1y+grzOKO64bEIsCB/YMpjDcnwIlBHffstv39v7pK1MoObzxUJELQoB4RMavfWgfMnnD9wSnlECWKWK2DMt2QAAoMkGuaOHRF8/j/HzBT+hriylh1707HcFSVvep47UIdiCv3dMdfu9CNso3Ti/g//v+224Cz/2Kaa5oYXw2j8dfmkRXUnMr/BydKQ35ooEAExyKRNCVioBSgqxbCFAVCY7DsJw1YbobiuOWkC2HIYLqwsDR16fxysmFTSsuFUoWbIfDMG2/U1G5iZXn8egbF3Dnjat309fqhX2pUduxaZXZsN3hz/5LBHFZ8TvbhulAN53LwvarjSsLtxzq81V4FYK676LNxAjPLYcubnxuuyHIIupIaA1ZWKsF+6HHUST0EIJMwYBpMSxnDaTjCkYG0rj38C7s39UR2sBIuvtpybB9KyRVFsy86BrYda2cZ0QFEpy3fJ5rQdDz2ahh+QXH2hwGZIoGrtvTg+H+JFhN8rZWBlXQTkw3bSRlse9ni6brukKQiimIaLJf2JUkx98bD4504XfvP4RHXpgIFPipH6scGO7E+GxuTUX3REyBLFPIMkWm4DQUnC0bDn507DzeGlvG3HIJzB3xcZgoshim486X14vWnpnO4m++9zYkiUCmYj+lAEybYSmno9uNh7wbwDlHtmiEdvZLuo3utAbddPznwitcTC0UIFHiW6E1A4ew4kpEK9+lX71zDzRFQlSTIVECy2Eo6bZ/fwDg9FQWR1+fxgduXL2xEMSdNw7i6TdnMDVfCC1o65YD03FwYmJlW8RAHrZFgi1JEv7gD/4Af/AHf1D3u6GhIZw8edL/7y996UstHfO3f/u38du//dsb9hnfLdiojWej0WixPTmxUpe87dqRwH23DQOAv9iqsgTu0oZ8oS4I2wEKiAXJcvzEsZGvo5fMaIqMIlndNzEMSTfwPjWZxcnzWUQ1MfsbTOIoIdjdl8R3njrrJ4VBe4YwqIqE3X1J3HaNsEoYHUj51yZXNFE2HBBC0JlUEY8Kwa+JmTxOns9AUynScS20mPL7n7yh6rozDvz1Qz9vuQPZykbJOMeXH34bmYJQ8vcq+B44F/TuybIFDqA3LUTLkjEV+ZKJbMEU1HiXSmXbzGc4RFSKlbwROiObK5pQXCE2WabIFU384NlxMM6rikuT8wX870dO4EM3Dfqd9PU+/951sWwGKUQ4iEMEupmC0VJSfLlRroOBUKvMhssN3qOrSBRqTFjUGbYD3XAuI9uvNt7tkKkYi/nu0XOwHA6Zwi/k2kyMQdx3ZHjT/bC3GhtVlGx0nIgmo1+TUSxbMCwH//yD+/CRX9iLbLaEn59ZDG1grBRMUCLskyKKBFWV/HlbD2tl91yK4qu3vv/tIyeQtyxfMTu43BEqCgiccdz+ngGx34d0D9bKoKptxhgW8zulHYnKGKCH2r2xWZz55998fc1Fd6/YMDlfgEQpWEhWq0hCiPahZ8YQ1YRNJAOwsGzAYW4HPa6gULLrYhjqdqQtm6EjoUBVJZAiRKGeVBpHfZ1RKDIVQl+84mMNVPdtODhyRSFOF3wuvP16Kauvad8KPmPnpnNwGEc8psBw57C9jjOF8Ne2HeD7PxtDf2dsTc2M4FjBSk4PFTxjDHjw6DkQAPfeOtz6SWwitkWC3cbWYTt3w8IW20YLIgD8+Tdf9wsFhimSS0IJJHc2mVICSsXm5o1kd6cj+OQHrmr45faTGcWdlSFYU5JNiLDFyJctv0tr2g5SMaWOIVBJ5iWUTQcUYrGtpel46pJaTWLiXZvx2Tz+/rF3sJTV0ZXSQN1gSVUk2ExUSR0Gv5sYVkwZ6U/5lLZiyURHQsViVm+5Axm8d2H06/MzeZyfzQufRymgVu4dF0LR1ivE5kqWb9eWjKmQJSoURW2GlZwOVZEwtCOBTF5HvmS7Mz/V1maya3mRLZqIaLJLwxcV9yDV2mFCgKxQtvDQz8bwxKvT6O9uvaNde75DOxLoSKjIF01wV34teP0Y58KuhaOlpPhypFw3ZKU0oQBervACEk2WEFFkMC662sL2a3uJo7Vx5cELNh95fkL4YLtkqXhExn1HhrdNMLqR2Kii5GrHiUZkWK6YFqVk1QbGSt5w534ZErJy0eyeS1V8PTjShQ/eNIiHnhkDAFDwClWciOaGrFDIlKCva2Mt+4Ix4dmpLH7w/ATiEbnlvbE2zgwyOlVZgqyIuGFqobAqo9MrNvzvR07AdixIFL5AGXdj0I6EikzBguUwpGLCqmt+pQyAQJFErKobTt0+oUgEAAFzY6Vc0ULCtbUzXaaiRDxBOXHshUw989I7quQOQ5s2A+McjsOrCg/33LILX//J6YYq4tXnXdG98Z4xTuCK+VUn17WU+XzZwreePIM/+ezhNRXZD4504dO/uA//7TtvVv2cEPhuQZbD8cjzE/jw4V3bomjYTrCvMFxu3TAgPPEen81VFQqCFBmPQsMYR1dKbHKm6cBmDJ+59wBGB9IN38tLZnRrnX64XCSHwcXSsjmW8gbiERmFkoXvPn0W/353h38vIprkVxkpIZAlVHWyGRfJ4kdvHwmdpwaAQtny57g8FMsWLIcLtU13EdbcTai2mFLW7SpKG3PFuBxbRyqhttyBbDTbP9gd9/3OxebT4PK58+OWKyrlbZpRTRZWZjkDdx/ehWv3dGN3XxJHX5vG1396uu6YEnU901HxOfaEVlLxymy5EEXThY0UIa61Gml5XKLR+e4f6qjQmWiliuzN3MUjYultJSm+XCnX6xFRu9whhGYIIqqMqKbAdlyPbcsR36t2st3GJcC9tw7jw4d34djxOSzndHSlIrjlUOvWXJcbNqoo2epxvBnjidnmDYxEVEGhbEGmdEPYPZey+HpotAs/fXUKEqWimUEqc7rU7QpYNkMqrm74e3sx4e6+JF47s7juvdEriBRKFhzGqkSyZInAsfmqjM6DI1340E2DeOhnY1WirKoiIapKyBZFcg0IUdJ8WcR9nk4McZNeD5WOMwEPpKaMA2WTVYv9EnGehumIcY+ojJJbRPP+1PvUlZiUYzlnIKrJ/nPBOAdzhDq7GqHIFpvH/4zDH7/znrE9O9Po74phYjbvz36HUua5EElbD1U86868e4UMAuIXBDi474pw7Pjcml0RNgPtBPsKw+XYDQtDbaHAqxCbtpi79md8OaApomgw1JvAcJOuPOPC4kqWCFbyqxcYCAQVKsgK4kBox8q0GEzLBAEwPpPHn371FfzCdQOQJOLOTFeqkmHQFAl9ndHQhC4RFZQcb2ZaN8Tci+dD6H2ysmH7CTZQKaYcH1vG02/O1FHabIfBsIVfp0QIFEXMK33k1t2IRmS8dW6pKmlqNtt/fi4fOBtv+2hyYTnqkhHH4VBVCdfu6fYLLr0dUcQiCmKasAWzHOZXT30hEy5oUYpC/fOu/Nz0k2sQAuJStkTVufm4RLPzXciU0dMR9SlXzD0tMXOnQDdZy0nx5Uy53gql4O0KT4k8HlUQiyqwbAbddGC057XbuASQKd0WQedWYKOKkq0eZ7hfHCffQgODEoIP3jSI4xMrF83uuZTF1919SQx0x4U9U6LefztTMLF7RwJ7BtMt+XmvBxe7N56fy2NyvgDDsv0GhwfL4bAdG5PzhaaMTsY5OpIaoqoMWRIaQUIDiItEOBDHUCJibObGBByNN4EK+63yGtthSEQ1dKUiyLkxHocY9/DEfh95bgKUEmGV5YTvM7YjGihF3fZjyqmFIvQAy281rOQMMCaYC0O9cYz0C+HcLzx8HI5eb6lVuV7in0dfv9Cyo4sHzxWBEuKPGdpO/TjWOxMr22KtayfYVxgu125YLcIKBVFNhmEaCH61l3M6NFlCPNZ47hqodCJnloq+eNZq4EBDa61mf0MAzC2Xff/DlbyBVFzBco7BDpndpFTMlf+v778tOsBAVUK3lNVRNhwUyxYUifoem5SIRdxDoWT6IhSAW0yhBK+cWqijtDnuwukwDm4xxDQZnUkN14x24dEXz9d1bH/ptmH8sAk1bilT9pNm73fetQieriwT3wPdZyWg8bOZiCmQJeHxqqkSIhCq9L4Po3sx+7ujuOPaASFg5z4zQQ9Pj9blve9q4xKtaBl0JlR0pTSUdLvKWqtWbbYVXEmU63cbaue1eVSGYTPohu0XwdrJdhttbBw2qii51uMkW2xgHBrtwr23DV80u+dSFl9bee/7bx+p2sc3AxezN+aKphCdcyvgQV9trzNaNmzkimbo31fZt5k2GONQFQnpuIJc0XKL94DtxRZE2KiCN06tvZ973dkgZVuWROEmqsnQFIrlnIHudMT3pAaAV04uYGI2D0UmMBvnuXAchq89flKIrFkO4hEFhmmv6mYT/JyZghgn9J6xgyNd+OjtI/jHn5wK7V4H473FrL7mUdSgKwID98cpg6OGAPDG2SWcGF++5HFRO8G+wnA5d8OCqC0UGKaDfMmsmx+xHQ5CGO67YWfDL1vtDA4BASV8fRTxVkAIUnEFJcNBTOOIqBJ000EypiBTqF7IxWLCYTmAYYnVsrcj4m/eqiL8My8slpAtmP7ccUW5urIAMS42lIjrt1jUbfSkNazkjSpKWx1tmnNoqoS5pTIePHouVDDty4+cgOUwJKLh1LhUQoVuiWMGb1DwEisyRWdSxUJG958/xnnTZzOsYBTVZERUCablYCVvoDOp4a4bdiIZU6tmyxkTm5zXa3A4hypT/9o2G5doRcsgX7Zw35FhX7Fcb8GKpBmuRMr1uw3i0Sf+vLbDXMsv04FVxThpo402LgYbVZRcy3GG+1tvYGwUu+dSFl9Xe+9Do1uT4Ky2Nzay5SyULT8OqM14vTDFYRyFcn0M0My+bdFmgDsO5nWwRV5dYdYFUdto8BJrAFXaMjKtjoniUQWf/MBV2OP6d58YX0axbFVo4g1AXQ/2uZUyIoqEHV1REbdEFRiW0fxi1yCqSTgw3On/9503DuKp1y9gcr7iWx0WoXhCaGtB0BWh9th+YcKlzV8KseZatBPsKxDvhm5YdaHA8EUiJFeVjBAxFxVxbbneGlvG3bfsrvuy1XYidVN4GRIiklR/8YUrEuFSe1IxGYVyc9/ARuCMC7XFmiRsaqHgC9B4CyCHN89U6UYv5ww/kQQASinSCdEJNyzh2ev9rV9wIBVBjJIuOmcRVcJN+3rx45enVqVNU0qaCqYtZnQYloOoJqFsiDnmoEKq4nbOOQd0064SRRH3U6iv6yZDOq4indCQL5mrPpuNCkbFkuXbfc2vlPF3PzwJ4n4m2+FwbB3RiOxuevDnmdKBebFm4xKtahn0pqN1Ku0XkxRfyZTrdxs8Yb6oKiMeUWBZDLqbbDusPa/dRhsXi/UUJcOSsVaPc6kaGJey+LpdCr+N9sZGOin33TaMRERelT3EOZCIVKdKq9m3eV1gL5n2Eugw9WugEu8Fl3zRjBBzzJQAPR0RWA6HXjBDY6Jgwi8RArvJiQVFYW2HVeI0ia5Z2LdQtqs60ZQQXLenqyrBBqoLCN7seFjhohk8V4TvPHXW/4y1HzXt2t5tB+vSdoJ9hWK7LIoXA69Q8N2nz2J8Ju8nS6pS7S1JCGn4ZQt2Ig3TQSZviC9uTUlTlohvNUG4sJbj3PYXI89iqxVwQHRWUxoch/tJ2BOvTuGfnhlDMiojW7Rg2g5kl74ctLhgjAs1UiJms73KoxA1Y66YlljUNVdoo2w6MC0HHMIzcLdrdRaNyHjitelVadOMCTqOTEmoYJosE5QMjoWM7opPiCTcuw+2zRDVZHzkyDCOHZ/F9GJRCHO4PKKIKgMEVZ6UrT6btQUjz7IMhPvVTa+SbFoOFInCdBiIy59yGIeqVNt8rDYusRYtg7CNPyyIa+PKBWOunoLrr92e126jjY3BWoqSzZKxgyNdLR3nUjUwLmXxdbsWfk+ML+PvHnvHH9PyBGU9EdP3Huit6x6H4dRUFu+5qtf/79Xs2xazZV8wzRthY25jJQiCSqeaEAKJcJ9a7TBepfZ/9y27m3boH3lhAsWyBVWmYAAkUu2q4r2fJ0Tn/cqLi1RF8sfjahsgzcA5r2P5HdjVgceOnff1iYLdZc8Vh5CKN/xacO+tw5hdKuHpN2eqfk6JELBNJzQwzreFWHM7wb6CsV0XxbXg4EgXfsVh+OIPjiMSkSFLtM5bshnV1+tEOpRh2fVSDltwPZVCxjlUWfIVM0krq3MNRFLOkXUr3F4SdtVgGhFVgsNQleQCqBK74BC/X1gp+8UEiYoZZJVL0NyFMthFTgG+Z+cnP3iV76XNOK+itDWiTftzVO7iGOyu6YaNoluJ5FzQmDiEPZlQrNVgmAyjg2l84KZBvO89A/5GEY/K4CAoles3jWbPZm2CemC4s8qybDFbhu1woVxOvE1D+EZyABGVoicdxU37e/Hkq9OwGfNtVlrpNlyMlkGjIO6jd4zijs6NtTRp4/JC43nttr92G21sJpqJVrbiKBHEu6GBcbmDcY5vPXkGyzlBeS6bTqDwr0A3Hbw1tlzPzw7BW2PL+Pid3L9/qzHYbLtiQ+r9z7PJ8hJoVabo64rCdt0lvBhLN2zcecNOUErq1P4bxURHX5vGqckMGOMoG4070EHdm+A+4sVzHiNRN1sTOiMQwq21LL9kXEU8ogj7LpcRCnemnHHBMI1FZCTXqTB/102DePPcIoTSuphNj6oUNhMjjuJ6tubSsploJ9htXPZIxlWoqiSC0pBuomU54OCYXSkhMVu90SViCiRKkCmYYFwEtozxKrELwBX7cq2fhB0WqZorWYvXrUQpOISFRUdC85MwL2kbn8lXJblAA7VJUkliVUXCcF8ChJCGqp6mzbBrR8JProF6Spsq01DadJUNGqoFyAQVWxQOiFs1lQjxvRKXsga6Uxo+8cF9vvrjxRR2mnUZohEZhbKFmKZgJW9UFSkA8blshyMZk5EtmrhmtAt7BlJr7jbUXreYJonCh8VgWA5iETk0OW8WxH350RNIJCPY3RNb97Vp492D2nltxhkMi8Ew7Lr1qY022lg/WhGtXOtM57uhgXE54+jr0z5NmVJh3Vop/Au7q0xBCL82SygJEWJeQQZkMwabaTlug8SLhzgovG51JZtPxGRQSqG6gZ6nvD7UG8f9d4y2/JydGF/G958bh8NEvOZ3QRrA+43oVgt3luBbpeMqdLPc0ntzAH1d0bpGwu6+JHbtSGB8Ng+HiaaFRwqVKQUhQktoaEeipfepxe6+JHb2JPxYVzcdLGYNIWwLcS1jmlw1q30p8O40QWzjioKXmBbdalkQZcPCQkZHSbfx8HMT+KsHf44//+brODG+7P9tR1IVC6L7N5QSyDUJNCAWhq5URHgyyxSyTMN9/prAW8i8TvnN+3vrkl1NlSo2YxBrZdisN/W6so5I1m8+0ItDw52QqZgDMi0HjAv6T6ZgNuzIepS2od44HOb5F3IoEkF3KoKIJkNVJMiS6ADLsmAJAGIzMS1RGVYVCd2piKAo8UqnjRDgI7eN4Pp9vbhYeAnq1EIBmiIhlVChKZLfZTg+tixUyEmlWlt9A7xrJzaWQsnCwZEu/P4nb8D//fHr8Nv3HcT//fHr8PufvGHVboV33Tpd4bT5lTJWCoabYNdXTmuDOFWRQN05dm+T+M4Tp0NFUNq4suH7aysSOpIRdCYjm67O20YbVwpaEa30xszauDRgnGN8Noe3zi1hfDbXdJ9knOPo6xd8T26v0E4J8YVbvXgxGVNCRbg8OrMX6wQZkM1iTse1xlIUCV2pCFRZchsWIpZT3CaGbrKWY7Rm5+k5oxCIee1Wmj2UAF0pEYPIMkXJsP3PQilBVK1vVDVCMIatHF/EsomoAlWm6ExqSEZlEAJ/DHEho+MvvvWGH4uvBd7xI6qExayOpazux6HefDk48NXHT67r+BuFdge7jcsCjVQggSZCV2ULK3lBD+pMaIhHlVDK1037ejE+k/dFJbwioBAGAzRVQll3IFECKUAjligJzGCjpWSbuOeiSBSaKtWpbB4c6cJvf+Rq/M333kZJt0HEsAqAeoqRZ3klS2K+5/vPjoNAfD7mKl9SQlrqyHqUtonZHJ77+SyOnZj3F1vvfGVKYVMhJGfZDLKr3s45IEnEn7eORhSxWDNRGS0ZDno6oxd9vwGEdhkUmSKmScgVLTz/9iwIqdzHuiTbmyl3P7NHIbqYbkPZdKApkqDou3TxlbxRRytcNYiLypieL2BiNo9dveur7Lbx7ocfQLTRRhsbglZFKy/1TOd2xmbqiqw2G1+L83N5ZArCVaa2VSLGxcSYnaZQHL56Bx57cRKAK5Lrn49IROMRBSDVdOPVxOwIEbPTsYiCqCbDtBxf+IxSwXTr6YgiUzDqWHNi1C3X0miBF1OoCkVRb+1aSlTMKhuWcH2564adeGtsuYrBN7ozhfnlMhZzzQ9KUG0FG0RQi2ByvoBi2QIHoCpClFem1I/Ff0uiax6POzjShd+4ez/+5ntv+7Emh9AdSsdVaKq0LubJRqKdYLexrRC2SJ+cWFl1ca0VFvGsCigh6E5piLodxTDK16HRLjz+0iQMy4HjcLiWiKJD6s43S9RCb0cEmUJF2XqkP4meVATPvjULELFwAhWFxGDCLVFAU2VRSYUQu6id0fXOnXHgY+8fxSPPn4dhOpAlgnzZcudXhGhGKq5CkSgsh1UJs6WSKmyboVC2IEsUH7ppEIdGu1qa/wpeZ88bcSFT9pPH4YEkrh3tqlqMOaqTaw8ebcq0xOdPrmEWptFmevP+3roE1fOo9DyvZ5ZsqIoEQkQBwLKdADVL0LUUicC0HQz1Ji4qCAh2pLvTkaqkOYxW2EoQVzYs5NtBXBtttLEO2Izh2PE5V/uien7z3fB+m4W1iFa2UY9muiJH0jGMzeSQzRvrmkVfz2y8VwhRZArL4ZBrC9oQMVpHQsM/e/8evD2+gqn5gt+0AABFIohpMnTTQV9XtI7O3EjMbrg/KZo7BROcc+iuHVWQvpyIKvjVu/Ygqsp1se6ff/P1lgsJhZIF22YwbFZnUVsL6o44esK4Q72V4wYF1BYyZbx8ch7FJibahFSEfUmT9zw40oV9uzvwp199BY4jaPmq+/7e/ckUTDz83DiO3DDU+EANEIsqQshXk0XDi5Kq72+QeXIpxjXaCXYb2wZhi3QypiJbMMA4X3VxDQqLnJ3K4gfPTyAekes2zFrKlzcvMjlfQDwpi8qlKxAGiPmbXTsS+L0HrsfUfAH5ool82UIiqqBQtvDzc4tQ1YpiudfFXM7pfrLkMKBUMw+ylDNwcmIFB0e6Qs89FVOAuOp34RkXghJeMqsbdiW5BlAoWzBtYXPVmdSQKZg4PrGCe1ugHNVuYvGoAstykC9ZkGWK+24bxp03DoISUrUYx6IKvvvUGUwvllwxi3Cxr+H+1hLZZpvp9GIRts0Qd5Ung37dHgXME4GybCbUO0H82SRvplymEiJq+Iz0WrAWWuFIf6qlIE6W6JqKEW200UYbAPDYixN45PkJlA3bZ+58/Sencd+RYdx76/CGv9+jz0/gB8+Obdn7bSYuRrTySkezPfv/+/7b+PbRs8jkdNhuXNPXGcV7D+xAb0d01YR7vbPxiZgCWSKQowpyRRM282xHAXDAZmLk5s7rd0KmFA/ctRdfefwkimULmiKBQ9zzTNEEAbCYFXTm2kS3kZjdyYkVfOXxk1jM6i7Lj/uisp6K9t//8CR+454DuHZPt38dmymehxUSEjHRXbdcRqWw9apX7NEUik/dcwA7u2Molu1QFuhIfwonxpfx+EuT0E0bMVVCuSZmJUTY1wLwbXH3DDZPXKfmC8gWTaTdsbjq44k4aWapiHPTWXQn1hb7FEqWsLx1hYJrcamZJ+0Eu41tgYaL9HwBjHP0dkT8L2ezxdVbKAolCwTw/Z1r4VHIz05lUShZuHl/LxYyZZQMx6f7WDVq0jKlKOs2Hn9pspIIUwLT5jAdGz1pDR4hWTdslPTmX+qFTBlffPg47j68C0+9fqHu3FcKJjSF4qO3D+PpN2ewlBWK3JRS6IaNxazuJ9fEPXfTZljK6ehORVqu3tmM4btPn0WhZPoVRkB03FVF0GxeObWAO28crLrGHu4/MrIhvp+rbaZLWeG1bdsMikyr/Lo9SzFCgM6kinzRAgigyEDZELNFEhXe4bt2JHDzgV44TMx0rVfdda20wlWDuLKN0cE0hvuTYOvwV78UaDa60UYbbWwNHntxAt89eg4OE1aKXiJR1G189+g5ANjQpPfBp87g20+e2bL322xspX91ozXzclxLm+3ZjsOwkNWRL5no7YggFpVQLFs4NZnFyfNZRDXBjFuN6r2WIraH4F7bldSQK1mwbAZw+Mnu0I6EH9OE0pndeemOhApJog0T3bDxsmb05Y6EhnhUxmJG9+NXAKsqnocVEnb3JdGR0JAvWcIe1RUu8wTFPMaepspIx1SMDqRbvpcAKtfNhacL5LnN9HZEUChZTeOosDjJGyGklPhxUq5orjnB3u7Mk3aC3cYlR6NFGvDEfYBc0UJElSu2VU0WV2D1L55HIf/B8xPCQsHtlsc0jnzZClWTblQEMCxHJLwZjlRchSxTrOSNVWeyOQdyJUGPkSSCzmQktEL76ulF/PMPXIWvPn4S2aKFeERGpmBUWWV59BgKUZ3NFk30dkZXrd6dGF/Gd46excSsEG8xLF0s6jEF1FVUV2WKmaViw0R9Nd/PA8OdGJvJYWyuCDAHgz3xKv9GL6jIlUzMLBUbbqbJmAIjK+hWyZhSZ2XmWYpp7nNimA4+fuceJKOKzzhYyup4+eQ8Hnl+oiUKVjOsdXFfLYiLqpKvtM7qatDbD2udi2ujjTY2HjZjYj1zhSn9tZMACgEsh+OR5yfw4cO7NoS+bTOG7/z0FNgWvd9WYSv8qxutmcHRq8tpLW2WAOfcJgcgkrJCyUK2aICLPBe2w5BS1FWp3uuZjQ/utbrpoDOpCScV1+UjHlXwwF17qxJCj878Z1+r0Jk1tZIitaom78U0F5ZLkChBV0qDLFGfvkxIRXPFi1/HZnKrKp6HxbqUiC78P/z4tBCgdaXLCQccd6Y8EVWrZsgbFXLC7mVnUsNituz7WQMVSy9KCAplG1969J2mz2swTmJubBpM2iVKEFEFM3Ot2O7Mk3aC3cYlR6NF2puHIS4FxrQZtEAi04z+0eyLVzYs38IpmOSs5A1RqT4yjN50tK663KhS29MRwVLWcOdtbFglBtthkCXAXsVOkDFXBKxmhheoLiLEI7K/+U8tFGEGZm4oFYsy59yn6pmWg1LZalq98woG+ZIhbMHE2gzDcjCfccQGQioiYcfHlht2wptRpf78m69jbrnki4b0uQsxgKpgg3GOkm4LlXLUJ6yKIjy+Rffa8inptZZiQOXZSMXUKgqWR3+6WJ9TYH2Le7Mg7qN3jOL6fb1YWSm2/BkuFTbSM7aNNtpYP44dn0PZsIXzRcgeIlMxTnPs+Bxuv3bgot/vxbfnUCyLdWsr3m8rsZn+1Y3WzImZPE6ez0BTKdJx7bJaSxslwL5VFSW+VWcwqSKA/98dCbUp1Xu9HcravdYrXAz3JxsWLqbmC8gUmtOZm7EC/QLKUgklw4ZhOqILnqw/nixTOGUb+aLpK55LEvHPn7j/c9xYQpNpaKx7542DePrNGUzNF+AwVolN3UaJbon4Ml808eRrU3jl5EJoIcdhvO5eRjUZPekosgVx/5jb1XcYh6pQJKKKHz83el69OGliJg/dssFBfLo+Z8I+FgDy5bV3sLeSebIetBPsNi45Gi3SQe9lj5YSRLPFtdEXz7IcLGUFDac7VVn0gkrUP3tzBn/06Zurqu+rUZU6kxqKuoWPv38PlnM6fnRsEpJMkC20OPvR4PsfLCJcu6cbB4Y78cTLk3jw6TFomvid7XA4jIExVPU9V/IGdu1IYGhHok6VEhDJbaFswnY832v3YrtgnEOhbgLLOJ54dRqjA6mm3tDBTScYUCSiCiKqDN20MbVQxBcfPu6/hxdslN3zXM4aIGlSJZoGiPutuQWQn705g4nZvE+/UmWKdFxFxP2b2mdjs3xO17O4NwriwgKI7YjNuJZttNHG+rCc0+FapofDLcQur6II3CoWszo4eJ0682a931ahtrN3aLRrw9avZmumzZhIbhj8Qu12XUtrr1E8KocmwF6sxjgH4wCvofN59qO6YUNVtJao3uvpUK61YHIxavJevFMoWbAdBsthbheaYWGljI6EipRLvQYqMUq+bDVUPBffMg7LcqDKjWPd2hlyVRHXKlcwYTrCEusLPziOsmGDEIJ0QkUqoVYlxvfcsiv0XkY1GRFVQkm3oZs20nEVuZLZkHEZNrb5S7cN4y+/8yYcBsiSODPOAQYOWSJQZIoHnzyD3/vn7wm97s2wFcyT9aKdYLdxydGoSul9aQ1LdFODvq+tLq61XzwOkZB1JirK4rVK1BOzefzZ117Br75/r784v3VuyacWhUGRKRyHIxVTsbMnjqdevwDbXoUjHkQDRnBtonhyYgUvnJiDaTswbQcACSTHNYfkwFJOx3/6ysvIl61qRe4DvZicL8AwWVM/SQ5hw6AqVFARW9zsawMKGlB47JAophdEl3ZnTwzULWTEowryJROGxZAtGIEOPYEiEf9+33nDIN53/U782ddewexSGam4UkXlCns2mhVIAJGgn58v4IW3Z3HbNf0tBzPrXdwvxhbsUmO9c3FttNHGxqMrFRFheZ0noQvXsrArFdmQ9+tJR9ywv0FOv8HvtxXY7HGXRmumaTmwHUHttWtYetttLW10jZJRBSsFsyoB9jrXXmQhREZRRRkHgKJhI+mO1a1G9V5vh7J2r7UZwwtvz4Yq3ydiCiRKUNbtUFXqRk0dL94plCwYXpfWVdn25pa9axSLKr7mymBvHAk3pgwqnjPO/b/1YFrinMNQG4d4ujOmw6DI4jlaKZj+Z80VTSgSRUST/cT4lZML6OuMYnqxVFfMAEShoLcjimzBRCKqrmnvj0dEkk4Iqpx6PNFeWSIXZVG6mcyTi0E7wb5CsZ0ENZpVKVMxBQtZl2fNue/J3OriWvvFm10p4eHnJlZVop5dEgJk6biKfNmCaTooGzbmrBI6k5rfKfXgqVZ717K/K4bxmVxL568poogQi8hNK7TBjrDsWnRJFGAhNHRKhNdhtmiibBTR2xGBEpUqitwLBRTKFsAr9mJhSbonRNGR0OAwjskWklDGOV54ewbjM3nIEnH9JiublFfIACGwHA4tUCzuSGhYyJRhWAzzK+XKzD2AZEzxqeVT8wXctK8XT+SnUXKrss023kaV6WBxhXGObz5xBs+9NbumwGq7Lu6bhbZnbBttbB/ccqgPX//JaRR1GwpB3R5iM454RMYth/o25P1uvaYP//jjU0JIVNr899tsbMW4S6M102flucXkWpbedllLm10joXHHsZTVxQiXQl1rTHFOsjtK4DBWV5RxHEER9nRwWqF6X0yHcjWl/VLZgmE5KLle1oSI7qrnq1zULZ9uHRT2Oj+Xx+xSCbbDwEF8pW1QwA4EVisFA7JEUTIdP0aJRuRqxXOHgYXEYgQEX23yPAbjkFzRxD89cw7zmTLiEQWWI+JmSgUF3dPpiWiyK5ALjM3kcNM+IfbbqJhx8/5e/PjlqabiwWHPa6FkgRKCHZ1R2A73mYcEwh2HcQ7Ldi7KonQ7Ni3aCfYViO0mTtSsSqlbwnbKS3TLhrPmxTX4xUvMCvuG1ZSoNVVU9fIl4X8di8gwVxhMi2ExW0ZPOuon2ZwLYbShnri/4N532zD+7rF3oJtO6GLpQaIEH71jBEffmGlaoQVQ1RE2VAdLOR1OSFZMqbD4KhmBaicRC6vHCphZKvnV0WZibJIk5myyRROm5YAD+EaTJPTE+DK+9eQZTC4UfGGMXMmCKlP0dEahyrQqiKgNKKoQpKy7QdzEXL5ubpsxjkJZLOCNno0wlkRVccUlZ2mKtK7Aajsu7puF7a7c2UYbVxJkSnHfkWF89+g50QGjqLIjkijBfUeGN0xwTKYUn/jQfvz9I8e35P02E1s17tJozQyOwZHgf7tYy1q6WU2TVd09MjocN0HyYg6JEiTjqoivGIdEKwm3t+NLVPy74zAYFttQqncYVlPan1sp4cREBhzc17QhEJo0i9kyZEkC4xwLGb1O2MthHIbtwHYYpMBzTwlxtXjEWVu2aJqMDqZx7+Fd2L+rA4zzKsXzxWz9aIUqU/R2RpAtWk2fRy8OefK1KUwtFME4oJuG25wS1xxEzEBbNsNyTkexbPkx6nNvzUJTJaRiCoq6BdvmkGWCwZ447j8ygmhExhOvTa957/eef8fh0BQJZcNGtlDxBvee/YVMGXBV1d8NaCfYVxi2qzhRK0rUG7F5BLvlMU1qqERdNgJtYUIgUYqOhIZl189xJW+gTxUd4ZJuIx5VcP/tI/5nOjjShc/eezW+9eQZnJ8rhDLAJUrwq3fuwb23DmOkP9W0Qjs+m6uimFFKEFEkFJx6yhB3KUDeosnBqxJZ3XTgrCZx7iIekZEvma5AmaAFRhokoSfGl/HFh48jWzTrKO+mzTC3XEJvOloVRNQGFNmiCe5em86k5tO0FJlicaWMB58+51KeVMTiMhxHJNeyRPGhmwZxaLQr9NmoZUkAqCquOFwEDPGoghjn2272bTthuyt3ttHGlQbPEsvvzrkJWzwib4ov9cfvugrlklnxwd7k99ssbNW4S6M1U1UkyBKBYQl9ETXQGVzLWrqZTZNm18gwHeiWDcaB7lQEsiSsQg1TjPVFVRkO47Ad5uWzAMT+7iXcXvy0Vqr3WtCK0v4zb84gpknoSUehm47PbPNYjSZzEI1IocJe9xzeVfnsNafgJdmMA6pEcf8dI7jpYD9m5vN+F9xrMBXLlnt9xN96I3IdSWHP2srzeGJ8GT94dlz4jtfUuBwGEML9c6rtGFMi4kPddKApFJLIyP3rtd69P/h3DmNYzhk+a5QCPh3+sRcmsCMd2baifmtFO8G+grDdxYlWq1JuRIcw2C1vpEQdi8jIFkxIhICh0mWNajK6UhFkCoZQHc/pUBUJu3Yk8Gv3XI3dPbGqueuDI134k88extHXp/HUa9NYzhmwmahw9nVG8PE7r8I17kKy2rl7FDOHMszlDeEj2KD5yzlAPJ8HiIXdthmgVZLv2j8Nbn6VawWUDLF5SsQrPkiIRWTEgKrnBQAefn5c+DFC0M6dGtE1x+HIFAzs6KiIYyhS9TyaaVX8H4OU+bJho2w6vtidaRlQyhSpuIrOpIZMwcTb48u4eqQLx8eWEY/K4CAolSvXMsiSUF2fcwqRXAcVyLfb7Nt2w3ZX7myjjSsR9946jA8f3oVjx+dC50s3Gh85MowP3jy4Ze+3GdiqcZdma6ZMKWwqOv+Wzda8lm5206TZNcq6hXyv6K+pMjQVSERFE4IQETdFNQrGAMsRDQnhgyxo4bv7Erj/yMimJlWrKe1LlLsCXBIIIb6wl2kzOA7DSsGAbQuNHa9zG4ybXz45j5608ITmjIPU6AUxziFLFLJM8Pxbs/jRsUmYllNVCPnMPQfwzSfPuHZdglGnKiLG8QRfw57HIHMhHpXdGF80iML6KLbDIUuomu8G3LpAIBA0bYadHREwhqpnaT17f5DV6TnuUEpAQETcTYmwlS3b76rGRjvBvoJwOYgTbQXV1uuWe/7PtUrUPghAeHWXNarJUBWKTM7A3Yd34do93dgzmEZ3VyLUXokSgg/cOIQ7bxhctQPf7NwTMQWMcyzldJFYr2KTzGoW1qJuIRlXYdrM7dq7oiMeQy3keNSltFHiLoKEIBWviFsEnxcAmF4sCrsv6llNiHm8IEzLwVLOQNKlEHm+3rJMYZiOb1URfJ+yYWMpq/unLGajPI9IEdjJEsHpqaxQqnSE1yUgKN+aKlVtYo+8MIHz8wUwlwKmKlKVAjmwfWbftiu2s3JnG21cqZAp3VJrrK1+v43GVo67NFozhweSVT7Ya1lLt6Jp0ugaeVZckstsC8ZJhBAkogqKZcvdS4XGTFxVoCmSENmSKX75jhHcecPgpidTqyrtuwgKvhJCoCkSDACciSJ8XVLqxs1zK2V85LbdmFooiiJJhYFe0fcBYFgMi1kd6YSKaESCZVUXQj5z7wH89++8CZlSqC6jIRir1z6PtcwFDiGexpsI1wLVc+EeJCriPA+cA7rJkIgqVc/S73/yhnXt/QdHunDvLbvx9Z+eFqMCXLArVVmwQ+MRBQS45DnIRqKdYF9BuFLFicJmkw6OdOGPdneEKlGbliM8pV3acJC2BYhOrKpKuHZPN0b6Uy1tDhdbOBjakQBzrTxkCtgVbZTVcm1QIhZUUTXmvkWGKlPfRqNCSRLvIUkEikShO6Jr7Kk9Rpskobb7obyrQSmBDJf+A+/4QHc6gk9+4CoAqFqkOSrJdTQw3+5RuT0QQuGNUDlcVMqZZ1PGOYzAeeqmDU2tprT//idvwAtvz+KbT5yB5tLCa9GeI14dV5q4WxtttPHuwlaPuzRbM+++Zfea19KtaJoM7UigI6HWxUmMcREnITxOkt3red/to3jlxCwuLBUrRYUmXtSbgVWV9l2EXW/vPIH6kTagEgft6IjhY+8bxUPPjPmUeEIIZIlCogS2w6FIFJ1JFYoswXZYXSHk9x64HkO9CUwtFJFY5XkMYy4USxacZro2ISDwKPtEdN9RiSlttwVe+yytd+/v7YgiFlEQ0ySf/q4qkt/o8bzB3y05SDvBvoJwJYoTrTab9KvvF/6BJcPxlagBsaAwzpGKK5u+6baCqfkCCBELUrAr3GwppVU0cQ7HVafkLhW+Myk8GbPurBFQUf38tQ9ehYgm4xtPnEFEkeoUzoH650WWCWBV72HUm7WC2KhimozP3HsAowNpAKhapGNRBd996gymF0s+dT+s4+7tccSd37FcFVJACJIwzv0Nw2ZcbH6d0apq/m3X9OO5t2bFLL77Xv41bc8Rt4wrSdytjTbaeHfhUoy7NFoz17OWbnbTxIufFjI6dNNG2bChyBQdCdWNJVxR1Xi9bZPtOqvcsL8XH7hxAOems5esELua0r6YTQYM0wZjim8dCridawCK24XQDbvKvisYB9176zB270jgu0+fw0JWBxiHoogO7WJWRyLavBAyNV9o6XkEEMpcCCsAhCGqStBNB5R4MRoJtWuVA0Pctc/Sep7XREzxVeU19d2fg7QT7CsIV5o4UauzSaF0lx0JZAsGdJNBos6Wz5jWdt3fPrckhNdCFkFPLAQQlUjudqW5u2l4+XiuZCGqSYhpMsABTRXzRhFNhmkJ4bOibmO4P4m7bhoCgEoSWvOeYc/LYE8cpyazgnJPK5sYIQSOIywihgdSGA4syrWL9P1HRqo2F9thfpWcoL747J236LILL/KgaJ2nlmnZrK6a354jbqONNtq4snE5j7tsZtMkGD8logoimuQrPy9mdSEIGpGF8GlNsuTFB7t3JLBnMI1stnRJC7GNlPYZ4358JFMCw+K4sFhCOqEiHlX8eECiBDYTQq2+foxMkYopKJsOetIR5FzrrqtHuvD/jnRVxW+5ookvP/pOS/ZW1+7pXvV5rBW99RCWX4exHAnhiKgSyqYD6r9OvNJ7LSVATFvdA3wtWDUHcb3B3y05SDvBvoJwJYkTrWU2qRHd5eTEyiXZdGu77oxzlA3bt5cg4FWe1RIlvgqjl1x7PwcBuCNmzDWF4v4jI9jRFcNXa54BANAtVqfmuZbn5f4jI/jiklARdxj3O+jeXE86oeGXA0rrYagNdkxXrEORKOJRBfmSKaxgiHtuHnXLFafLlSxUbWHu7sKYoPUHK7CXc2DVRhtttNHGxuByHXfZrKZJWPykQkJUFcX4XFH4QX/s/XvwtR+dahgf3H/7SMtd1c1GndJ+QIQ1GVPQkdRQLFvIFkxk8gYM04GmSsI6i3GUDNv39wYXbLn5jANZIljM6vhyjXVXMH4Yn835hRCphc5tq6K3tcwFSaJ1CXWYoC2lFDft68Wzb81WW+0FkIqrfid/oxpwjXIQx2YoGc67KgcB2gn2FYfLOalYi8/jWmeTwugul2LTDeu6zy2VfFEKh4s5HsIqAmJBwYpKcg1RoeWCFt+V0qCbDK+cWliTSMVanpeDI1343fsP4VtPnsH0YtGfBZIowVBvAr/zz66rU1oPQ/C654smvvfsGBazOpIxBapMfUo7D1Sf0wkVmiojX7Kqx6zc31NKQiuwl2tg1UYbbbTRxsbhchx32YymCeMcL7w9i8n5AjRFqoqfBLVXRpoQZIsmElGlaXxwaHR7xZOe0v6Lx+fw/Z+NIV+y0JPWIEki6U3GVCSiCpayOrrTEfzGPfvx4NNjWCkY6O2IIFe0qrybvdG3MOuuoHp7sBCiKtVJcaPkdTXR2zDmgtdAMkNiLE8lXJEoVFnCXTcNor87Vm3t556UqlBENRmM8w1vwIXFlLJEMDKQ8r3B3y1oJ9hXIC7HpGKtPo8bNZu0lZtuWNXYtBy/c+24wmuWI6w9JAo/iSVELK6G6bgzz2JwKChOJlFnXSIVa33tn3z2MCZmczg3nQMnwJ6daVw11FhpPQzB6y5LtCqA6O2MoqzbKLmLfjKmYKVgQpGIu7k4vsCI52vusRbCKrCXY2DVRhtttNFGGxvZNPHirPPzBRTLFoplC4Wy1dRl49o93ZdVPClTisGeOBzG0ZmsJNceiOuWUihbmF0u+40aVZEQUWXfuitbNKuaBZSQhurtVYWQvClm1ilgWetLXpsxF9JxBQtZw/1M4nw8QVjqJtj93THs7ktipD9VZ+2Xjin44bHJTW3A1caU6aSGG67uRzZbWrUBczmhnWBfobickor1+DxeToJuXmf+zHQWU/MFKK5lFXWp3wBAKIHEhf2WLAV+DiFmduSafgz3JfH9Z8cQiyoVhcbA4nsxIhVrfe3oQNoXMvN+tl40CiBGBpK+4MdXHj+JbNFCLCLDLjJXudz1NddkZArmu45+1EYbbbTRRhsb0TQJxlkRRUJZF5Ro02ZYyunoTkX8JLs2frqc4kmg9QbMck6HbTMoMkXZEzeTKUwINxlKCRgTI3wAXEXscPV2L4754YvnMbdS9n2w15O8NmMuGDZHPCLDsBw4jvB09UTaFIkiHqseAwyz2js42r3pBZOqJopMt80owUainWC3sa2xXp/Hy0XQLdiZL5Zt37+ZuJVH6s4Zc16h+HQkNUjuwu4wDsY4PnizECVTFElUUt9lCo2rBRDBBFxTpCofbBBcFiMQbbTRRhtttLEeXEySWxtnAUChbMG0HUiEwOHCbSSiydsmflrLyGAtWm3A6KaDkmGjoIsEmkCIm0VUyVcfB4Bc0US+ZEGRKdJxtU7vxcPBkS5cs7cbK0Ub03M5xDRp3cnraswFBuChp89iIaODcw5VltDf3Zj1GcTlVjDZrmgn2G1sa7Q6Sz0xmwMhpGqx3ajZpItZyJshWDGWJQrLdvzf+YJl3mdwOCQqlB49iwjOeR3t+XIoKqwXzRb92gQ8HpXBQVAqb3/KWhtttNFGG2vHZu3NVxrC4qxUXMVyThfUYohxtWLZgmmzLWWDhd3joABtKyODtWilAdOZUPHyOwt+LCZTAg7AtB2YluPrvxAixMXAK93+VExt2MyghOCqXR3oTigXTYderfFw8DKi7r8b0U6w29jWaIXKkyua+MpjJ1EoW3WL7cXOJq119rtV1FaM51fKAAEIb+xt7TBAlgRF3LSc0ELBlaISH4Z21bWNNtpo48rAZu3NVyLC4qyoJqMrJeynPGEvw3Kwa0diy65x2D1ORhVkiyYY5y2PDNZiNXE4TaEAIdAtG90pDct5Aw4Xtp+UwBeYFceqsAtlQmC589kHdndsSTOjWdzTjokuLdoJdhvbGqtReYplC2XDxlJWRyquhi62v//JG9ZVxWs0+z05X8D/fuQEPnTTIA6NdmHPYHrVY9UiWDH2fJopIXAaptcCjHPkCiZkmV606ncbbbTRRhttXG5Yjy5LG43RKM6KajIiLt1Ztxw88IG9GOhJoFS2MD6b29SOaNg9tiwHUwtFMM7Rm474n3W1kcEwNIuVbt7fi0demPDFzbpd1XTLZr41KCCSaw4Rl3mq4gSi433zgd53bTOjjdbQTrDb2NZoRuVhjCFbMEEIQXc60nA+e9/ujjW/b6PZb4dxmDZDoWzhoZ+N4YlXp7GzJ45fu+dq7O6JtXz8YMXY83oGGnevASAZVUAowS8fGcbeofSGqH630UYbbbTRxuWC9eqytNEYzeIsQFCfu5Mann97DrPLY5vOGGh0jxH4XLmShWikQsFuJC7W7D2iERl3H96FQtlCMqogGVexuy+J42PLVR39iCYjogkP8LJhi7iTEiRjCgzTgWUzMLgz2ooEmRL0pqMbek3auPzQTrDb2NZoRuXJFU1wDnQk1Ybz2ZPzBfzpV19BtmiuaVMIm0kqG0JVknEOiQiRMUoJJucL+J/feQOfuedAyx5+wYqxp57oFUa9SigASK7YGeMc8aiMsuGgryu26ubRpga10UYbbbTxbkOruiytJFltCKxGmaZEiJytFIwtYQw0useMCUVsiRBYNoNpOVUd91btV5uNF1BCmvpMA0LUDBAd/nRchWkzPx4EF02Yy1FMto2NRfhgaxttbCN4VJ6h3jgMy0GuYMKwHHSnI4hqEuLR8IXMcRiKZQtzrrJ0KqFCUyR/UzgxvtzwPf0Osyy+Ipxz5Ny5H4kQEEpACIFECTqSKsqGjYefGwfjzSneHryKcVG3obg+zR71yDuCsOAiYKjYP1yuKuBttNFGG220cbGo3ZtrIcsUjsNXTbLaqEajOGuwJ4Z0QgPjHB0JDarnVKJI6Eio0E0Hj7ww0XLs0woa3WNKiT/vDIiEO4hWnFI86vnUQqFhXBiMz3jNeXkdfgJAkUQcqCkSopoMVaYoGQ76u2KXrZhsGxuHdge7jcsCYbRnxoG/fujnDeezMwUTHEINc62zOrUVTDMwJ00I8bvN1E20k1EFM0vFlqvmtRXjmCYLFfHAWk6psMegBEjFlMteBbyNNtpoo402LgatWiy1C9FrR7M4aysZAw07yG4zwnRtOIPeya04paxlvKBZRz/pPlvZonXFicm20TraHew2Lht4tOdr93RjpD+Fkf7GVUbDtGHZDIpMfUsrw52fMW2GmCb5m0IYaiuYHjXJWzIdzv1jA6Kqaa+xah6sGIMAEVWGVLNhKBJBKqZCt7bWGqONNtpoo402thuadRe9JKvdQVw/auOsUnnrGQON7jEhBKm4ImIxNw5inMO0HGQK5qox0lrGCxp19Id64/jd+w/hd+8/FPq7rRbYY5xjfDaHt84tYXw2t6FMgjYuDu0OdhuXLZrPZ1sgBEi7FKag1QSB2BRkShpuCrXHVmXqqkOK5JoSIB1X/ddbNoO8jqr5geFORDQJ56Zz4AQYHUhhYjaHp9+Y+f+3d+9hUdV5/MDfZ27cQTAFV1DRFipTJAU0I9faLK20tn79upjlPqYl4q4bblmbbeU+uplpaWpuN7s9m1umllmuq6uulT/TNTURKW+gqyAiw3CZ2/n+/hiYGGYQznDmyvv1PDw+npk5fPlw+J7v53xvuGhyzPOBBK4CTkREXV5784X5IFpdnnqTLVb7z3OOAdVHDFzqd9xokZEQY0BCbARq6y2KdkrpyLavLedwt7dgbKAXk+VWdcGNCTaFtLa2WkjpHoXKi42w2wWMdWbIQkAjSdDAMQrbarXDCqCypqFD5/5fVR0AxyriBr0G3WIjnKtK2mUZDWY7+iTHKXpqfqnKce7DOVwFnIiIqBVuR+k/LVcYt9tlGOutsNpkAI4RA5IkIbVnrOojBtr7HXuT3HozvcDbfaZlIXzahuNWdcGPCTaFPE9PGVN7xmLxR/txtKwGQghom+ZKA44ebDscCffekkqMGtLbY8XXehuH6loztu07DZvsmI990VTXtC8iIGkk1DVYUXKyukOVGitHIiIi73A7Sv9o7k3+2+eHUVnTCMCxijccC2ZDFgI1JrNL26c5uaw329E72YrEGO9SjfZ+x0rnfF9qO7KOzOHuqEt1ngy6/LJOnRvgVnWhggk2BbWOPgX09CRxWGZPlJyqaVo3THL82zTEW6txzG1ua3GOtirIXw9Lxe7iCpSdM0HA8fTWoNcgPkaP6lpzh5JjVo5ERESdw+0ofadl2ys6So/4aD1qm4ZOywAk4WizxMfo0WiRnW2WkpPVLm0ng16L5MQojM3r41WngZq/Y39ML2iv8+S3Wg1GJsZ06ufgVnWhgQk2Ba3Ozi/p0S0KURFa2OwybHbhXKHboNMgIcYAg0ELo8niNg/7UhVk5cUGREXoEBWhRXSkDlqtBhF6DfQ6LawRdlTXtp8cs3IkIiKiYNS67SUA1DdaER+jR4RB55x/bWjqBdZq7Dh7oR7b95/GV/+vzNl20kdrIARQVmEKmpF5vpxe0JHOk8+/PoERQ1I79TMonUtOgcEEm4KSGkOoY6P1iDBoEa93LEbmvCm0WKij9Xyb9irIqppGVNea0aNblPM8zTlyR5NjY51jxUmdRoKl6dwtsXIkIiIif/PU9qprWkm8tt4Kvc6x53NLOp3jPdv3n3FpO0mS47VucYYOdT74i6+mF3Sk8+R/VXU4droG3WO9XxTOF1vV+XrOeFfEBJuCjlpDqFvOt+kWa+jQfJv2KsgIvRb1ZvftQZq1lxwXn7iA9f85joZGGxoabZAkCfqmHvXIppsW9/EkIiIif2qr7RWh10KSHJ0UxjrHdlgt20c2mwxIaBp2HRoj83wxvaCjPcvGOkunEmy155JzNXLf4D7YFHSUDKG+lOb5NpEGLS6aLI6tJdrZM7G2zgKLxQ6rXYbZandLpPV6x5+MpWkVzdYulRw3Pxk+X9Pg3FNSajpXlbERjU2JO/fxJCIiIn9qq+1l0Gth0GsdO7DYZJf2T3ObpVtsBAD4db9sNamxn3TLnmVPbE3buca32OLVG960bdvS3C4trzQhQq9FfKwBEXqtc7Ro8YkLnSprVxbwHmxZlrFs2TL84x//QG1tLXJycjB37lykpaW1+7mpU6ciKysLhYWFLq+NGTMGJ0+edDl25513YsGCBaqXn9Sn5vwSJfNtik9cwPpdx1HXaENdo80xvEmrQUKsAdGRjoRZAqDVSDBb7IiNEh1+ctjyyXBiXCQaLXZcMDY6tw+zywLVtWZERmgRadBxH08iIiLym0u1vRJiDDhf0+BI5Cx26FstDjYq6xfY+O1JVYct+4taPbgd6Vnu0zMW/XsnoKamvlNlVmMuuZLRogA4hFyhgCfYy5cvx4cffogFCxYgJSUFCxcuxJQpU/DZZ5/BYPD8lMdisWDu3LnYuXMnsrKyXF6rr69HWVkZXn/9dQwcONB5PDIy0qc/B6lH7fklHZlv0/wUz9RgAeBYD00IR+9y5cVGdIuVER9jcGw7cVkMGix25yqUer0GZovdOXTKU3Lc+slwVIQOSfGRMNZZYLXJkADY7DIuS4jBXdcP4LAcIiIi8ptLtb0iI3RIiImAsd4CmyzDaLK47Uu992ilz7fAUpuaW6Z2ZJXy267tB41GncS0s3PJOzpadPv+09hbUskh5AoFNMG2WCx46623UFRUhF/96lcAgMWLFyM/Px+bN2/Gbbfd5vaZffv2Ye7cuWhsbER8vPv8iR9//BGyLCM7OxsJCQm+/hHIB3yxV+Gl5ts0P8UzNVhgsTrmEqHV6KCLJsfCZHHRBtwz+nIAcHlyaNBrkdYzts2tKDw9GY6K0CHSoIXFJsNml9HYaMOEkemssIiIiMiv2mt72WSBjLRuuGtUf9Q12NwSutbJZUc6HwLJF1umttezfFW6uu27zswl78hoUWOdBZ/tOgFZiE4/gOhqAppgHzlyBHV1dRgxYoTzWHx8PK666irs2bPHY4K9fft25Ofno6CgAOPHj3d7vaSkBJdddhmT6xDmj70KWzp1rhb/q6qDzS4gCwGdxrFntl0WaDkNRwhg0pgMZ2XS/OSw3mxH7+R4JMboINs9z9tp68lw88JpEgDZoEVcJ+fm+ANXmyQiIgovHW17pffy3L72lFy21/kQSL7aMtVXq5R3hJL2WXujRa1WO8xWOwCge0KkKg8gupKAJthnz54FAPTq1cvleM+ePZ2vtTZr1qxLnrOkpATR0dGYOXMm9u3bh8TERNx1112YNGkSNBqu6RYqfLlXYWumeiusVhl2u2M+tCRJkABotBKEAAQE7HYBvVaD6Kifh6U3PznU6TRITIxBdXUd5NZd30180SsfCFxtkoiIKDx1tu3VMrnsSOdDIPlyP2lfrFLeHqXts/bapbVNP3d8jCEkVoYPNgFNsBsaGgDAba51REQEampqvDpnaWkpjEYjbr75ZhQUFGDv3r1YuHAhampq8Lvf/a5T5W1rdcRwptVqXP71p0GXX4aBA7rj5Nla1NZbERetR98U758CykJ4PFdCXAQkjQQhHPtko8XpJQmAkCBJAgJAvdnudh10NEbjR6bj7S+KUWOyICaqxZPhBhuiDFqMH5nu8SlisDh8/ALe/aoEjRa7S/lPV9bh3a9KMHnclW0OfwrkdRQqGKP2MUbtC4YYhcu9MhhiGWwYE3fhFhM12l6Xp3aDVqtBfHwUjMYG2CXPK2sHUkJcBHRaCXa7DK2Htpe9adXvhLgIaLSSKm1RX10r3rbPLtUu1TfV43q9Bp5+VL3e8QDCU7tYiXD7+2kW0AS7eeExi8XisgiZ2WxGVFSUV+f829/+BrPZjLg4R09gZmYmTCYTVqxYgcLCQq97sTUaCYmJMV59NhzEx3v3+1BD96TYTp/j+9JKfLy1FKcrTLDZZei0GvTuGYu7b/glhlyRgl6XxaC07CIAQGqZYUPALgvodVpERugcT2PbuA7ai9HIxBjExkU6y9FgtkKn1SC9dwLuvuGXyPplj07/nL4iywJf7vkeZquMy7q1GCqk0yIqQocqoxlf7inDiCGpl1zAI5DXUahgjNrHGLUvUDEKx3slrzd3jIm7cIuJGm0vIHjjkpAQjbSU4zjxPyOiInRuPbj1Zjv69YqHpNNiyT8OeGw/ettuUzMmnWmfXapdOmJQL3z8r1II4fmhqdlih0GvvWS7WIlgvU68FdAEu3loeEVFBfr06eM8XlFRgczMTK/OaTAY3HrEMzIyUF9fj5qaGiQmJnp1XlkWMBo7t6x+KHJ5AmkPvieQHXH4+AW8/UWx88leVKQeNpuM46drsPSj/2LyuCtx53XpWLzme1htMrRaGRrJMQ9blgUAAZ1WQkpiFBJjdKiurnM5v5IY9bksGr//P4M9Pgltfd5gcvx/RpSdNSI6Ugt7U0xaio7QouysEfuPnEV6L/ehQuFwHfkaY9Q+xqh93sQoPj5Ktd6DcLpX8npzx5i4Y0w8C4W43JKThre/KMb5i41uPbiRBi2uSOuG19bsv2T7UcnCZb6ISWfbZ221SwFg575ylFWY0C3O4PYAwlhnQVrPWI/tYiVC4TpppuReGdAE+4orrkBsbCx2797tTLCNRiMOHz6MiRMnKj6fEAI33XQT7rjjDsyYMcN5/ODBg+jRo4fXyXWztjaP7wrsdjkkf35ZCGzYdRwNrVaJ1Ou0SIh1LNKwYddx/OH/DsEd+en4dOdx2GwyZMlRQem0Gui1WsRE6TE2rw9ku2hznrWSGKX1+PnJ8KXOGSxqas2w2QWitRqXhd+aabUa2Ow2x/t6tB2DUL2O/Ikxah9j1L5Axijcfje83twxJu4YE8+COS4Zad0wqcWcc3uDY8557x4xGDu8LzZ9e7Ld9uPlqQmKh4urGRO12met26UAMDavD1Z/VYLqWs+L3rXXLlYimK8TbwQ0wTYYDJg4cSJeeuklJCUloXfv3li4cCFSUlIwZswY2O12XLhwAXFxcR3ax1qSJNx0001488030b9/f1x99dX45ptv8MYbb+Dpp5/2w09EwUbJKpG35PVFWnIcPt3xEyovNkIIAYNOi5TuXMRL7b3JiYiIiAKtrVW/fbXKuNp82T7z54LD4SagCTYAzJw5EzabDX/605/Q2NiInJwcvPnmm9Dr9SgvL8eNN96I+fPn4ze/+U2Hzvf4448jNjYWL7/8Ms6ePYvU1FQ8/fTTuOeee3z8k1AwUrpK5MB+SbgyQNsrBLNwWQWdiIiIqCVPq377cpVxNfm6fRbIbcdCWcATbK1Wi9mzZ2P27Nlur6WmpqKkpKTNz27dutXtmE6nQ0FBAQoKClQtJ4Umb57sBWJ7hWDn773JiYiIiAIlVEbu+aN9xnaxcuG1JjpRK81P9uoabRCtJqc0P9lLSYpmz2sHNA8VSu0RA7PVDqPJArPVjtQeMXjo5sygGCokC4ETZ404dKwKJ84aIXuakEREREQ+0XwfPvBTFX4suxiy9+FQaj+GQvusqwl4DzaRL7HnVV3BPFSo+MSFnxcqsQtotRJSkjh/noiIyB9a34cNei2SE6MwNq9PyN2HQ639GMzts66IPdgU9vhkT13NQ4Wu7t8d/VLig6LyLj5xAau/KkF5pQkRei3iYw2I0GtRXlmH1V+VoPjEhUAXkYiIKGy1vg8nxBkQGaFFWYUpZO/DodZ+DMb2WVfFHmzqEvhkL3zJQmDjtyfR2GorDYNeC73OsZXGxm9PIrNvIn/fREREKvN0H5Ykx0Jg3eIMqK4N3fsw24/kDSbY1GVwkYbwFCpbaRAREYWjcL8Ps/1ISnGIOBGFNOdWGrq2t9Kw20XAt9IgIiIKR7wPE7ligk1EIa3lVhqeBMtWGkREROGI92EiV0ywiSikhdJWGkREROGG92EiV0ywiSikNW+lEWnQ4qLJAovVDlkIWKx2XDRZgm4rDSIionDS1n3YbLHjYi3vw9T1MMEmopAXaltpEBERhZPW9+GaWgsaLXak9YzlfZi6HK4iTkRhgVtpEBERBU7L+3C92Y7eyfFIjNFBtov2P0wURphgE1HY4FYaREREgdN8H9bpNEhMjEF1dR1kMMGmroVDxImIiIiIiIhUwASbiIiIiIiISAVMsImIiIiIiIhUwASbiIiIiIiISAVMsImIiIiIiIhUwASbiIiIiIiISAVMsImIiIiIiIhUwASbiIiIiIiISAVMsImIiIiIiIhUwASbiIiIiIiISAVMsImIiIiIiIhUIAkhRKALEQqEEJDlrhkqrVYDu10OdDGCGmPUPsaofYxR+xij9imNkUYjQZIkVb53uN0reb25Y0zcMSaeMS7uGBN3oRITJfdKJthEREREREREKuAQcSIiIiIiIiIVMMEmIiIiIiIiUgETbCIiIiIiIiIVMMEmIiIiIiIiUgETbCIiIiIiIiIVMMEmIiIiIiIiUgETbCIiIiIiIiIVMMEmIiIiIiIiUgETbCIiIiIiIiIVMMEmIiIiIiIiUgETbCIiIiIiIiIVMMEmIiIiIiIiUgET7C5OlmW8+uqryM/Px5AhQ/DII4+grKyszfeXlpZi6tSpyMvLw4gRIzBz5kycOXPGjyX2P6Ux+uGHH/DQQw8hOzsbw4cPx9y5c1FbW+vHEvuf0hi1tGHDBmRmZqK8vNzHpQwspTFqjkvrr3COk9IYWa1WLFq0yPn+iRMnori42I8l9j8lMVq6dKnHaygzMxNz5szxc8mDD+t2d6zL3bHu9oz1tTvWz+6UXidVVVV4/PHHMXz4cOTl5WHWrFk4d+6cH0usEkFd2tKlS0VeXp7Ytm2bKC4uFr/97W/FmDFjhNlsdnvvhQsXxMiRI0VhYaEoKSkRBw8eFA888IAYO3asaGxsDEDp/UNJjCorK0VOTo6YM2eOOHbsmNi7d68YN26cmD59egBK7j9KYtRSeXm5GDp0qMjIyBBlZWV+Km1gKI3Riy++KCZOnCgqKipcvmw2m59L7j9KY/TUU0+Ja6+9VuzYsUP8+OOPorCwUIwcOVIYjUY/l9x/lMTIZDK5XT9//etfxZAhQ8SRI0cCUPrgwrrdHetyd6y7PWN97Y71szul18nEiRPFvffeKw4fPix++OEHcc8994i77rrLz6XuPCbYXZjZbBbZ2dnigw8+cB6rqakRgwcPFp999pnb+9esWSOys7NFQ0OD89iZM2dERkaG+Prrr/1SZn9TGqP9+/eLWbNmCavV6jz2zjvviKysLH8UNyCUxqiZ3W4X9913n5g0aVJYNspa8iZGU6ZMES+88IK/ihhwSmN06tQpkZmZKbZt2+by/tGjR7M+asMPP/wgBg4cKNauXevLYoYE1u3uWJe7Y93tGetrd6yf3SmNSU1NjcjIyBD/+te/nMe2bNkiMjIyRHV1tT+KrBoOEe/Cjhw5grq6OowYMcJ5LD4+HldddRX27Nnj9v4RI0Zg+fLliIyMdB7TaByXkNFo9H2BA0BpjLKysvDyyy9Dp9MBAH766SesX78eI0eO9FuZ/U1pjJqtXLkSVqsV06ZN80cxA8qbGJWUlGDAgAH+KmLAKY3Rrl27EBcXh+uvv97l/Vu3bnU5Rzjx9m+t2fPPP49hw4bhzjvv9GUxQwLrdnesy92x7vaM9bU71s/ulMYkMjISMTExWLduHUwmE0wmE9avX4/09HTEx8f7s+idpgt0AShwzp49CwDo1auXy/GePXs6X2spNTUVqampLsdWrVqFyMhI5OTk+K6gAaQ0Ri3dfPPNOHHiBHr37o1ly5b5rIyB5k2MDhw4gLfeegsff/xxaM6tUUhpjGpqanDu3Dl89913+PDDD1FdXY3Bgwdj9uzZSE9P90uZ/U1pjI4fP460tDRs3rwZq1atwrlz53DVVVfhySefDNvGbWfqo23btuG///0v1q1b56vihRTW7e5Yl7tj3e0Z62t3rJ/dKY2JwWDAggULMHfuXAwbNgySJKFnz554//33nR16oSK0SkuqamhoAOC4oFuKiIiA2Wxu9/Pvvfce3n//fRQVFSEpKcknZQy0zsTopZdewnvvvYfu3btj0qRJqKur81k5A0lpjOrr61FUVISioiL069fPH0UMOKUxKi0tBQAIITB//nwsWbIEZrMZ999/P86fP+/7AgeA0hiZTCacPHkSy5cvxx/+8AesWLECOp0O999/P6qqqvxSZn/rTH309ttvY/To0bjyyit9Vr5QwrrdHetyd6y7PWN97Y71szulMRFCoLi4GNnZ2fjggw+wevVq/OIXv8D06dNhMpn8Uma1MMHuwpqHelssFpfjZrMZUVFRbX5OCIElS5Zg3rx5eOyxx/Dggw/6tJyB5G2MAGDQoEHIzc3FsmXLUF5ejn/+858+K2cgKY3RvHnzkJ6ejnvvvdcv5QsGSmM0bNgwfPPNN1i0aBGuvvpqDBs2DMuWLYMsy1i7dq1fyuxvSmOk0+lgMpmwePFiXHfddRg8eDAWL14MAPj00099X+AA8LY+OnPmDHbv3o377rvPp+ULJazb3bEud8e62zPW1+5YP7tTGpNNmzbh/fffx8KFCzF06FDk5uZi5cqVOH36ND7++GO/lFktTLC7sOYhGxUVFS7HKyoqkJyc7PEzVqsVs2fPxsqVKzFnzhz8/ve/93UxA0ppjI4dO4Z///vfLseSk5PRrVu3sBw+ByiP0SeffIKvv/4a2dnZyM7OxiOPPAIAuO2227By5UrfFzgAvPlbS0pKgiRJzv9HRUUhNTWV11GTlJQU6HQ6l+GFkZGRSEtLC7vtcJp5cx0BwJYtW5CUlBRW84U7i3W7O9bl7lh3e8b62h3rZ3dKY/Ldd98hPT0dsbGxzmMJCQlIT0/HyZMnfVtYlTHB7sKuuOIKxMbGYvfu3c5jRqMRhw8fbnNO9R//+Ed8+eWXWLRoER5++GE/lTRwlMbo66+/xsyZM10WfTt16hSqq6vDZp5Ra0pjtHnzZnz++edYt24d1q1bh3nz5gFwzOcP154QpTH66KOPkJeXh/r6eucxk8mEEydO4PLLL/dLmf1NaYxycnJgs9lw8OBB57HGxkaUlZWhb9++fimzv3lTZwOORktubq5zgS5i3e4J63J3rLs9Y33tjvWzO6UxSUlJwcmTJ12Gj9fX16O8vDz0pqEEdhFzCrSXX35Z5Obmii1btrjsT2exWITNZhMVFRXObbk++eQTkZGRId544w23vftabt0VbpTEqLq6WuTn54upU6eKo0ePij179ogJEyaIu+++O+z2wGxJSYxa+/bbb8NuaxdPlMTozJkzYtiwYaKgoEAcPXpUHDhwQDz88MPi17/+dVjvOa/0Onr44YfF2LFjxZ49e0RpaakoLCwUI0aMEFVVVQH8KXzLm7+1G2+8USxfvjxAJQ5erNvdsS53x7rbM9bX7lg/u1MSk3Pnzonc3Fzx6KOPiuLiYlFcXCymTZsm8vPzQ26/dCbYXZzNZhMvvviiGD58uBgyZIh45JFHnDfHsrIykZGRIT755BMhhBCTJ08WGRkZHr+a3xOOlMRICCGOHTsmpk6dKoYOHSpyc3PFnDlzRE1NTaCK7xdKY9RSuDbKWlMao0OHDonJkyeLoUOHimuuuUYUFhaKM2fOBKr4fqE0RrW1teLZZ58VeXl5IisrS0yePFmUlpYGqvh+4c3f2uDBg8WHH34YiOIGNdbt7liXu2Pd7Rnra3esn90pjcmPP/4opk2bJnJzc8Xw4cPFjBkzQrJOkYQQItC96EREREREREShjnOwiYiIiIiIiFTABJuIiIiIiIhIBUywiYiIiIiIiFTABJuIiIiIiIhIBUywiYiIiIiIiFTABJuIiIiIiIhIBUywiYiIiIiIiFTABJuIiIiIiIhIBUywiYiIiIjIo7Vr1yIzMxPl5eWBLgpRSGCCTURERERERKQCJthEREREREREKtAFugBE1PXccMMNuOOOO9DQ0ID169fDZDIhJycHzzzzDPr164cnn3wSZ8+exe23345Vq1bh9OnTGDBgAB5//HFcf/31gS4+ERGR0zPPPIOtW7dix44d0Gq1zuN/+ctfsGHDBvznP//B9u3b8dZbb6G4uBhWqxWpqal48MEH8cADDyj6XpmZmXjmmWdw8OBBbN68GVFRUbj11ltRVFSEiIgIAMCDDz6I5ORkWCwW7NixA9nZ2Xj77bdhNpvxyiuvYOPGjaiqqkJ6ejoee+wxjBs3znl+WZaxcuVKrFmzBtXV1Rg5ciRycnLUCRRRF8EebCIKiHfffRfHjh3D/PnzMW/ePBw6dAhPPPGE8/VDhw7hzTffxMyZM/Haa69Bq9WisLAQNTU1ASw1ERGRqwkTJuD8+fPYvXu385gsy9i0aRNuvfVW7Nq1CwUFBRg4cCCWL1+OpUuXIi0tDc8//zy+//57xd/vlVdeQVVVFZYsWYIpU6bgo48+crl/AsCmTZsQExODFStWYMqUKRBCoKCgAH//+98xefJkrFixAtnZ2Zg1axbWrVvn/NzChQvx2muv4e6778ayZcvQrVs3LFq0yOvYEHVF7MEmooCIj4/H8uXLnU/7T506haVLl6K6uhoAUFtbi7Vr16JPnz4AgOjoaEycOBHffvstbr755oCVm4iIqKWhQ4eid+/e+Pzzz3HttdcCAHbv3o3KykpMmDABe/bswZ133omnn37a+Zns7Gzk5eVh9+7dyMrKUvT9kpKSsHLlSuh0OowaNQoajQbz589HYWEhBgwYAADQ6/V47rnnYDAYAAC7du3Czp07sXjxYmePdX5+PhoaGvDSSy/htttuQ319Pd577z1MnjwZM2bMcL6noqICO3fu7HSciLoK9mATUUAMGjTIZShdSkoKAKChoQGAowHRnFx7ep2IiCgYSJKE8ePHY8uWLbBYLACAjRs3ol+/fsjKysKUKVOwYMEC1NXV4dChQ/jiiy/w+uuvA4Dz/Urcfvvt0Ol+7iNrfui8Z88e57H+/fs7k2sA+OabbyBJEkaNGgWbzeb8uuGGG1BZWYnS0lLs378fVqsVo0ePdvl+Y8eOVVxGoq6MPdhEFBBRUVEu/9doHM/7ZFn2+LokSS6vExERBYsJEyZgxYoV2LlzJ/Lz87F582Y89NBDAIALFy7g2WefxZYtWyBJEvr27Ythw4YBAIQQir9XcnKyy/+7d+8OAC5TqGJiYlzec/HiRQghcM0113g8Z0VFBYxGIwAgMTHR5bUePXooLiNRV8YEm4iIiIioE9LT0zF48GBs2rQJGo0GRqMR48ePBwAUFRXh2LFjeOedd5CdnQ2DwYCGhgasWbPGq+/VPJWq2fnz5wE4Rn61JS4uDtHR0Xj33Xc9vt63b18cOHAAAFBVVYX+/fs7X7t48aJX5STqqjhEnIiIiIiokyZMmICdO3di48aNuOaaa5CWlgYA2Lt3L8aMGYO8vDznsO0dO3YA8G5U1tatW13+/9VXX0GSJAwfPrzNz+Tm5qK+vh5CCAwaNMj5dfToUbz22muw2WzIzs5GZGQkvvzyS5fPbtu2TXEZiboy9mATEREREXXSuHHjsGDBAnzxxRd49tlnnccHDx6Mzz77DAMHDkRKSgr27duHVatWQZIkr9YV2b9/P4qKijBhwgQcOXIES5cuxT333ONM6D0ZNWoUcnJyMH36dEyfPh0DBgzAgQMH8OqrryI/P9/Z+z19+nQsWbIEUVFRGD58OLZv384Em0ghJthERERERJ2UlJSE6667Drt27cItt9ziPL5gwQK88MILeOGFFwAA/fr1w3PPPYcNGzbgu+++U/x9HnroIZw7dw4zZsxAYmIiHn30UUybNu2Sn9FoNFi1ahVeeeUVvP7666iqqkJycjImT56MgoIC5/umTZuG6OhorF69GqtXr0Z2djaeeOIJ/PnPf1ZcTqKuShLerK5ARERERER+lZmZiRkzZqCwsDDQRSGiNrAHm4iIiIgoQGRZ7tBc7JZbcxFR8OJfKhERERFRgDz11FP49NNP231fSUmJH0pDRJ3FIeJERERERAFSXl7utvWWJ4MGDfJDaYios5hgExEREREREamA+2ATERERERERqYAJNhEREREREZEKmGATERERERERqYAJNhEREREREZEKmGATERERERERqYAJNhEREREREZEKmGATERERERERqYAJNhEREREREZEK/j9/zSdkMbRJcwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot uncertainty as a function of nn or true label in a trellis for overview.\n", "fig, ax =plt.subplots(1,2, figsize=(10, 5), sharey=True)\n", "sns.regplot(data=df,y='va_uncert',x='nn', ax=ax[0])\n", "sns.regplot(data=df,y='va_uncert',x='va_pred', ax=ax[1]).set_ylabel(\"\")\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to the findings in the referenced scaling evaluation paper above, the lower and upper probability boundary intervals are shown to produce large discordance for test set molecules that are neither very similar nor very dissimilar to the active training set, which were hence difficult to predict." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ensemble uncertainty (ChemProp Only)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Training a ChemProp model with `ensemble_size` >1 will enable uncertainty estimation based on the implementation in the original ChemProp package, using the deviation of predictions from the ensemble of models trained with different random initialisation of the weights. This can be done like so:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:28:43,031] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:28:43,079] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__fd833c2dde0b7147e6516ea5eebb2657': 'ReLU', 'aggregation__fd833c2dde0b7147e6516ea5eebb2657': 'mean', 'aggregation_norm__fd833c2dde0b7147e6516ea5eebb2657': 100, 'batch_size__fd833c2dde0b7147e6516ea5eebb2657': 50, 'depth__fd833c2dde0b7147e6516ea5eebb2657': 3, 'dropout__fd833c2dde0b7147e6516ea5eebb2657': 0.0, 'features_generator__fd833c2dde0b7147e6516ea5eebb2657': 'none', 'ffn_hidden_size__fd833c2dde0b7147e6516ea5eebb2657': 300, 'ffn_num_layers__fd833c2dde0b7147e6516ea5eebb2657': 2, 'final_lr_ratio_exp__fd833c2dde0b7147e6516ea5eebb2657': -4, 'hidden_size__fd833c2dde0b7147e6516ea5eebb2657': 300, 'init_lr_ratio_exp__fd833c2dde0b7147e6516ea5eebb2657': -4, 'max_lr_exp__fd833c2dde0b7147e6516ea5eebb2657': -3, 'warmup_epochs_ratio__fd833c2dde0b7147e6516ea5eebb2657': 0.1, 'algorithm_name': 'ChemPropClassifier', 'ChemPropClassifier_algorithm_hash': 'fd833c2dde0b7147e6516ea5eebb2657'}\n", "[I 2024-10-02 17:39:21,822] Trial 0 finished with value: 0.65625 and parameters: {'algorithm_name': 'ChemPropClassifier', 'ChemPropClassifier_algorithm_hash': 'fd833c2dde0b7147e6516ea5eebb2657', 'activation__fd833c2dde0b7147e6516ea5eebb2657': , 'aggregation__fd833c2dde0b7147e6516ea5eebb2657': , 'aggregation_norm__fd833c2dde0b7147e6516ea5eebb2657': 100.0, 'batch_size__fd833c2dde0b7147e6516ea5eebb2657': 50.0, 'depth__fd833c2dde0b7147e6516ea5eebb2657': 3.0, 'dropout__fd833c2dde0b7147e6516ea5eebb2657': 0.0, 'ensemble_size__fd833c2dde0b7147e6516ea5eebb2657': 5, 'epochs__fd833c2dde0b7147e6516ea5eebb2657': 4, 'features_generator__fd833c2dde0b7147e6516ea5eebb2657': , 'ffn_hidden_size__fd833c2dde0b7147e6516ea5eebb2657': 300.0, 'ffn_num_layers__fd833c2dde0b7147e6516ea5eebb2657': 2.0, 'final_lr_ratio_exp__fd833c2dde0b7147e6516ea5eebb2657': -4, 'hidden_size__fd833c2dde0b7147e6516ea5eebb2657': 300.0, 'init_lr_ratio_exp__fd833c2dde0b7147e6516ea5eebb2657': -4, 'max_lr_exp__fd833c2dde0b7147e6516ea5eebb2657': -3, 'warmup_epochs_ratio__fd833c2dde0b7147e6516ea5eebb2657': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: 0.65625.\n" ] } ], "source": [ "# Start with the imports.\n", "import sklearn\n", "from optunaz.three_step_opt_build_merge import (\n", " optimize,\n", " buildconfig_best,\n", " build_best,\n", " build_merged,\n", ")\n", "from optunaz.config import ModelMode, OptimizationDirection\n", "from optunaz.config.optconfig import (\n", " OptimizationConfig,\n", " ChemPropHyperoptRegressor,\n", " ChemPropHyperoptClassifier\n", ")\n", "from optunaz.datareader import Dataset\n", "from optunaz.descriptors import SmilesFromFile\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropClassifier.new(epochs=4, ensemble_size=5), #epochs=4 to ensure run finishes quickly\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " chemprop_model = pickle.load(f)\n", "\n", "# add chemprop uncertainty & prediction to the df \n", "df[\"cp_pred_ensemble\"], df[\"cp_uncert_ensemble\"] = chemprop_model.predict_from_smiles(df[config.data.input_column], uncert=True)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot uncertainty as a function of nn or true label in a trellis for overview.\n", "fig, ax =plt.subplots(1,2, figsize=(10, 5), sharey=True)\n", "sns.regplot(data=df,y='cp_uncert_ensemble',x='nn', ax=ax[0])\n", "sns.regplot(data=df,y='cp_uncert_ensemble',x='cp_pred_ensemble', ax=ax[1]).set(ylabel='')\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to the VA uncertainty, the largest ensemble uncertainty is observed for test set molecules that are neither very similar nor very dissimilar to the active training set, which are hence difficult to predict. Larger uncertainty is also seen toward the midpoint of the ChemProp predictions, for cases when the probabilistic output from models is also neither very high nor very low." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ChemProp dropout uncertainty" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ChemProp uncertainty based on dropout is available for single model and not an ensemble (i.e. when ChemProp is provided with `ensemble_size=1`. It is based on the implementation in the [original ChemProp package](https://github.com/chemprop/chemprop#uncertainty-estimation)\n", "\n", "The method uses Monte Carlo dropout to generate a virtual ensemble of models and reports the ensemble variance of the predictions.\n", "\n", "Note that this dropout is distinct from dropout regularization used during training, which is not active during predictions.\n" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 17:53:06,941] A new study created in memory with name: my_study\n", "[I 2024-10-02 17:53:07,009] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__c73885c5d5a4182168b8b002d321965a': 'ReLU', 'aggregation__c73885c5d5a4182168b8b002d321965a': 'mean', 'aggregation_norm__c73885c5d5a4182168b8b002d321965a': 100, 'batch_size__c73885c5d5a4182168b8b002d321965a': 50, 'depth__c73885c5d5a4182168b8b002d321965a': 3, 'dropout__c73885c5d5a4182168b8b002d321965a': 0.0, 'features_generator__c73885c5d5a4182168b8b002d321965a': 'none', 'ffn_hidden_size__c73885c5d5a4182168b8b002d321965a': 300, 'ffn_num_layers__c73885c5d5a4182168b8b002d321965a': 2, 'final_lr_ratio_exp__c73885c5d5a4182168b8b002d321965a': -4, 'hidden_size__c73885c5d5a4182168b8b002d321965a': 300, 'init_lr_ratio_exp__c73885c5d5a4182168b8b002d321965a': -4, 'max_lr_exp__c73885c5d5a4182168b8b002d321965a': -3, 'warmup_epochs_ratio__c73885c5d5a4182168b8b002d321965a': 0.1, 'algorithm_name': 'ChemPropClassifier', 'ChemPropClassifier_algorithm_hash': 'c73885c5d5a4182168b8b002d321965a'}\n", "[I 2024-10-02 17:55:19,174] Trial 0 finished with value: 0.46875 and parameters: {'algorithm_name': 'ChemPropClassifier', 'ChemPropClassifier_algorithm_hash': 'c73885c5d5a4182168b8b002d321965a', 'activation__c73885c5d5a4182168b8b002d321965a': , 'aggregation__c73885c5d5a4182168b8b002d321965a': , 'aggregation_norm__c73885c5d5a4182168b8b002d321965a': 100.0, 'batch_size__c73885c5d5a4182168b8b002d321965a': 50.0, 'depth__c73885c5d5a4182168b8b002d321965a': 3.0, 'dropout__c73885c5d5a4182168b8b002d321965a': 0.0, 'ensemble_size__c73885c5d5a4182168b8b002d321965a': 1, 'epochs__c73885c5d5a4182168b8b002d321965a': 5, 'features_generator__c73885c5d5a4182168b8b002d321965a': , 'ffn_hidden_size__c73885c5d5a4182168b8b002d321965a': 300.0, 'ffn_num_layers__c73885c5d5a4182168b8b002d321965a': 2.0, 'final_lr_ratio_exp__c73885c5d5a4182168b8b002d321965a': -4, 'hidden_size__c73885c5d5a4182168b8b002d321965a': 300.0, 'init_lr_ratio_exp__c73885c5d5a4182168b8b002d321965a': -4, 'max_lr_exp__c73885c5d5a4182168b8b002d321965a': -3, 'warmup_epochs_ratio__c73885c5d5a4182168b8b002d321965a': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: 0.46875.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt_gt_330\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " ChemPropClassifier.new(epochs=5), #ensemble_size not supplied (defaults back to 1) \n", " #to ensure uncertainty will be based on dropout\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " chemprop_model = pickle.load(f)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# add chemprop uncertainty & prediction to the df \n", "df[\"cp_pred_dropout\"], df[\"cp_uncert_dropout\"] = chemprop_model.predict_from_smiles(df[config.data.input_column], uncert=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to previous findings using ensembling, the dropout approach toward uncertainty shows largest uncertainty for marginal cases neither similar not dissimilar to training, and with proabilities toward the midpoint (0.5):" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9cAAAHkCAYAAAA0BtwDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxkVZ03/s+5W61Zu9Md6NALDXTToGArmziyqMAAM4MOij4/hWEet3Fh1BGXeXwc90FhcEBkeHREwFlEQUChEcYNVGxAVrEbBLqTXrN0lqrUerfz++PWvV2VVCWVqkqlkv68X+MASaVy6lblnvM953u+R0gpJYiIiIiIiIioZspCN4CIiIiIiIhosWNwTURERERERFQnBtdEREREREREdWJwTURERERERFQnBtdEREREREREdWJwTURERERERFQnBtdEREREREREdWJwTURERERERFQnBtdEREREREREddIWugFLhZQSrisXuhlNpyjikHzd1eC1qYzXpjJem8p4bSqb67VRFAEhxDy2aHZSeu3le9oc/PtpDl7n5uG1bh5e6+r7TQbXDeK6EmNj6YVuRlNpmoKurhiSyQxs213o5rQUXpvKeG0q47WpjNemslquTXd3DKq6sMG160qoqsL3tAn499McvM7Nw2vdPLzWnmr7TaaFExEREREREdWJwTURERERERFRnRhcExEREREREdWJwTURERERERFRnRhcExEREREREdWJwTURERERERFRnRhcExEREREREdWJwTURERERERFRnRhcExEREREREdWJwTURERERERFRnRhcExEREREREdWJwTURERERERFRnbSFbgARLV2ulNg1NIlUxkI8qmP1yraFbhIRERERVcGVEjv3J7FzKA24DlYtj0ERYqGb1dIYXBPRvNjeP4b7tg5gcCwDx5FQVYHe7ij+8vR1OL0rttDNIyIiIqIK/HHc0FgGrgQUAazsjuKCU9fg2LXdC928lsW0cCJquO39Y7j1gRewZySFkK6iPW4gpKvYM5LGd7dsxzMvjix0E4mIiIiojJJxnKGiqy2EkOGN42594AVs7x9b6Ca2LAbXRNRQrpS4b+sAcqaNzngIhq5CEQKGrqIzbiBnOrjjFy/ClXKhm0pERERERcqO45TScdx9Wwc4jquAwTURNdSuoUkMjmUQC+sQU/blCCEQi2jY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aGlY8J3pV1xxBS6++GJ85jOfwTve8Q6oqorvfOc70HUd+/fvx+te9zps2bIFgLc/64YbbkBfXx8uu+wyfOQjH8HrX/96fO5znwue73Wvex2+8pWv4L//+7/x5je/GVu3bsVNN91UcnwXERERERERUSMJKf3ELKqH47gYG0svdDOaStMUdHXFMD6eZprIFLw2lfHaVMZrUxmvTWW1XJvu7tiC77l2HBeqqvA9bQL+/TQHr3Pz8Fo3D6+1p9p+c8FXromIiIiIiIgWOwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHVicE1ERERERERUJwbXRERERERERHXSFroBRETFXCmxa2gSqYyFeFTH6pVtUIRY6GYRERERLSiOkVofg2uiOpW70VFttveP4b6tAxgcy8BxJFRVoLc7igtOXYNj13YvdPOIiIgIDPIWAsdIiwODa6Iic+0sKt3o/vL0dTi9K9bEli9+2/vHcOsDLyBn2oiFdWgRBbbtYs9IGrc+8AIuO3cDOw8iIjrkLXRgyyCv+ThGWjwYXBMVzLWzmOlG990t2xFvC2P18ugCvJLFx5US920dQM600RkPQRQGCYauQtcUTKRM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kUgkEolEIpFIJBLJOJHGtUQikUgkEolEIpFIJONEGtcSiUQikUgkEolEIpGME2lcSyQSiUQikUgkEolEMk6kcS2RSCQSiUQikUgkEsk4kca1RCKRSCQSiUQikUgk40Qa15K6uK6Lb3zjGzj33HOxbt06XH/99di3b1/d97/xxhu44YYbcOaZZ2LDhg248cYbcfDgwSk846mj2bF59dVXce2112L9+vU466yzcMsttyCTyUzhGU8dzY5NkN/85jdYsWIF9u/fP8lnOT00OzZiPCr/dySOT7NjY1kW/u3f/s1//1VXXYXt27dP4RlPHc2MzW233VbznlmxYgVuvvnmGXOeldR79l9++WV8+MMfxpo1a7Bx40Z84xvfgOu6k3H6s4bJGOcHH3wQl112GdauXYtLLrkE99577ySc+exjMubs3/72t7jkkkuwZs0aXH755Xjqqaem4lJmPBM91q7r4vvf/z4uvvhirFu3Dpdeein++7//e6ouZ8YymfsQ0zTxrne9CzfddNNkXsLMh0kkdbjtttvYmWeeyR577DG2fft29tGPfpRddNFFzDCMqvcODg6yc845h33yk59kO3bsYK+88gr78Ic/zN75zneyYrE4DWc/uTQzNn19fez0009nN998M9u1axd7/vnn2SWXXML+8i//chrOfPJpZmyC7N+/n5166qls+fLlbN++fVN0tlNLs2Pz1a9+lV111VWst7e37H+2bU/xmU8+zY7N3/7t37Kzzz6bbdq0ie3cuZN98pOfZOeccw5Lp9NTfOaTTzNjk81mq+6Xr3zlK2zdunXstddemzHnGaTes79r1y62du1a9g//8A9s9+7d7OGHH2br169n3/3udyf1OmY6Ez3OTz31FFu1ahX7r//6L7Z37172s5/9jJ144ons8ccfn+xLmfFM9Jz91FNPsdWrV7Of/OQnbOfOnexf/uVf2EknncR27tw5lZc1I5nosf7Wt77FTjvtNPbggw+yPXv2sF/+8pds1apV7J577pnCq5p5TOY+5Etf+hJbvnw5+8IXvjDZlzGjkca1pCaGYbD169ezn//85/5rqVSKrVmzht1///1V7//Vr37F1q9fzwqFgv/awYMH2fLly9nmzZun5JynimbH5sUXX2Sf/vSnmWVZ/ms//vGP2dq1a6fidKeUZsdG4DgO+/M//3N2zTXXHLHG9VjG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m0cffRQPPPAA7r33Xtx777348pe/DIDX6x9p0exmx+bOO+/EmWeeiXw+77+WzWbR3d2N448/fkrOeapodmxOP/102LaNV155xX+tWCxi3759WLJkyZSc81QxlrkYAJ577jmcccYZfgR4spnoZ19RFJxyyil46aWXyj63Y8cOJBIJtLa2Tur1zFQmepyTySQikQh27NhR9jkxzkdaWVczTPScTQjBKaecgmeeeabsc1u2bMFpp502eRcyC5iM9fHll1/Gxz/+cZxwwgn4+c9/ftQ7MICJH+errroKjzzyiD+/3HvvvTjppJNw4YUXTonWx4xlOqXKJTObr33ta+yMM85gv/vd78p64ZmmyWzbZr29vX7rrbvvvpstX76cff/736/qhRdsz3Wk0MzYDA0NsXPPPZfdcMMN7PXXX2fPPvsse8973sPe//73H5H9ipsZm0qefvrpI7YVF2PNjc3BgwfZaaedxv6//+//Y6+//jp7+eWX2Uc+8hH2tre97YjsHd/sffORj3yEvfOd72TPPvsse+ONN9gnP/lJtmHDBjYwMDCNVzE5jOWZeutb31rVhmYmnqeg1rP/9NNPs5UrV7JvfOMbbM+ePezBBx9kp556Krvtttum6pJmJBM9zv/2b//G1q9fz+655x62d+9eds8997D169ez73//+1N1STOWiZ6z//CHP7CVK1eyH/7wh2znzp3sK1/5CluzZo3sc80mdqwty2Jvf/vb2Vvf+la2d+/esj3pkbhGNMNk70Ouuuqqo74VlzSuJXWxbZt99atfZWeddRZbt24du/766/0Fed++fWz58uXs7rvvZowxdt1117Hly5fX/J94z5FEM2PDGGO7du1iN9xwAzv11FPZGWecwW6++WaWSqWm6/QnlWbHJsiRblw3OzZbt25l1113HTv11FPZKaecwj75yU+ygwcPTtfpTyrNjk0mk2H/9//+X3bmmWeytWvXsuuuu4698cYb03X6k8pYnqk1a9awX/ziFzP+PAX1nv1NmzaxK664gq1evZqdf/757D//8z+Z4ziTfi0zmYkeZ9u22Q9/+EP2jne8g61du5Zdeuml7Be/+EVZf/GjlcmYs++55x729re/nZ188snsiiuuYJs3b57Sa5qpTORYP//883X3pBdccMG0XN9MYbL3IdK4Zowwxth0R88lEolEIpFIJBKJRCKZzciaa4lEIpFIJBKJRCKRSMaJNK4lEolEIpFIJBKJRCIZJ9K4lkgkEolEIpFIJBKJZJxI41oikUgkEolEIpFIJJJxIo1riUQikUgkEolEIpFIxok0riUSiUQikUgkEolEIhkn0riWSCQSiUQikUgkEolknEjjWiKRSCQSiUQikcxaGGPTfQoSCQBpXEskEolEIpFIJLOO2267DStWrJiQY1144YW46aabJuRYU0k6ncbnP/95PPfcc9N9KhIJAGlcSyQSiUQikUgkklnI9u3bcd9998F13ek+FYkEgDSuJRKJRCKRSCQSiUQiGTfSuJZIJNPKhRdeiG984xv4yle+grPPPhtr1qzBxz72MXR3dwMAbrrpJnzkIx/B3XffjYsvvhgnnXQS3vOe92DTpk3Te+ISiUQimfEwxvDjH/8Y73znO7FmzRq8/e1vxw9+8AMwxnDTTTfh6quvxl133YULLrgA69evx7XXXovXXnutqe/Yv38/VqxYgQcffBCf+MQnsHbtWpx//vn45je/WRZRvfDCC/FP//RPuPbaa7FmzRr83d/9HQBgeHgYt9xyC84++2ycfPLJuPLKK/HUU0+VfYdhGPjnf/5nnHPOOVi/fj1uvvlmGIYxpjF57bXXcN1112H9+vW44IIL8Jvf/KbqPStWrMDtt9+O9773vVizZg1uv/12AEB3dzduvPFGnHPOOVi3bh2uvvpqPP/8802PheM4+PnPf453vetdWLNmDc4//3zceuutZdd09dVX4+qrry47ry1btmDFihXYsmULtmzZgmuuuQYAcM0111S9VyKZDtTpPgGJRCK54447cOqpp+Kf//mfkUql8P/+3//DF77wBdx5550AgK1bt6K3txc33ngj4vE4vv71r+OTn/wkNm3ahGQyOc1nL5FIJJKZyle/+lX85Cc/wXXXXYdzzjkHr7zyCm699VbYtg2ApxXv2rULn/nMZ5BMJvGNb3wDV111FR566CHMnTu3qe/64he/iI0bN+K2227D888/j9tvvx35fB6f+9zn/Pf8/Oc/x3XXXYfrr78esVgMhmHg2muvRX9/Pz796U9j7ty5uPvuu/Hxj38c3//+97FhwwYAwOc+9zn84Q9/wKc//WksWbIEd955J+6///6mx+Pw4cO46qqr0NXVhX/9139FNpvFrbfeioGBgar3fuc738Hf/M3fYOnSpViwYAF27tyJK6+8El1dXfj7v/97aJqGO+64A9deey1++MMf4owzzmh4LG655Rbcd999uP7663Haaadh27Zt+OY3v4nt27fj+9//Pggho17L6tWrccstt+Af//Efccstt+DMM89sejwkkolGGtcSiWTaSSQS+Na3vgVFUQAAe/fuxW233YahoSEAQCaTwa9//WssXrwYABCNRnHVVVfh6aefxsUXXzxt5y2RSCSSmUs6ncYdd9yBq666yjfqzj77bPT19eHZZ5/FnDlzkMlk8J3vfAennXYaAGDNmjV429vehjvuuAOf/exnm/q+1atX49ZbbwUAnHfeecjn8/jJT36Cv/iLv0A8HgcAHHvssWXH/dWvfoXXXnsNv/rVr7B27Vr/s1dffTVuvfVW3H333XjjjTfwyCOP4Itf/CL+/M//HABw7rnn4l3vehd27tzZ1Dn++Mc/huM4+O53v4v29nYAwNKlS3HllVdWvfe0007Ddddd5//9U5/6FHRdxx133OFfz/nnn4/LLrsMX/3qV3HXXXc1NBY9PT2466678Dd/8ze44YYbAADnnHMO5s6di89//vPYtGkTNm7cOOq1xONxHH/88QCA448/3v+zRDKdyLRwiUQy7Zx88sm+YQ0A8+fPBwAUCgUAQHt7u29Y1/p3iUQikUgqefHFF2HbNi666KKy1//+7/8e3//+9wEACxcu9A1rAJg7dy7Wr1+PZ599tunvu/zyy8v+fvHFF8OyLLzwwgv+aytXrix7z1NPPYXOzk6sXr0atm3Dtm04joMLLrgAW7duRSqV8pWwL7zwQv9zlNIxOZeff/55rFu3zjesAWDt2rU49thjq95bea7PPPMMLrjgAt+wBgBVVXHppZdi69atyOVy/usjjcUzzzwDALj00kvL3nPppZdCURRs2bKl6euSSGYKMnItkUimnUgkUvZ3SrnfT9RnVf67SBeT6qASiUQiqcfw8DAAlBmSlcybN6/qtY6ODrz66qtNf1/lscT3plIp/7VoNFp1jn19fVi9enXNY/b19fmfb2trK/u3zs7Ops8xlUph4cKFVa/XOlbluaZSKcyZM6fqfXPmzAFjDNls1n9tpLEQ11P5naqqoq2tDZlMpsGrkUhmHtK4lkgkEolEIpEccSQSCQDA4OAgli1b5r9+8OBB7N27F5Zl+eVHQfr7+9HR0dH091UeS9Qxj3SslpYWdHV1+SnUlSxcuNA3qvv7+8sizMJ50AxtbW3o7++ver2RYyWTyZqf7evr84/d29sLYOSxSKfT/ucWLFjw/7d39yBtbnEcx382JGBFfIkIvoBLRTvoIlEpiKiri3aoQ0l9KSUURVSUdLCd1ELxBREcFBFJqkKLCqZaEJWKDkGQ4iCFVkQF61ikdfEhHS59MN7aNDdevdd+P5AhT/7nPP+cTP+c55xjxvz4PU7/iWAYRlA/3759C5kncJV4LBwAAADXTm5urqxWq5aWloKuj4yMqLm5WRaLRTs7O/r06ZP52eHhoTY2NsyNxMKxsLAQ9P7t27eKjo4211L/TH5+vg4ODmS325WTk2O+VldXNTw8LIvFosLCQknS/Px8UNuz3+t3FBYWamNjQ4eHh+a1jx8/am9vL2Rbh8OhpaWloBlqwzDk8/mUk5Mjm81mXv/VWPzY+Mzn8wXF+Hw+GYahvLw8SX+tqf78+XNQzOmdySUFLSkD/guYuQYAAMC1k5iYKKfTqdHRUdlsNuXn5+v9+/caHx9XW1ubtra2FAgE5HK51NTUJIvFooGBAcXFxf2jY53m5uZkt9tVXFwsv98vr9erpqamvz1efVplZaU8Ho9qamrkcrmUkpKitbU1DQ0N6f79+7JarcrIyNC9e/fU29urk5MT3b59WzMzM/rw4UPYOT548ECvXr1SXV2dGhoaZBiGent7ZbVaQ7atr6/Xu3fv5HQ69ejRI1mtVnk8Hu3t7Zlr2H9nLG7duqWKigr19/fr+PhYDodDW1tbGhgYUEFBgYqKiiRJJSUlWlxcVFdXl0pLS7W+vq7p6emg+8TGxkqSlpeXFRcXp+zs7LDHBLhIFNcAAAC4llpbW2W32zUxMaHh4WGlp6ervb1dVVVVcrvdSk1NVW1trTo7O3V8fKw7d+5ocHBQ8fHxYd+rsbFRfr9fk5OTSklJ0dOnT83dvc9z8+ZNeb1edXd368WLFzo6OlJaWppaWlpUW1trxj179kxJSUnyeDz68uWLioqK5HK51NfXF1aOCQkJGh8fV0dHh9xut2JiYvTw4UO9efMmZNvMzEy9fPlSPT09evLkiaKiopSbm6uxsbGgTeF+Zyw6OjqUkZGh169fa2hoSMnJyXI6nXr8+LG578rdu3e1u7urqakpTUxMyOFwqL+/P6ifzMxMlZeXy+v1amVlRbOzs2GNB3DRogKBQOCqkwAAAAAuk9vtlt/v1+LiYkT97O/vq6ysTF1dXaqsrLyg7P6fGAv86Zi5BgAAAM4wDEOh5qB+nF5x1U5OTkLG3Lhxw5wVBvDvoLgGAAAAzqiurjbPZD5PWlqaxsbGLimj8513lNdpFRUVev78+SVkA/y5eCwcAAAAOGN7e1tfv379ZYzNZlNWVtYlZXS+zc3NkDEJCQk/PeMawMWhuAYAAAAAIEIsvAAAAAAAIEIU1wAAAAAARIjiGgAAAACACFFcAwAAAAAQIYprAAAAAAAiRHENAAAAAECEKK4BAAAAAIgQxTUAAAAAABH6DjivCz8Nl+CUAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot uncertainty as a function of nn or true label in a trellis for overview.\n", "fig, ax =plt.subplots(1,2, figsize=(10, 5), sharey=True)\n", "sns.regplot(data=df,y='cp_uncert_dropout',x='nn', ax=ax[0])\n", "sns.regplot(data=df,y='cp_uncert_dropout',x='cp_pred_dropout', ax=ax[1]).set(ylabel='')\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comparison of dropout vs. ensemble uncertainties can be performed as follows:" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R2 correlation between drouput and ensemble uncertatinties:-96.38\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n", "INFO:matplotlib.category:Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.\n" ] }, { "data": { "image/png": "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tQeDayLqFfZVN6Oq3geX3QKh1fpqQRDgssuoqvdhX3VzmkZIRETt9fXXO3HoUC0uvPAHceurRVHEBRdcjEOHavH11zvTNEIioo5jcE1EvYLHF4KmGZDlxP9sybIITTPg8YW6eWRERNRRjY2NAIDBg4ckfDxyPHIeEVFvwOCaiHqFDKcFkiRAVROXCKqqDkkSkOG0dPPIiIioo3JycgAA+/d/l/DxyPHIeUREvQGDayLqFYYWZaI4zwlvQIXRal21YRjwBlQU5zkxtCgzTSMkIqL2GjVqDAYMKMB7770dt65a13WsX/8nDBhQgFGjxqRphEREHcfgmoh6BVEQcOGUUtitEho9CpSQBt0woIQ0NHoU2K0SLpxSyv2uiYh6AVEUcdllP8WOHduxfPkSfPPN1/D7/fjmm6+xfPkS7NixHZdd9lPud01EvYpgtE4BUVI0TUd9vTfdw+gysiwiN9eFhgZvm2W5fQ3n3DPnnMp9rnvDfFOtv825J843L88FSWLA0FP09d/fPR33uSai3qC9v7vlbhgLEVHKHDcsD6NLc7GvuhkeXwgZTguGFmUyY01E1AudcsokjB8/EV9/vRONjY3IycnBqFFjmLEmol6JwTUR9TqiIGBYcVa6h0FERCkgiiLGjBmb7mEQEXUabwsSERERERERdRKDayIiIiIiIqJOYnBNRERERERE1EkMromIiIiIiIg6icE1ERERERERUScxuCYiIiIiIiLqJAbXRERERERERJ3E4JqIiIiIiIiokxhcExEREREREXUSg2siIiIiIiKiTmJwTURERERERNRJDK6JiIiIiIiIOonBNREREREREVEnMbgmIiIiIiIi6iQG10RERERERESdxOCaiIiIiIiIqJMYXBMRERERERF1EoNrIiIiIiIiok5icE1ERERERETUSQyuiYiIiIiIiDqJwTURERERERFRJzG4JiIiIiIiIuokBtdEREREREREncTgmoiIiIiIiKiTGFwTERERERERdVLag2td17Fs2TJ8//vfx8knn4wbbrgB3333XZvnNzQ04J577kFZWRkmTZqEefPmwe/3x5zz/vvv44ILLsCJJ56ImTNn4vPPP2/zen/6058wevRoVFZWpmxORERERERE1L+kPbhesWIFfve732H+/Pl47bXXoOs6rr/+eiiKkvD82bNnY+/evXjppZfw7LPP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hI5CFAXk5rqSfj6lRl2dHQCQmWnn14OIei0G10RERBRVVFQU3aUjkU8++QSKosQdDwaDcDgcCZ9jt9vjnhMJmp1OJ+x2M7BKdE7ra4ZCITz88MNYt24d5s+fj+nTpx99Ukeg6wbc7p5ZKt2fNDcHov9vaOgfDeaIqPfIynKwoRkRERF1jMViOeL2lbt27UJjYyMURYnJNNfU1KCoKHE35eLiYnz99dcxx2pqagCYwXykHLympibmtVtf0+Px4LbbbsPWrVuxZMkSnH/++R2fYAI9pZN8f6ZpevT//HoQUW/VPxYZERERUUqccsop0HU92tgMAPbs2YPq6mqUlZUlfE5ZWRm++uoreDye6LGNGzfC5XJhzJgxyM/Px/Dhw7Fp06bo46qqYuvWrdFrKoqCm266CV9++SV+85vfpCywJiIiShUG10RERNRuRUVFuPDCCzF37lxs2rQJX375Je6++25MmjQJJ598MgAzEK6trY2WeU+fPh0FBQW48847sXPnTnz44YdYsmQJrr322mj2+9prr8WLL76ItWvX4ptvvsGDDz6IQCCASy+9FADwq1/9Ctu2bcP8+fMxYsQI1NbWRv9LVKZORETU3VgWTkRERB0yf/58LFiwALfddhsA4LTTTsPcuXOjj2/fvh1XXXUV1qxZg8mTJ8Nms+HXv/415s2bh1mzZiE7OxuXX345brnlluhzZs2ahebmZixduhSNjY04/vjj8eKLLyIvLw8A8O6778IwDNx9991x44m8DhERUToJhmEY6R5EX6BpOurr+24DDlkWkZvrQkODt9+sheKc+/6c+9t8gf43554437w8V7uaolD36Ou/v3uLvXv3YN68h/DII0+gtJRbcRFRz9Le39387U5ERERERETUSQyuiYiIiIiIiDqJwTURERERERFRJzG4JiIiIiIiIuokBtdEREREREREncTgmoiIiIiIiKiTGFwTERERERERdRKDayIiIiIiIqJOYnBNRERERERE1EkMromIiIiIiIg6icE1ERERERERUScxuCYiIiIiIiLqJAbXRERERERERJ3E4JqIiIiIiIiokxhcExEREREREXUSg2siIiIiIiKiTmJwTURERERERNRJDK6JiIiIiIiIOonBNREREREREVEnMbgmIiIiIiIi6iQG10RERERERESdxOCaiIiIiIiIqJMYXBMRERER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5Mknn4RKpWp28fbs2RO9e/fGO++8g7/85S9QqVRYs2YNZDIZXnjhhXqN11Yxjxw5Eps2bcKsWbPw1ltvAQBWrVoFe3t7jBo1qknGXJO6OEZTinfv3r04fPgw5s2bh/DwcNy/f198zHie+mSLmG353UXU0tT0GScianJsXQuMGkZpaamwfPlyoVevXkJISIgwbdo0sW7r7du3BT8/P2HPnj3i/tnZ2cLMmTOFkJAQISIiQli0aJFQXFxscsyvvvpK+P3vfy9069ZN+OMf/1ht3dszZ840aK1YW8T78OFDYdGiRUJERIQQHBwsTJkyRfj111/rP9gytoj56tWrwvTp04Xw8HChV69ewowZMxq0HnB9xGy0Z88eszWQrTlGXWvoeKdMmSL4+fmZ/a/8eeqTLd7j8hr6u4uopanuM05EgvDOO++wznUTIhEEQbB1gk9ERERERETUlHHONREREREREVEtMbkmIiIiIiIiqiUm10RERERERES1xOSaiIiIiIiIqJaYXBMRERERERHVEpNrIiIiIiIiolpick1ERERE1ALVdUVeVvillo7JNRHVGi+mRERETYdarca8efOQnJwsbpswYQImTJhg8THmz5+PQYMGiT9/9913eOedd+q0nURNDZNrInpsGRkZiI6Oxp07d2zdFJuo+IeFOWvXroW/v38DtYiIiKhmqamp2L9/P/R6vbht0aJFWLRokcXHiImJQXx8vPjz1q1bce/evTptJ1FTI7d1A4io6Tp16hSOHz9u62YQERFRLT399NNW7f/UU0/VU0uImi72XBMRERERNSHFxcWIi4vDkCFD8Mwzz6B79+6YMmUKUlNTxX2OHz+OsWPHIiQkBH379sXChQuhVquRmJiIiRMnAgAmTpwoDgUvPyx86tSpGDVqVKXzxsTEYMSIEQBMR29NmDABSUlJSEpKgr+/P06dOoW+fftizpw5lY4xZMgQLFiwoG5fEKJGgsk1kZUEQcDWrVvx3HPPISgoCL///e+xadMmCIKA+fPnY8KECdi9ezcGDhyI0NBQTJo0CZcvX7bqHImJifD390diYqLJ9orzoQYNGoQ1a9bg448/Ru/evREUFIRXX30VN2/eNHleVRdYo7t37yI2Nhbh4eEIDg7GpEmTcOnSJfHx9PR0+Pv7Y8uWLRg6dCiCg4OxZ88evPvuuwCA3/3ud5g/f75VMSYnJ2P8+PEIDg5GeHg43nnnHTx48EB8fO/evQgMDMT58+cxZswYdOvWDQMHDsSmTZtMjnPw4EGMGDECQUFB6NWrF+bOnYvMzEyTff7v//4Pw4YNwzPPPIMBAwZg7dq10Ol04uPz58/Hq6++il27dmHw4MEICgrC2LFjcePGDRw7dgzPP/88goOD8dJLL5n84WK0a9cuDBgwAEFBQZVeO3OOHj2KUaNGoVu3bujTpw+WLFmCwsJCq14/IiJquebNm4c9e/YgOjoamzdvxrvvvotff/0Vc+bMgSAIOHbsGKZPnw4PDw+sWrUKc+fOxdGjRzF79mx07doVCxcuBAAsXLjQ7FDwESNG4OLFi0hLSxO3qdVqnDhxAi+88EKl/RctWoTAwEAEBgZi165dCAoKwsiRI3H06FHk5+eL+6WkpCAtLc1s4k7UHDC5JrLS8uXLsXz5cgwaNAjr1q3Diy++iBUrVmDDhg0ADPOYPv30U8yYMQOffPIJcnJyMH78eGRlZdVLe7Zt24br169j2bJlWLJkCS5cuGCyoEh1F1gAePDgAcaOHYuLFy/i/fffR1xcHPR6PcaNG4dr166ZnGvt2rWYNm0ali9fjt69e+P1118HAMTHxyMmJsbiNp89exaTJ0+GUqnEqlWr8N577yEpKQkTJ05EcXGxuJ9er8esWbMQFRWFDRs2oHv37li+fDlOnjwJwHCRnjdvHoYMGYLPP/8c7777Ls6cOWNyp3z9+vV4//33ERkZiXXr1mHcuHH4/PPP8f7775u06dy5c9ixYwfmz5+PZcuW4dq1a4iOjsayZcswffp0rFy5Evfu3cPcuXNNnpeRkYH4+HjMmjULK1euRF5eHiZMmIC7d++ajf3AgQN444030LFjR3z22WeYMWMGvv76a8TExHBhOCIiqpFGo0FBQQEWLFiAF198EeHh4XjppZfw6quv4tq1a8jOzsbatWvRpUsXxMfHY8CAARg5ciQWLFiA9PR0FBcXi0PAn376abPDwYcMGQJHR0ccPHhQ3Pbtt99Cp9Nh+PDhlfZ/+umn4ezsDGdnZ4SEhMDZ2RmjR49GcXExvvnmG3G/ffv2oUOHDujevXs9vDJEtsc510RWUKvV2LZtG8aPH4+3334bANC7d2/cv38fZ8+ehaenJx4+fIh169ahZ8+eAICgoCAMHjwY27Ztq5SY1QVXV1ckJCRAJpMBAG7duoW1a9ciJycHrVq1MrnASiQSAIBCocDq1auRnZ2N7du3Izc3F3//+9/Rtm1bAED//v0RFRWF1atXY82aNeK5nnvuOYwePVr82TjfqkuXLvDx8bG4zXFxcfD19cX69evFdgcHB2PYsGHYs2cPxo0bB8AwSiAmJgYvvfQSAKBHjx7417/+hR9++AH9+vVDSkoKlEoloqOjoVAoAAAqlQo///wzBEFAfn4+EhISMGbMGHEIWt++faFSqbBgwQJMmTIFnTt3BgAUFBRg1apV6NSpEwAgKSkJX375JbZu3YrIyEgAQFpaGj7++GOo1Wq4uroCAHQ6HT777DMEBQWJcQwePBjbt2+vtGqqIAhYsWIF+vXrhxUrVojbO3TogMmTJ+P48eMYMGCAxa8jERG1PAqFQhzFlZmZiRs3buDmzZs4duwYAEPyfenSJcycOVO87gNAVFQUoqKiAKDSzfOKHB0dMXjwYBw+fBhvvPEGAODQoUOIjIxEmzZtLGqnr68vevTogf3794uJ9pEjRzBt2jSrYyZqKthzTWSF//znPygtLcWQIUNMti9YsAAbN24EAPj4+IiJNQC0bt0aoaGhOHv2bL20qVu3bmKCCgDe3t4AgKKiIhQXF+PSpUsYPHhwpQvsN998A09PT5w+fRpdunRBmzZtUFpaitLSUkilUvTv3x+nTp0yOVeXLl1q3d6ioiKcP38ezz77LARBEM/Zrl07dOrUCT/++KPJ/qGhoeK/FQoF3N3dxSHUYWFhKCoqwvDhwxEXF4fk5GT07dsXM2bMgEQiwblz51BcXIxBgwaJ5yktLRXniJU/l5ubm5hYA4CnpycAQ7JspFKpAMBkSH27du3ExBoAvLy8EBISYvb9vn79OjIyMiq1JywsDM7OzpViJyIiMufkyZN47rnn0L9/f8TExODrr78WbzJnZGRAEAR4eHjU6hwvvPACrl69isuXLyM7OxuJiYnifGtLvfjii0hKSsK9e/dw9OhRFBQUYOTIkbVqF1Fjxp5rIivk5uYCANzd3avcx9wdXQ8PD1y8eLFe2uTg4GDys1RquGem1+uRl5dX4wU2NzcXaWlp6Nq1q9nHi4qKxH87OjrWur1qtRp6vR6ff/45Pv/880qP29vbm/ysVCpNfpZKpeLw6dDQUGzYsAFbt27Fli1bsGHDBnh6euJPf/oTJkyYIL5f0dHRZttSfqi+s7Oz2X1qitmYhJfn4eFhthyJsT2LFy/G4sWLq20PERGRObdu3cIbb7yBwYMHY/369WjXrh0kEgl27tyJkydPwsXFBRKJxGQdEwAoKSnBmTNnTG4aVycyMhJeXl44cuQIvLy8YG9vX6lzoSZDhw7FkiVL8M9//hPJycno06ePxT3fRE0Rk2siKxiHAj948AAdO3YUt9+9exe3bt2CVqtFTk5OpedlZ2dbdQfZ2Mtcvv4kYBi67OTkZPFxnJ2da7zAuri4IDw8HPPmzTN7DOOd8Lri5OQEiUSCyZMnY9iwYZUer3izoCb9+vVDv379UFRUhDNnzmDbtm1YsmQJgoODxfdrxYoV6NChQ6XnmkuMrZWXl1dp2/37983egDG2Z968eQgPD6/0uJubW63bQ0REzduFCxdQUlKC6Ohok3JYxvVIHBwc0KVLFxw7dsxkPZQTJ05gxowZOHDggMmIt6rIZDI8//zzOHbsGFxdXTF48OBqbzhLpdJKf7c4OjoiKioKBw8exLVr17B06VJrwyVqUjgsnMgKQUFBsLOzE+c1GW3evBmxsbGQyWS4efOmyVymzMxMnDt3Tpy3awljL2pGRoa4LS8vr8Y5UhU5OTmJF9jyTpw4gejoaGRlZSE8PBw3btyAr68vunXrJv63f/9+7N69u9oLsLGX3BrOzs4IDAzE9evXTc7XuXNnrF27ttIK6dX5+OOPMXr0aAiCAAcHBwwcOFCc53z37l0EBwfDzs4OmZmZJueSy+VYuXIl0tPTrW5/RTdu3MCtW7fEn+/du4dz584hIiKi0r4dO3aEh4cH0tPTTdrTpk0bxMXF1bjKOBERUdeuXSGXy/HJJ5/gxx9/xLFjxzBz5kz88MMPAIDCwkK8+eab+PnnnxEbG4sTJ05g7969WLx4MQYPHgw/Pz+4uLgAAH744YdqK5q88MIL+OWXX5CSkmJ2lfDyXF1dcePGDZw+fdrkxvOLL76ICxcuQKFQYPDgwbV/AYgaMfZcE1nB3d0dEydOxNatW6FQKBAeHo7z58/j73//O+bNm4fU1FQIgoA//elPmD17NmQyGeLj4+Hm5mZSQqsm/v7+eOKJJ/DZZ5+Jvc/r16+3ulcXAN588028/vrriI2NxciRI5GdnY2VK1eKF9jJkydj//79mDx5MqZOnYpWrVrh8OHD+Mc//iGW2qqKsSf2X//6F/r3728yZ7k6sbGxiI6Oxpw5czBixAjodDps3rwZ58+ft2rV8V69emHLli2YP38+RowYAa1Wi40bN0KlUqFXr15QqVR47bXXsHr1auTn5yMiIgKZmZlYvXo1JBIJAgICLD5XVezt7fH6669j9uzZ0Ol0WL16NVQqFSZNmlRpX5lMhtmzZ2PhwoWQyWQYOHAg1Go1EhISkJmZWeXQfCIiIqP27dsjLi4O8fHxeP311+Hm5oaQkBBs374dEyZMQHJyMsaNG4d169YhPj4eb7zxBtzd3fH8889j5syZAIDOnTtj+PDh4lDy8quClxcQEAA/Pz/k5OTU2Ekwbtw4XLhwAdOmTcOyZcvw/PPPAwBCQkKgUqkQFRVV56PhiBobJtdEVnr77bfh4eGBL7/8Ehs3boSPjw/ef/99jB07FvPnz8eTTz6JqVOnYunSpSgqKkLv3r3x17/+VVwMyxIymQxr1qzB0qVLERsbC09PT0yaNAnXr1/HjRs3rGrvwIEDq73AtmnTBl9++SXi4uLwwQcfoKSkBB06dMCHH36IF198sdpjR0REoHfv3oiLi8Pp06fFcmQ16du3LzZt2oT4+Hi8+eabsLOzQ9euXbFlyxaEhIRYHNuzzz6LFStWYPPmzeIiZj169MC2bdvE13vWrFnw8vLC3/72N2zcuBFubm6IjIxEbGyseOe+NgIDA/GHP/wBH3zwAR4+fIjIyEi89957Vc7Lf+mll+Dk5ISNGzdi165dcHR0RPfu3bFixQq0a9eu1u0hIqLmb+jQoRg6dGil7eV7oQcMGFBlBQqpVIq4uDiTbdu3bze774EDB8xu/+ijj0x+7tWrV6WRcgBw/vx55ObmYsyYMWaPQ9ScSAQWViWqM/Pnz0dSUhK+//57WzeFiIiIyGYSExORmJiIffv2wdfXVywfRtScseeaqAHpdDrUdD9LIpFYtNBIYyMIAnQ6XY37yWQyk7JgRERE1Pzk5ORgy5Yt6Ny5M5YsWWLr5hA1CCbXRA1o8uTJSEpKqnaftm3bNsme76SkJEycOLHG/ZYtW4ZRo0Y1QIuIiIjIVqoauk7UnHFYOFEDun79OgoKCqrdR6FQwN/fv4FaVHfy8/Mtmg/u4+ODVq1aNUCLiIiIiIgaDpNrIiIiIiIiolpinWsiIiIiIiKiWmJyTURERERERFRLTK6JiIiIiIiIaonJNREREREREVEtMbkmIiIiIiIiqiUm10RERERERES1xOSaiIiIiIiIqJb+H6L7RMM4N5JZAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot uncertainty as a function of va_prediction and true label in a trellis for overview.\n", "r2 = r2_score(y_true=df['cp_uncert_dropout'], y_pred=df['cp_uncert_ensemble'])\n", "print(f\"R2 correlation between drouput and ensemble uncertatinties:{r2:.2f}\")\n", "\n", "fig, ax =plt.subplots(1,2, figsize=(10, 5))\n", "df['cp_uncert_delta']=df['cp_uncert_dropout']-df['cp_uncert_ensemble']\n", "sns.regplot(data=df,y='cp_uncert_dropout',x='cp_uncert_ensemble', ax=ax[0])\n", "sns.boxplot(data=df,y='cp_uncert_delta',x='activity', ax=ax[1])\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Findings show that a limited correlation between dropout and ensemble uncertainty for the toy example (real world examples with more epochs/more predictive models will be different)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### MAPIE (regression uncertainty)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For regression uncertainty, the MAPIE package is available within QSARtuna for regression algorithms, and is selected like so:" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:15:04,953] A new study created in memory with name: my_study\n", "[I 2024-10-02 18:15:05,007] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:15:07,190] Trial 0 finished with value: -4497.021799854763 and parameters: {'algorithm_name': 'Mapie', 'Mapie_algorithm_hash': '976d211e4ac64e5568d369bcddd3aeb1', 'mapie_alpha__976d211e4ac64e5568d369bcddd3aeb1': 0.05, 'max_depth__976d211e4ac64e5568d369bcddd3aeb1': 8, 'n_estimators__976d211e4ac64e5568d369bcddd3aeb1': 50, 'max_features__976d211e4ac64e5568d369bcddd3aeb1': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -4497.021799854763.\n" ] } ], "source": [ "from optunaz.config.optconfig import Mapie\n", " \n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-300/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[\n", " ECFP.new(),\n", " ],\n", " algorithms=[Mapie.new( # mapie 'wraps' around a regressor of choice\n", " estimator=RandomForestRegressor.new(n_estimators={\"low\": 50, \"high\": 50})\n", " )\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " mapie = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Analysis of the nn's and behaviour of uncertainty vs. predicted values can be perfomed like so:" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "# get training data, mols & fingerprints\n", "train_df = pd.read_csv('../tests/data/DRD2/subset-300/train.csv') # Load test data.\n", "PandasTools.AddMoleculeColumnToFrame(train_df,'canonical','molecule',includeFingerprints=True)\n", "train_df[\"fp\"]=train_df[\"molecule\"].apply(lambda x: AllChem.GetMorganFingerprint(x,2 ))\n", "\n", "# get test data, mols & fingerprints and calculate the nn to training set\n", "df = pd.read_csv('../tests/data/DRD2/subset-50/train.csv') # Load test data.\n", "PandasTools.AddMoleculeColumnToFrame(df,'canonical','molecule',includeFingerprints=True)\n", "df[\"fp\"]=df[\"molecule\"].apply(lambda x: AllChem.GetMorganFingerprint(x,2 ))\n", "df['nn']=df[\"fp\"].apply(lambda x: max(DataStructs.BulkTanimotoSimilarity(x,[i for i in train_df[\"fp\"]])))\n", "\n", "mapie.predictor.mapie_alpha=0.99 # it is possible to alter the alpha of mapie post-train using this approach\n", "\n", "# add uncertainty & prediction to the df \n", "df['mapie_pred'], df['mapie_unc'] = mapie.predict_from_smiles(df[config.data.input_column], uncert=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting mapie uncertainty as a product of the nearest neighbors/mapie predictions is performed here:" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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IcAEm4iIiIiIiCgEmGATERERERERhQATbCIiIiIiIqIQYIJNREREREREFAJMsImIiIiIiIhCgAk2ERERERERUQgImqZpkW6EHmmaBq83sFsjSSJU1dtOLYo89i+6sX/HiaIAQRDauUWxKZjYGK9i/T2nF7zPocX4GDzGx9bj+zY8eJ9DJ5DYyASbiIiIiIiIKAQ4RZyIiIiIiIgoBJhgExEREREREYUAE2wiIiIiIiKiEGCCTURERERERBQCTLCJiIiIiIiIQoAJNhEREREREVEIMMEmIiIiIiIiCgEm2EREREREREQhwASbiIiIiIiIKASYYBMRERERERGFABNsIiIiIiIiohBggk1EREREREQUAkywW8nr9eKFF17AmDFjMGjQINx44404dOhQi9fv3bsXs2bNwsiRIzF69GjccccdOHz4cBhbHJhA+/fjjz9i2rRpGDx4MEaNGoVHHnkENTU1YWxxYALt34n++c9/Ijc3F0VFRe3cyuAF2r/GPp38j177GGj/3G43Fi1a5Lt+ypQpyMvLC2OLKVYdO3YM99xzD0aNGoXBgwdj1qxZ+Omnn3znH3rooSbvq/Hjx/vOtyUWxasDBw5g8ODBWLNmje9YXl4epkyZgkGDBmH8+PF48803/R7D+0wUfoyP4cXYqF9MsFvppZdewqpVq/D444/j7bffhtfrxcyZM+FyuZpcW1FRgRkzZsBkMmHFihV49dVXUV5ejpkzZ8LpdEag9acXSP/KysowY8YMdO3aFWvWrMFLL72E7du34/77749Ay1snkP6d6Oeff8Zjjz0WplYGL9D+5efnY8SIEfjqq6/8/uncuXOYW946gfbvj3/8I9asWYP58+dj9erVSE1NxY033qjrL4EoOsyePRuFhYVYsmQJ3nvvPZhMJkyfPh319fUAGt5bN998s9/76r333vM9PthYFK/cbjfuvvtu2O1237HGv7FZWVlYvXo1Zs+ejYULF2L16tW+a3ificKP8TF8GBt1TqPTcjqd2uDBg7W33nrLd6yqqkobMGCA9uGHHza5/t1339UGDx6s1dfX+44dPnxYy8nJ0TZu3BiWNgci0P5999132pw5czS32+07tmzZMm3gwIHhaG7AAu1fI1VVtauvvlq77rrrtJycHO3QoUPhaG7AgunfzJkztccffzxcTWyTQPt38OBBLTc3V/vPf/7jd/15552ny/cfRY/Kykpt7ty5Wn5+vu9YXl6elpOTo+3YsUPzer3aoEGDtE8++aTZxwcbi+LZokWLfDF49erVmqZp2iuvvKKdc845fn+DFi1apE2YMEHTNN5nokhgfAwvxkZ94wh2K+zevRt1dXUYPXq071hiYiL69euHrVu3Nrl+9OjReOmll2AymXzHRLHhVldXV7d/gwMUaP8GDhyIZ555BrIsAwB++ukn/OMf/8DZZ58dtjYHItD+NXrllVfgdrtx0003haOZQQumf/n5+cjOzg5XE9sk0P59/fXXSEhIwNixY/2u//zzz/1+B1GgkpKSsGjRIuTk5AAAysvLsWzZMmRkZKB37944ePAg7HY7evXq1ezjg41F8Wrr1q1455138NRTT/kd37ZtG0aMGOH7GwQAo0aNQkFBAcrKynifiSKA8TF8GBv1Tz79JVRcXAwATabPdurUyXfuRJmZmcjMzPQ7tmTJEphMJgwfPrz9GhqkQPt3ookTJ6KgoABdu3bF4sWL262NbRFM/77//nu8/vrreO+991BSUtLubWyLQPtXVVWFkpISbNu2DatWrUJFRQUGDBiAe+65Bz179gxLmwMRaP8OHDiAbt264ZNPPsGSJUtQUlKCfv364f7774+aLxVI/x5++GG8++67MBgMePnll2GxWLBnzx4AwIoVK/DFF19AFEWMHTsWc+bMQUJCQptibbyprq7Gvffei4ceeqjJ/SouLvZ9iG/UqVMnAMCRI0d4n4kijPGx/TA2RgeOYLdC49oRg8Hgd9xoNLZqTfWKFSuwcuVK3H333UhNTW2XNrZFW/q3cOFCrFixAh06dMB1112Hurq6dmtnsALtn91ux9133427774bPXr0CEcT2yTQ/u3duxcAoGkannzySTz33HNwOp245pprUFZW1v4NDlCg/autrUVhYSFeeuklzJ07Fy+//DJkWcY111yDY8eOhaXNFPumTZuG1atX45JLLsHs2bPx448/Ys+ePRBFEZ06dcIrr7yC+++/H1999RVuvfVWeL3eNv8tiSd//OMfMXjwYPzmN79pcs7hcDR7DwHA6XTyPhNFGONj+2FsjA4cwW6FxqneLpfLb9q30+mE2Wxu8XGapuH555/Hyy+/jFtuuQVTp05t97YGI9j+AUD//v0BAIsXL8a5556Lf//737jsssvara3BCLR/TzzxBHr27Inf//73YWtjWwTav2HDhmHTpk1ISUmBIAgAGv7/jRs3DmvWrMGsWbPC0/BWCrR/siyjtrYWzz77rG/E+tlnn8W5556L999/HzNnzgxPwymm9e7dGwAwb9487NixAytXrsS8efNwzTXXICUlBQCQk5ODtLQ0XHnllfjhhx/aFGvjyQcffIBt27bhww8/bPa8yWRqsiFP44dDi8XC+0wUYYyP7YOxMXpwBLsVGqdSlJaW+h0vLS1Fenp6s49xu92455578Morr+CBBx7A//3f/7V3M4MWaP/279+PDRs2+B1LT09HcnKyLqdTB9q/1atXY+PGjRg8eDAGDx6MG2+8EQBwySWX4JVXXmn/BgcomNdnamqqL7kGALPZjMzMzJj4/5eRkQFZlv2mg5tMJnTr1k23ZcgoOpSXl2PdunXweDy+Y6Ioonfv3igtLYUoir4Pj43OOOMMAA1T94J5r8aj1atX49ixYxg3bpwvDgPAo48+ipkzZyIjI6PZewg0/C3ifSYKP8bH9sfYGD2YYLdCnz59YLPZ8M033/iOVVdXY9euXS2uqb733nvx8ccfY9GiRZg+fXqYWhqcQPu3ceNG3HHHHX4bth08eBAVFRW6XOMaaP8++eQTrF27Fh988AE++OADPPHEEwAa1tHrcVQ70P698847GDlypF9ph9raWhQUFPi+ddaTQPs3fPhweDwe/PDDD75jDocDhw4dQvfu3cPSZopNZWVlmDt3LjZt2uQ75na7sWvXLmRnZ+Pee+9tEu8bX4e9e/cO6m9JPFq4cCE++ugjXwz+4IMPAAB33HEH5s2bh+HDh2P79u1QVdX3mM2bN6Nnz57o0KED7zNRBDA+tj/GxigS6W3Mo8UzzzyjjRgxQvv000+1vLw87frrr9cmTJiguVwuzePxaKWlpb6yXKtXr9ZycnK0pUuXaqWlpX7/nFi6S08C6V9FRYU2ZswYbdasWdqePXu0rVu3apdeeqn2u9/9TvN4PBHuSfMC6d/JNm/erOsyXZoWWP8OHz6sDRs2TJs9e7a2Z88e7fvvv9emT5+uXXDBBZrD4YhwT5oX6P+/6dOnaxdddJG2detWbe/evdrtt9+ujR49Wjt27FgEe0GxYObMmdqECRO0LVu2aPn5+drcuXO14cOHaz///LP26aefajk5OdqLL76oFRYWahs2bNDGjx+vzZ071/f4U72WqWUnlqIpKyvThg8frt13333a3r17tdWrV2v9+/fX1qxZ47ue95ko/Bgfw4+xUZ+YYLeSx+PRnn76aW3UqFHaoEGDtBtvvNGXcB06dMjvBT5jxgwtJyen2X8ar9GbQPqnaZq2f/9+bdasWdrQoUO1ESNGaA888IBWVVUVqeafVqD9O1E0JNiB9m/nzp3ajBkztKFDh2pDhgzRbr/9du3w4cORav5pBdq/mpoa7dFHH9VGjhypDRw4UJsxY4a2d+/eSDWfYkh1dbX26KOPameffbY2YMAA7frrr9f27NnjO//RRx9pl112mTZgwADt7LPP1p566im/L65O9Vqmlp38Ht+xY4d25ZVXameddZZ23nnnaStWrPC7nveZKPwYH8OPsVGfBE3TtEiPohMRERERERFFO67BJiIiIiIiIgoBJthEREREREREIcAEm4iIiIiIiCgEmGATERERERERhQATbCIiIiIiIqIQYIJNREREREREFAJMsImIiIiIiIhCgAk2ERERERERUQgwwSYiIooja9asQW5uLoqKiiLdlJB48cUXkZubG+lmEFGUY2ykUGGCTUREFEfGjRuHd955B506dYp0U4iIdIOxkUJFjnQDiIiIKHxSU1ORmpoa6WYQEekKYyOFCkewKW6MHz8eL7zwAv785z/jV7/6FQYMGIAbbrgBBQUFAID7778f06dPx+rVqzFx4kScddZZuPTSS/HFF19EtuFEFHPGjx+PxYsXY/78+Rg5ciQGDx6Mu+66C3V1dViyZAnGjh2LoUOH4vbbb0dFRQUAwOFwYNGiRZgwYQLOOussDBkyBDNmzEBeXp7v995///2YOnUq3nvvPZx33nkYPHgwpk2bht27d/uuaW4a5LZt2zBlyhQMHDgQI0aMwH333Yfy8vKA+lRUVITc3FysW7cON998MwYOHIhx48bhL3/5C7xer1/f58+fj2nTpmHAgAH4wx/+AACorKzEI488gl/96lfo378/rrzySmzatMnvOZxOJ5588kmcffbZGDx4MB544AE4nc6A2klE+sXYyNgYC5hgU1x58803sX//fjz55JN44oknsHPnTtx3332+8zt37sRrr72GO+64A3/5y18gSRJuv/12VFVVRbDVRBSLXn/9dRw5cgTPPvssbrnlFqxduxZXXHEFvvrqKzz++OOYO3cuPvvsM7zw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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot uncertainty as a function of nn or true label in a trellis for overview.\n", "fig, ax =plt.subplots(1,3, figsize=(10, 5))\n", "sns.regplot(data=df,y='mapie_unc',x='nn', ax=ax[0])\n", "sns.regplot(data=df,y='mapie_unc',x='mapie_pred', ax=ax[1])\n", "sns.regplot(data=df,y=df[config.data.response_column],x='mapie_pred', ax=ax[2])\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Further analysis of the uncertainty using error bars is shown here:" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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/x2zJk6coH37vtLEiRMUF9erKov/slhMMpla/h+IdbzrehbMz/zumktqd/3D9fM46aSTdN99K3X//cu1Y8cn3ofR3NzxuuGGBZoxY1afPyNS6tqh5Qh2uVp/zi1fB/b9P/poqz79tFwZGRkym03yeFpeN5kks9mk9PQMffppS6Kio48O3xzwd955q13dWrv2RY0de1TA6tZ3zJo//9dasGCeKiq+kc2W8t+kS42y22uVnJyi+fN/3ae/G5FSjzsT7PuZv+fuy/7+vKfH41FZ2TaVlZVq+PDDdeKJM4LSOOVPuU88cbrOOOMM/fvf7+jNN9/QySefGrRyBUpf6nDb+1nL9+E/z0j+nexOtJb7UME8j3A8o0WzXv9lq6mp0Z49e7R//36deuqp2r17t4488sgu15PvyUUXXaQLLrhAa9as0bXXXqtnnnlGeXl5kqS6ujo9//zzuu666zrMfSsvL5fH41FhYaGysrL09ttv65ZbbpHT6dT555/fq7K0PAwl9bwjAs5m6zgk0u1ulMViVmpqIj+XPuJatuisngVL22suqd31D+fP4+yzf6gzzzxN//rXv/S3v/1NZ511lk466aSAPYxGSl07tBzBLlfr+0uBr2fNzfVyuVxKTEyQ2WyWYXz3wGOxmJWYmKCammo1N9eH7ZqvX79eRUU3qLa2Vqmpqf8tV+J/h/vfoMcee0yzZ88O2OedffYPlZKSoHvvvVelpaWqra2VYRiaOHGCbr755j5/VqTU4+4E637m77n7sr+v77l+/fp2P9O//nWtcnNzA/Iz7Wu5MzNTNH368dq372tNn368MjNTAlqeQOtLHW57P5NC+7ezK9HwO9mZaC33oUJxHpFQz6JBr4L4Rx55RI899piamppkMpk0YcIE3X///aqqqtIf/vAH2Ww2v9+zdfj83Xffra1bt+rpp5/WPffcI0l688031dzcrPPOO6/Dcf/v//0/ud1u7xz5o446Snv37tWTTz7Z6yDe4zFktzf06lj0jsVils2WILu9UW63p922mpoGud0e1dQ0yGKpD1MJ+4eBfi27q2fB0vaaS2p3/SPh53HEEWN01FHjdMQRY1RTE7j1YiPh3DorR7DL1fr+kgJez+LikhQTE6OGhkYlJCR439vt9shk8qixsVExMTGKi0tSVVXor7nH49H//M/dstvt3uH+TU1NiouLV1bW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ntvtdrvdLpvN1usCAUB/s2PHJ1qz5hnt2fNpuzWSL7nk8nAXDYh6rfMxv/76MxmGCAg7EYpROnZ7tTZuLNa0aQUaPHio9/XORkwkJXk0blwe68RjwOlueUyLxaK0tHTt379PX331tY48MjtMpUQ08Psv3aWXXqpvv/22021vvfWWzjjjjD4XCgD6i02bNurPf35GO3aUKTExSTabTYmJSSor267bb/+Nduz4JNxFBNCP9WYofV/Ex1s79PYWFMzUc8/9VQ8++JguvPAiPfjgY3ruub8SwGPA6Wl5zLi4eLndblVVHQxxyRBt/O6JLy0t1Zlnnqn/+Z//0SmnnCJJqqur0913362//vWvys8PbGISAIhW9fX1euSRlWpqatLw4SNkMpnU3NykuLhYHXbYYO3b943eeOMN/eIXFwXk80hSA+BQvR1K73A0KT7e6vPIhtbh9F9++bmysjomNSaDNdDz8pjNzQ5ZLBalpwd3KD2in99B/N///nfdeuutuv7663XuuefqpJNO0l133aXa2lr95je/0YUXXhiMcgJA1Hnjjb9r584dslqtqq+vk6R2yyvFxMSoouIbvfDCn3XkkaMk9e7huVWwktSwdB0QvXozlL51aPzUqdNls6X5dczhh3+vF6UEBoaelsesqanWkCFZGj16dEh74/m7G338DuIzMjL00EMP6a9//at++9vf6q9//auOOuooPf/88xoyZEgwyggAUSkxMVlms1lxcXFKTk6RpHbLKyUkOLV3716NHHmkTj75NEm9e3huFawkNSxdh8bGxj5lK/cXD5SB0/tkZjGy2dL86hGMiYlRfLzV788CBorukj3a7XbFxsZp7Nixeuut9bJYTH79/YzETgAEj99BvCS99957evzxx2U2m3XUUUdp27Zteuihh3TjjTcqJSUl0GUEgIBpaGjQwYOVfi2T01tJSUmKjY2T2+2W2WyRJO/ySjExMWpqalRMjEXDhx/e7kG5Nw/PwcTSddi9u1wlJR96s4+z9BEA9E5nyR5jYhplGB653W7961/r9d5772nUqGxdccXVmjbtBJ/eN1CdAN2NvuuqcZZG29DzO4i/5ZZb9NJLLyknJ0d/+ctfdNRRR+m5557T73//e61fv1633Xab5syZ4/P7VVZW6t5771VxcbEcDocmT56sm266SaNHj5YkLVq0SC+88EK7Y4YPH67169dLanlIePDBB/XCCy+otrZWkydP1m233abDDz/c31MDMACUlZXp/fc3y/Ajhu9t67bH49HQoUO1a9cuZWQY7TLRth02l5ub588phBxL1/U//k6RyMg4TPn5R+vDDz9Qfv7R3pElvoqPt/rVQ0tDDoD+rO3ymH/605N677335HK5lJqaJoejUfHxCdq1a4cWL16kpUtX+JwEMhCdAN2Nvmu7lGTbxlwabUPP7yD+lVde0VVXXaVrr71WMTEth19wwQU68cQT9dvf/lbz5s1TWVmZz+937bXXyuPxaNWqVUpKStKKFSt08cUXa926dUpISNCOHTt01VVXae7cud5jLBaL9+uHH35YzzzzjO69915lZWVpyZIluuyyy/TKK68oLi7O39MD0M+NGzdOaWmD/OqJ71vrdpJ+85sbtX9/hVJT09qtkZyUlKw5c+aQ4Akh19spEh6PW9u2fRyVD2m9ze3gdrtlMsnvHiZ6lwB0x2w2Kzc3Tzt27JDT6dTw4SParRuflJSkioq9WrlyuaZPLwjZs0J3o+/aLiXp7/NQV2i07R2/g/jnnntOeXkde42GDx+u1atX65lnnvH5vWpqajR8+HBdeeWVysnJkSRdc801Ovvss1VeXq78/Hzt2rVLV1xxhQYNGtTh+ObmZv3hD39QUVGRZs2aJUm67777VFBQoHXr1rHcHYAOEhMTlZGRKZfL49dxvW3dnjFjln72s59ry5b/eNeJb10j+ZJLLld9fY1f7wcEwkCcItHbhguXyymHw+HzNIJWkdBwASCylZZu1759FcrIOKzDuvEmk0lpaRnatatcJSVbNXHipJCUqafRd5E25W+g8juI7yyAb+VwOHTMMcf4/F6pqalatmyZ9/uDBw9q9erVysrKUnZ2tr744gs1NDRo1KhRnR7/ySefqL6+XtOmTfO+ZrPZlJubq82bN/cpiI+JifyeMYvFJJOp5f9oKG93LBZzu//bb+s/59mqP55TNOiunnV/XO9/XhaLSUcddZSuu+4GlZZu15tvvqGTTz5VJ544Q9XVVVq37tV270vdCK5QXN/e1jP/P6f355KSkqSUlKQglazvGhsb1Njoe695XV2N3G6392uLxdRhn8GDB8lm63xuaXy8VVZr58P9a2qqtWHDO5o+fYZSU9N8LlNCQkJQf4eDWc96U7d8OSZa72+HljuaziMQ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1TPuZwikHTt2aPTo0Z1u457WezE97wL0js1m08yZM9u99sYbb+jzzz/Xb37zG+3cuVMpKSm68847tWHDBiUmJuoHP/iBrrnmGsXFxWnfvn1KT09XfHx8u/cYPHiwKioqQnkqiBK33nqrnn/+ecXFxemRRx5RYmKiKioqvIFXq8GDB0uSvvnmG29dGjp0aId9qGfoTGf1bOfOnZKkp556Su+8847MZrNmzJih+fPnKyUlhXoGn9ntdi1cuFCLFi3qUF+4nyFQuqtn3M8QSDt37lR6erp+8YtfaM+ePfre976nq6++WjNmzOCe1gf0xCNk/vOf/+iWW27RnDlzNGvWLO3cuVMOh0MTJkzQE088oauvvlovvPCCFi1aJElqbGxUXFxch/eJj4+Xw+EIdfERBS666CK9+OKLOuOMM3Tttddq+/btampq6lCPWhuGHA6HGhsbJanTfahn6Exn9Wznzp0ym80aPHiwHn30Ud18883697//rWuuuUYej4d6Bp/dcccdmjRpks4888wO27ifIVC6q2fczxAoLpdLu3fvVk1Nja6//nqtWrVKRx99tK644gpt2rSJe1of0BOPkHjzzTdVVFSkY445RkuXLpUk3XnnnbrpppuUmpoqScrJyVFsbKzmz5+vhQsXymq1qrm5ucN7ORwOJSQkhLT8iA7Z2dmSpLvvvltbt27V008/3Wk9ar3xJyYmymq1SpKam5u9X7fuQz1DZzqrZ3fffbd+/vOfKz09XVLL/WzQoEH6yU9+opKSEuoZfPLSSy9py5YteuWVVzrdzv0MgdBTPbv66qu5nyEgYmJi9N5778lisXjryvjx41VeXq4nn3ySe1of0BOPoHv66ad1/fXX66STTtKjjz7qbWGLiYnxBvCtxowZI6llyGBWVpaqq6s7/HLv379fQ4YMCU3hEfEOHjyov//973K5XN7XzGazsrOztX//fmVlZWn//v3tjmn9fsiQId4hWp3tQz1Dq57qmdls9j7wtmp7P6OewRcvvviiKisrNWvWLE2aNEmTJk2SJN1+++267LLLuJ8hIHqqZ9zPEEhJSUntAnCppT7t27ePe1ofEMQjqJ555hn9z//8j37xi19o+fLl7YbDXHjhhbrlllva7V9SUqLY2FgdccQROvbYY+XxeLwJ7qSWtUz37dunyZMnh+wcENkOHDigBQsWaNOmTd7XnE6nSktLNXr0aE2ePFkffPCB3G63d/u7776rI488UpmZmTrqqKOUnJys9957z7vdbrertLSUegavnurZwoULdfHFF7c7pqSkRFJLzz31DL5YunSpXn31Vb300kvef5JUWFiou+++m/sZAqKnesb9DIFSXl6uY445pl1dkaRt27YpOzube1pfhDs9Pvqv3bt3G3l5eca1117bbl3I/fv3G3a73XjqqaeMcePGGc8884zxxRdfGH//+9+N448/3li+fLn3PRYsWGDMnj3bePfdd73rxM+dOzeMZ4VIdNlllxlz5swx3n//fWPHjh3GggULjMmTJxtff/21ceDAAWPy5MnGTTfdZJSXlxsvvviikZ+fb6xdu9Z7/PLly40pU6YYb775Zrs1SJubm8N4Vog03dWzN99808jJyTEeeOAB4/PPPzfeeustY/bs2caCBQu8x1PP0Bttl/7ifoZgaVvPuJ8hUNxut3HeeecZp59+urF582Zj165dxu9+9ztj/Pjxxo4dO7in9YHJMAwj3A0J6J8effRR3XfffZ1uO+ecc3TvvfdqzZo1WrNmjb788kvvfKsrrrhCZnPLIJGGhgb97ne/0xtvvCFJmjFjhhYtWtRhmBcGttraWi1btkxvvvmmamtrddxxx+nmm2/2Dv/7+OOPdffdd6u0tFSDBg3Sr371K82dO9d7vNvt1vLly7V27Vo1NTVp8uTJuu222zRixIhwnRIiUE/17LXXXtOqVau0e/dupaSk6Mwzz9QNN9zgnUJEPUNvjB07Vvfcc4/OPfdcSdzPEByH1jPuZwiUAwcOaNmyZSouLpbdbldubq6Kiop03HHHSeKe1lsE8QAAAAAARAnmxAMAAAAAECUI4gEAAAAAiBIE8QAAAAAARAmCeAAAAAAAogRBPAAAAAAAUYIgHgAAAACAKEEQDwAAAABAlCCIBwAAAWMYRriLAABAv0YQDwBAhLjwwgs1duzYdv/Gjx+vWbNmafHixaqpqQnaZ69du1Zjx47VV199JUl64IEHNHbsWJ+Pr6io0BVXXKGvv/66z2X56quvNHbsWK1du7bLfVrLl5+fr7q6uk73+fOf/6yxY8dq9uzZfS4TAACRIibcBQAAAN/Jzc3V7bff7v3e6XRq+/btWr58ucrKyvTnP/9ZJpMp6OX48Y9/rIKCAp/337hxo95+++0glqhzLpdL69ev11lnndVh26uvvhry8gAAEGwE8QAARJDk5GQdffTR7V6bPHmy6uvrtXLlSm3durXD9mDIyspSVlZW0D+nr4455hi99tprHYL4ffv2acuWLRo3bpzsdnuYSgcAQOAxnB4AgCgwfvx4SdLevXsltQy9LyoqUmFhoY4++mhdcsklkiSHw6Hf//73mjlzpsaPH68zzzyzQ4+0x+PRww8/rFmzZmnixIm65pprOgzV72w4/UsvvaRzzjlHEydO1KxZs7Rs2TI1Nzdr7dq1uuWWWyRJ3//+93XzzTd7j3nhhRf0wx/+0Dst4IEHHpDb7W73vuvWrdNZZ52lCRMm6JxzztEnn3zi83U5/fTT9e9//7vDkPrXX39dRx55pI466ijva9ddd12HYP+iiy7S+PHj1dTU5H3t7rvv1qmnnupzGQAACCWCeAAAosCePXskSYcffrj3tddee01JSUl65JFHdNlll8kwDF177bV69tlndckll+iRRx7RpEmTNH/+fL300kve45YsWaKHHnpI559/vh588EGlpaVp2bJl3X7+mjVrdNNNNykvL08PPvigrrjiCj311FO66667NGvWLF199dWSpAcffFDXXHONJOmxxx7TrbfeqmnTpunRRx/VL37xCz3++OO69dZbve+7fv16FRYWauzYsXrooYd02mmn6cYbb/T5upx66qlyu91av359u9dfffVV/fCHP2z32syZM7Vz505VVlZKamnw+PDDD+V0OvXRRx9593vnnXd00kkn+VwGAABCieH0AABEEMMw5HK5vN/X1NTo/fff9wbkrT3ykhQbG6vFixcrLi5OkrRhwwYVFxfrvvvu0+mnny5JKigoUGNjo5YuXaozzjhDDQ0Neuqpp3TJJZfouuuu8+6zf/9+FRcXd1omj8ejhx56SCeffLLuuusu7+uNjY36+9//rpSUFI0cOVKSNG7cOI0YMUK1tbV6+OGHdcEFF2jRokWSpBNPPFFpaWlatGiRLrnkEo0ZM0YPPfSQJkyYoCVLlnjLIqnHRoVWhx12mCZPntxuSP3XX3+trVu36ve//70eeeQR774zZ86UJG3atElnnHGG/vOf/8hisejII4/U5s2bNXXqVH355Zf67LPPCOIBABGLnngAACLI5s2blZeX5/13wgknaMGCBRo/fryWLVvWLqndqFGjvAG81BKcmkwmzZw5Uy6Xy/tv9uzZ+vbbb1VeXq6PPvpITqezQ5B62mmndVmmPXv2qLKyUqecckq71y+99FKtXbtWsbGxHY758MMP1dTUpNmzZ3coi9TS4NDU1KTt27f7VZbOHDqk/u9//7vy8vL0ve99r91+gwcPVm5urjZu3Cip5Xodc8wxmjx5st5//31JLb3wNptNxx57rF9lAAAgVOiJBwAgguTl5Wnx4sWSJJPJpPj4eA0dOlTJyckd9k1KSmr3fXV1tQzD0DHHHNPpe+/fv9+b5C09Pb3dtkGDBnVZpurqaklSZmamz+fReswVV1zRZVlqampkGEaHsgwePNjnz5GkU045RXfeeac3S/1rr72mM888s9N9Z86cqZdffllSSxB/yimnaOjQoXr55ZfV3Nys4uJiFRQUKCaGRyQAQGTiLxQAABEkKSlJ+fn5vTo2JSVFiYmJ+tOf/tTp9u9973v6+OOPJUmVlZUaNWqUd1tr0N0Zm80mSTp48GC716uqqlRaWqpJkyZ1eczSpUt1xBFHdNh+2GGHKS0tTWazWQcOHGi3rbuydCYjI0NTp07V66+/rgkTJuiTTz5pN4y+rVmzZunhhx/W9u3btX37dv32t7/VsGHD5HA4tGXLFr333nveRhQAACIRw+kBAOgnpkyZooaGBhmGofz8fO+/nTt36qGHHpLL5dKkSZNktVr1+uuvtzv2X//6V5fvO2rUKKWnp3fY5+WXX9YVV1whp9Mps7n9I8XEiRMVGxurffv2tStLTEyMli9frq+++krx8fGaNGmS1q1bJ8MwvMcemqTOF61D6v/yl7/o2GOP7XJ5vPz8fGVkZOjhhx9WfHy8xo8fr8GDB2vUqFF68MEH5XA4NGPGDL8/HwCAUKEnHgCAfmLmzJmaPHmyrrnmGl1zzTUaPXq0Pv74Y61cuVIFBQXKyMiQJF1zzTW6//77lZCQoKlTp+rtt9/uNoi3WCy6/vrrdeeddyozM1OzZ8/Wnj17tHLlSv3iF79Qamqqt+f9H//4h2bMmKHRo0frsssu04oVK1RXV6fjjz9e+/bt04oVK2QymbxLvy1YsEAXXXSRrrvuOl1wwQXas2ePHn30Ub/P/ZRTTtHtt9+u1atX67e//W2X+5nNZs2YMUMvvfSSTjzxRO+w+eOPP15//vOfddxxxyktLc3vzwcAIFToiQcAoJ8wm81atWqVfvjDH+qxxx7TpZde6l1u7r777vPud+WVV+o3v/mNXn/9dV199dXasWOHbrrppm7f+xe/+IXuvfdevffee7ryyiu1evVqXX755Vq4cKGkliD4hBNO0LJly/S///u/kqQbbrhBN998s/7xj3/o8ssv15IlS3Tsscfq6aefVkpKiiTpuOOO0+OPP659+/bpuuuu03PPPaff/e53fp+7zWbTiSeeKMMwelzjvTVL/fHHH+99rfXrWbNm+f3ZAACEksloO34NAAAAAABELHriAQAAAACIEgTxAAAAAABECYJ4AAAAAACiBEE8AAAAAABRgiAeAAAAAIAoQRAPAAAAAECUIIgHAAAAACBKEMQDAAAAABAlCOIBAAAAAIgSBPEAAAAAAEQJgngAAAAAAKLE/wcdJ0L32IwPjgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot true value as a function of predicted value, with MAPIE uncertainty error bars for visualisation.\n", "plt.figure(figsize=(12,5))\n", "plt.errorbar(df[config.data.response_column], df['mapie_pred'], yerr=df['mapie_unc'].abs(), fmt='o',color='black', alpha=.8, ecolor='gray', elinewidth=1, capsize=10);\n", "plt.xlabel('Predicted Mw');\n", "plt.ylabel('Expected Mw');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where more certain predictions have smaller error bars.\n", "\n", "The same analysis can be performed by plotting similarity to nn's (increasing similarity to the training set moving from left to right on the x-axis):" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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srLGo6CgMEQlJCIiIn8wiCciIopCgiCgpGQJdLoE1NefgNVqgSzLsFotqK8/gYSERJSULIEg8KsAERFRJOEnNxERUZQqLp6F1avXIScnD21tbTCZTGhra0NOTh5WrXqS68QTERFFIHWoC0BERETBU1w8C0VFxdixoxxbt27BnDlzUVRUzB54IiKiCMUgnoiIKMoJgoD8/ALU1x9Hfn4BA3giIqIIxk9xIiIiIiIiogjBIJ6IiIiIiIgoQjCIJyIiIiIiIooQDOKJiIiIiIiIIgSDeCIiIiIiIqIIwez0RERE1COLxQKr1dLrPiaTAQ6HAyaTAQAgiipIkgVGYxskSfHp+bTaOMTFxflbXCIioqjHIJ6IiIh6dPhwLaqqKnvdR5IcaGkxoqKiHKKohqLIsNvbERMTC5XKt0F/ubkFyMub2J8iExERRTUG8URERNSjsWPHIzNzZK/7mEwG7NxZjunTi6HXJ8NsNmLXro8xbdr5SEhI8un5tFr2whMREfWGQTwRERH1KC7Ou+HtarUaen0yUlJSIYoqqNVqJCUlQ69PGYBSEhERDR5MbEdEREREREQUIRjEExEREREREUUIBvFEREREREREEYJBPBEREREREVGEYBBPREREREREFCEYxBMRERERERFFCAbxRERERERERBGC68QTERHRoGSxWGC1Wgbs+bTaOMTFxQ3Y8xERUXRiEE9ERESD0uHDtaiqqvTpGFmWYbNZodFoIQi+DWjMzS1AXt5En44hIiLqikE8ERERDUpjx45HZuZIn44xmQzYubMc06YVQa9P9ulYrZa98ERE1H8M4omIiGhQiovzb3i7Wq2GXp+MlJTUIJSKiIiod2EVxB85cgRXXnklHnjgAVx55ZUAgK1bt+KZZ57B4cOHkZKSgnnz5mHRokXQarUAgM8++wzXXXddt3P96U9/wtSpUwe0/ERERAPBn7ncJpMBDocDJpPB5+fjXG4iIqLwETZBvN1uR2lpKdra2lyP7dmzB3fddRdKSkpw0UUX4ejRo3jwwQdhMBjw2GOPAQBqamowevRovP76627nS0pKGtDyExERDRR/53Lb7e3YtWsH53ITERFFsLAJ4p966ikkJCS4PfbGG29g6tSpuO222wAAY8aMweLFi7F8+XI8/PDDiI2NxaFDh5CVlYWhQ4eGothEREQDzp+53P3BudxERBSJ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8yaBU3OzHWZzq9vjkbaGsrcsFotrKLXRaMDp0/EwGtsgSYrf5+wtSRsztg8sX6YQ+Ntb3pmvCfcovHDkAxENZj4H8VVVVbjsssvwu9/9Dj/84Q8BAGazGY8++ij++te/oqCgIOCFJCIajLxJ4KRWxyAhQed6rOsaypIkwW63QavVQqfTob7+BMrK1vr9ZVeWZY8Br6dM3w6HA2Zzi8/LnnU+V+dA+vDhWlRWfo6WFiN27NiOPXtiIUkylF5ieFmWYbNZodFoPV5vb0naApFgjYiChyMfiGiw8jmI/8c//oEHHngAd999N6688kpccMEFeOSRR9DS0oJf//rXuP7664NRTiKiQcebBE5ZWRMwcuQo1+PBXkPZZrN6DHi7BsPO37/44jOYzWb897//RlxcvNuXbFmWoSjdl8qTJAlmcws+/vgjZGfnICtrAoCOZGUFBWfj888/w8SJk5CZOQwtLRbIcs9RvNncgs8//wz5+RORmjoUWq3WbXtvQ7N7y9hOHe+FnnqzzWaja8REf0ZKdMaREURERB18DuJTU1PxzDPP4K9//St+85vf4K9//SvOOussvPXWWxg+fHgwykgU0WRZxv79laiqqkJ6+kgUFRUDYG8B9a2nBE4OhwMNDfXQ65OwcOHtaG01uo4J9hrKGo0W06YVdQt4uwbDzt8nTuwIulUqdDuurq4GdXWHen2+w4fr3OYty7IMWZawf/9e1NSo++yJlyQH2trMqKz8AgUFkzz2rAdiaPZgdOzY0R7nlHc04piwY8d2twafvkZG9MaXtey94WkqRW/TKzpjgwIREYWSz0E8AHzyySd48cUXIQgCzjrrLOzfvx/PPPMMli5disTExECXkShidU0utmnTO8jOnoDFi3+Fyy//UaiLRxHAUwInURSRk5OPX/1qGfLzC/Dhh/907R/sNZQFQegx4O0aDKvVasTGxvZ4rlGjzsCwYd0bf52952effS4SEjx/pgiCComJcd164mNjtVCpOnqJO5+roOBspKYO6dZz7G3Q1pvBGtCNGnWGa5REVz0tMeds3PHUENQXX9ay90bHuvDume17m17RGadaEBFRKPkcxN9///149913kZ2djb/85S8466yz8Oabb+Lxxx/H1q1b8eCDD2Lu3Llen6+xsRErV65EeXk5bDYbJk+ejHvvvRfjxo0DACxfvhxvv/222zEj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot true value as a function of predicted value, with MAPIE uncertainty error bars for visualisation.\n", "plt.figure(figsize=(12,5))\n", "plt.errorbar(df['nn'], df['mapie_pred'], yerr=df['mapie_unc'].abs(), fmt='o',color='black', alpha=.8, ecolor='gray', elinewidth=1, capsize=10);\n", "plt.xlabel('Nearest neighbor (NN) similarity');\n", "plt.ylabel('Expected Mw');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MAPIE package uses the `alpha` parameter to set the uncertainty of the confidence interval, see here for details. It is possible to alter the uncertainty of the confidence interval by setting the `mapie_alpha` parameter of the QSARtuna model predictor. Here lower alpha produce larger (more conservative) prediction intervals. N.B: `alpha` is set to 0.05 by default and will hence provide more conservative predictions if not changed.\n", "\n", "The alpha settings as a function of uncertainty (over all point predictions) can be analysed for our toy example using the following (error bars denote deviations across all point predictions which have been extended by two standard error widths):" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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NgCQy4008jzUeuy9dNh76bD30ulpvbewMMFrTw7DubQCbNx1Fpfyr2HL/5Jw4lwenpnmAxfHXs0+riMWw+2I3mt9QDI0NARQPxap4XMAqKqqgpFR2xqmUolQKsvbVZeOjgxyuRGUygrU1Wn/oD1twt5Lh72XDnsvnZ7ee0dLIyx/Mgi/x1zCT8cycCG7GAs2HMUdQxwxfYwzTIz01MeKooi3v4kFACx5IrDdIenG3puYGGj0TJLWB6SGS2sKhQJOTk7q7QqFAu7u7m1+Xk3diVBXp+oWdzVoI/ZeOuy9dNh76fT03t8Z2BeB7tb44UgaohLzcTD2MqIS83F/qDNGetff7VZVXYfUy/VXd8orajW2GG5HBFOtv2Dq4eEBU1NTREVFqbcplUokJiYiKChIwsqIiIh6FgszA8y7xwsvP+IPO0tjXCuvwVd7k/HONu27203rzyDp6+tjxowZWLNmDXr37g0HBwe8//77sLW1xfjx46Uuj4iIqMcZ1M8Cy58cioOxl/Hzn5lIz1HirW9iMMbHXurSWkzrAxIAzJ8/H7W1tViyZAkqKysRFBSELVu2QE9P7/YPJiIiIo3T1ZFh4jAnDPO0wfeHUxGdpMAfZ65IXVaLdYuApKOjg5dffhkvv/yy1KUQERHRDSzMDPDMvYMxxrcI3x64gPyiCqlLahGtH4NEREREXd+g/r2xZGag1GW0GAMSERERdQpdLZpMU3sqJSIiIuok3WIMEhEREXV9+noyuDiaqz/vyhiQiIiIqFMIgoDFjwWoP+/KGJCIiIio03T1YNSga5/fIiIiIpIAAxIRERFREwxIRERERE0wIBERERE1wYBERERE1AQDEhEREVETDEhERERETTAgERERETXBgERERETUBAMSERERURMMSERERERNMCARERERNcGARERERNSEIIqiKHURXY0oilCp2t8WHR0Z6upUGqiIWou9lw57Lx32XjrsvXQaei+TCRAEQWPPy4BERERE1AQvsRERERE1wYBERERE1AQDEhEREVETDEhERERETTAgERERETXBgERERETUBAMSERERURMMSERERERNMCARERERNcGARERERNQEAxIRERFREwxIRERERE0wIBERERE1wYDUAVQqFT788EOMHj0afn5+ePrpp3Hp0iWpy+p2SkpK8OabbyIkJAQBAQF45JFHEBsbq94fGRmJadOmwdfXFxMnTsSvv/4qYbXdV2ZmJvz9/bFr1y71tqSkJMyYMQN+fn4ICwvDt99+K2GF3c/u3bsxadIkeHt7Y/Lkyfjtt9/U+y5fvox58+YhICAAo0aNwoYNG1BXVydhtd1HbW0tPvjgA4wdOxb+/v547LHHEB8fr97P933H+OyzzzBz5sxG227Xa438HhZJ4z766CNx2LBh4pEjR8SkpCTxySefFMePHy9WVVVJXVq3Mnv2bPHuu+8WY2JixIyMDHH58uWij4+PmJ6eLqalpYne3t7iunXrxLS0NPGLL74QPT09xb/++kvqsruV6upqcdq0aaKbm5sYEREhiqIoFhUVicOGDRMXL14spqWliTt37hS9vb3FnTt3Slxt97B7927R09NT3LZtm5idnS1++umnooeHh3jq1CmxurpaHD9+vDh37lzxwoUL4u+//y4OHTpU/OCDD6Quu1v48MMPxZEjR4rHjx8Xs7KyxNdff10cMmSImJ+fz/d9B9m2bZvo4eEhzpgxQ72tJb3WxO9hBiQNq6qqEv39/cXt27ert5WWloo+Pj7inj17JKyse8nKyhLd3NzE2NhY9TaVSiWOGzdO3LBhg/jGG2+I999/f6PHLFiwQHzyySc7u9Rube3ateLjjz/eKCBt2rRJHDVqlFhTU9PouPHjx0tVZrehUqnEsWPHiqtXr260/cknnxQ3bdok7tmzRxw8eLBYUlKi3hceHi4GBATwDzQNuOeee8R33nlH/fW1a9dENzc3cf/+/Xzfa1heXp44b9480c/PT5w4cWKjgHS7Xmvq9zAvsWlYcnIyrl+/juDgYPU2uVwOT09PxMTESFhZ92JhYYHNmzfD29tbvU0QBAiCAKVSidjY2Eb/DwBg+PDhiIuLgyiKnV1utxQTE4Pvv/8eq1evbrQ9NjYWQ4cOha6urnrb8OHDkZWVhYKCgs4us1vJzMxETk4OpkyZ0mj7li1bMG/ePMTGxsLLywvm5ubqfcOHD0dZWRmSkpI6u9xux9LSEkeOHMHly5dRV1eH77//Hvr6+vDw8OD7XsMSEhKgp6eHX375Bb6+vo323a7Xmvo9zICkYXl5eQAAOzu7Rtutra3V+6j95HI5xowZA319ffW2/fv3Izs7G6NHj0ZeXh5sbW0bPcba2hoVFRUoLi7u7HK7HaVSiVdeeQVLliy56b1+q94DQG5ubqfV2B1lZmYCAMrLy/HUU08hODgYDzzwAA4fPgyAve9or7/+OvT09HDHHXfA29sb69evx4cffggnJyf2XsPCwsLw0UcfoW/fvjftu12vNfV7mAFJwyoqKgCg0S9uADAwMEBVVZUUJfUIp06dwuLFizF+/HiEhoaisrLypv8HDV9XV1dLUWK3smzZMvj7+990JgNAs703MDAAAP4baKeysjIAwKJFi3D33Xfjyy+/xMiRI/Hcc88hMjKSve9gaWlpMDMzwyeffILvv/8e06ZNw8KFC5GUlMTed6Lb9VpTv4d1b38ItYahoSGA+l/CDZ8D9f/TjIyMpCqrWzt48CAWLlyIgIAArFmzBkD9P4SmQajha/5/aJ/du3cjNjYWe/bsaXa/oaHhTb1v+KFkbGzc4fV1Z3p6egCAp556ClOnTgUADBo0CImJifjqq6/Y+w6Um5uL//73v/j6668RGBgIAPD29kZaWho++ugj9r4T3a7Xmvo9zDNIGtZwSk+hUDTarlAoYGNjI0VJ3dq2bdvw4osvYuzYsdi0aZP6rwg7O7tm/x8YGxvDzMxMilK7jYiICBQWFiI0NBT+/v7w9/cHACxduhRz5syBra1ts70HwH8D7dTQPzc3t0bbXVxccPnyZfa+A505cwY1NTWNxj0CgK+vL7Kzs9n7TnS7Xmvq9zADkoZ5eHjA1NQUUVFR6m1KpRKJiYkICgqSsLLuZ8eOHVixYgUee+wxrFu3rtHp1MDAQERHRzc6/uTJkwgICIBMxrd9e6xZswZ79+7F7t271R8AMH/+fKxcuRJBQUGIi4trNPfOyZMnMWDAAFhaWkpUdffg5eUFExMTnDlzptH2lJQUODk5ISgoCImJiepLcUB9701MTODh4dHZ5XYrDWNeLly40Gh7SkoK+vfvz/d9J7pdrzX2e7j9N+NRU+vWrROHDh0qHjx4sNH8C9XV1VKX1m1kZGSIXl5e4vPPPy8qFIpGH0qlUkxJSRG9vLzE999/X0xLSxO3bNnCeZA60I23+RcUFIhBQUHiokWLxNTUVDEiIkL09vYWd+3aJXGV3cMnn3wi+vv7i3v27Gk0D9LJkyfFyspKcdy4ceJTTz0lJiUlqedB+uijj6QuW+vV1dWJjzzyiDhx4kQxMjJSzMzMFNevXy8OGjRIjI+P5/u+Ay1atKjRbf4t6bUmfg8zIHWA2tpa8b333hOHDx8u+vn5iU8//bR46dIlqcvqVjZu3Ci6ubk1+7Fo0SJRFEXx6NGj4t133y0OHjxYnDhxovjrr79KXHX3dWNAEkVRPHPmjPjggw+KgwcPFseOHStu3bpVwuq6ny+//FIMCwsTvby8xHvuuUf8/fff1fuysrLE2bNni97e3uKoUaPEDRs2iHV1dRJW232UlJSIy5YtE0NDQ0V/f3/xoYceEqOiotT7+b7vGE0Dkijevtea+D0siCInhSEiIiK6EQdjEBERETXBgERERETUBAMSERERURMMSERERERNMCARERERNcGARERERNQEAxIRERFREwxIRNQqM2fOhLu7Ox5++OFbHvPSSy/B3d0dr776arP7H374Ybi7u2P//v3/+ho3fgwePBihoaFYvnw5SktL1cfu2rUL7u7uuHz5snpb08c2/WhY1PjfZGVlwd3dHcOGDbtpYcxbve7ttOUxRCQNXakLICLtI5PJEB8fj7y8PPUaVQ3Ky8tx5MiRWz42IyMDp0+fhpubG8LDwzFhwoRmj/P09MTSpUvVX9fU1CAhIQHr1q1DUlISvvvuOwiCcMvXuf/++/HAAw80u68lC1ZGRETA2dkZ2dnZ2LdvH+65557bPoaIug8GJCJqNU9PT6SlpWHfvn2YNWtWo31HjhyBkZER5HJ5s4/dtWsXHBwcMG/ePCxcuBDZ2dno16/fTceZmprCz8+v0bagoCBcv34dH374Ic6cOXPT/hvZ2tr+6/5/U1dXh927d+Ohhx7C6dOnER4ezoBE1MPwEhsRtZqxsTHGjBmDffv23bRv7969mDBhAnR1b/77qyF4jB07FuPGjYOxsTG+//77Vr324MGDAQBXrlxpW/EtcOLECSgUCoSGhuKee+5BXFwc0tLS/vUxr776KmbOnImdO3di7Nix8Pf3xxNPPIHk5OSbjj1z5gwefvhheHt7IzQ0FF988UWj/ZcvX8Yrr7yCUaNGwcvLC8HBwXjllVdQXFys0e+TiG6NAYmI2mTSpEnqy2wNysrKcOzYMdx9993NPubYsWO4evUq7rvvPhgaGuKuu+7CTz/91OwYn1vJzMwEAPTt2/dfj1OpVKitrW3243YiIiLg6uqKwYMHY/z48TAxMUF4ePhtH5eUlIT169fjhRdewPvvv4/i4mLMmDEDCoWi0XHLli3D5MmTsXnzZvj7++P9999XX5asqKjA448/jvT0dCxduhRbtmzB448/jl9//RXr16+/bQ1EpBkMSETUJqGhoTAyMmp0Fun333+HpaUlhgwZ0uxjdu3aBTc3N3h7ewMApk2bhqKiomYHa4ui2CjUFBYW4rfffsPGjRvh7++vPpN0K59++im8vLya/SgqKrrl44qLi3H48GFMmzYNAGBkZIRJkybh559/RkVFxb++5rVr1/DBBx9g+vTpGDduHL744gtUV1fj22+/bXTcggULMHPmTAQHB2PVqlXQ09PDyZMnAdQPDre1tcWGDRtw5513Yvjw4Xj22WcxevRoREdH/+vrE5HmcAwSEbWJoaEhwsLCGo1D+vXXX3HXXXc1O3i6qKgIR44cwTPPPAOlUgkAcHV1hYODA77//ntMmTKl0fExMTHw8vJqtE0mk2HEiBF46623/nWANgA8+OCDePDBB5vdd6vxUQDwyy+/oK6uDqGhoeo677zzTvz444/Yu3cvpk+ffsvHOjo6IjAwUP21tbU1/P39ERMT0+i4G48xMjJCnz591K81aNAg7NixAyqVCllZWcjOzkZaWhoyMjJadPaLiDSDAYmI2uyuu+7CCy+8gLy8PBgYGCAyMhL/+c9/mj32l19+QU1NDT766CN89NFHjfbl5OQgPT0dzs7O6m1eXl5Yvnw5AEAQBBgYGMDOzg6mpqYtqs3a2lp9pqo1du3aBZVKhbvuuuumfeHh4f8akJq7O87S0hIJCQmNthkZGTX6WiaTQRRF9ddfffUVNm3ahJKSEvTp0weDBw+GkZERrl271tpvh4jaiAGJiNosJCQEJiYm2LdvH4yNjeHo6HjLS18RERHw9/fHSy+91Gh7eXk5nnvuOXz33XdYsmSJeruJiUmbAk57JCQkIDk5GfPnz290lgeov3y4detWJCUlYdCgQc0+vrlB1AUFBbC0tGxxDXv27MHq1avx8ssvY9q0aejduzcA4P/+7/9w7ty5Vnw3RNQeDEhE1Gb6+voYN24c9u/fD0NDQ0yePLnZ486dO4eUlBSsWLECw4YNu2n/8OHD8fPPP2PhwoUwNDTs6LJvKSIiAgYGBnjiiSduOlPl5OSE7du347vvvsNbb73V7OOzsrIanQnLz8/H6dOnMXfu3BbXEBcXB7lcjjlz5qi3Xb9+HXFxcc3eGUhEHYODtImoXSZNmoTTp08jKirqlgEpIiICenp6GD9+fLP77733XiiVSuzdu1djdeXl5SE+Pr7ZjwsXLtx0fHV1Nf73v/8hNDS02ct4dnZ2GDp0KPbs2YOysrJmX1MURTzzzDPYu3cv9u/fjzlz5sDc3BwzZ85scd0+Pj5QKpVYvXo1oqKisGfPHjz22GMoKCi47SBxItIc/jlCRO0yYsQIyOVy2NnZNRpD1KCqqgq//vorRo4ciV69ejX7HOPHj8fy5csRHh6uvnusvXbu3ImdO3c2u8/DwwM///xzo20HDx5EaWkpJk2adMvnvO+++3Dy5Ens2bMHBgYGN+23t7fHk08+iVWrVqGiogIjRozAxo0bb/l9N2fq1Km4fPkyIiIisGPHDtjY2GDMmDF49NFH8cYbb9w0VouIOoYg3jgykIiI2uTVV19FdHQ0Dh8+LHUpRKQBvMRGRERE1AQDEhEREVETvMRGRERE1ATPIBERERE1wYBERERE1AQDEhEREVETDEhERERETTAgERERETXBgERERETUBAMSERERURMMSERERERNMCARERERNfH/4N/K9/ieONEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "alpha_impact=[]\n", "for ma in range(1,100,5):\n", " mapie.predictor.mapie_alpha=ma/100\n", " preds = mapie.predict_from_smiles(df[config.data.input_column], uncert=True)\n", " unc_df = pd.DataFrame(\n", " data={\n", " \"pred\": preds[0],\n", " \"unc\": preds[1],\n", " \"alpha\": ma,\n", " }\n", " )\n", " alpha_impact.append(unc_df.reset_index())\n", "alpha_impact=pd.concat(alpha_impact).reset_index(drop=True)\n", "\n", "sns.lineplot(data=alpha_impact[alpha_impact['index']<=20],x='alpha',y='unc',err_style=\"bars\", errorbar=(\"se\", 2))\n", "plt.xlabel('MAPIE Alpha');\n", "plt.ylabel('MAPIE uncertainty (±MW)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected larger alpha values produce smaller (less conservative) prediction intervals." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Explainability" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Model explainability is incorporated into QSARtuna using two different approaches, depending on the algorithm chosen:\n", "1. **SHAP:** \n", " Any shallow algorithm is compatible with the SHAP package (even traditionally unsupported packages use the `KernelExplainer`)\n", "2. **ChemProp interpret:**\n", " This explainability approach is based on the interpret function in the original ChemProp package" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### SHAP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[SHAP](https://proceedings.neurips.cc/paper_files/paper/2017/hash/8a20a8621978632d76c43dfd28b67767-Abstract.html) (SHapley Additive exPlanations) are available in `QSARtuna` based on the implementation available at https://github.com/slundberg/shap. The method uses a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions (see [here](https://shap.readthedocs.io/en/latest/index.html) for more details on the published tool and [here](https://github.com/slundberg/shap#methods-unified-by-shap) for papers using the approach).\n", "\n", "In the following example, a `RIDGE` regressor is trained using the a comopsite descriptor based on the `ECFP`, `MACCS` keys and `PhysChem` descriptors:" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:15:13,266] A new study created in memory with name: my_study\n", "[I 2024-10-02 18:15:13,311] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_ridge.py:255: UserWarning: Singular matrix in solving dual problem. Using least-squares solution instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_ridge.py:255: UserWarning: Singular matrix in solving dual problem. Using least-squares solution instead.\n", " warnings.warn(\n", "[I 2024-10-02 18:15:15,004] Trial 0 finished with value: -0.3655099730804518 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.1404851303400703, 'descriptor': '{\"parameters\": {\"descriptors\": [{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}, {\"name\": \"MACCS_keys\", \"parameters\": {}}, {\"name\": \"UnscaledJazzyDescriptors\", \"parameters\": {\"jazzy_names\": [\"dga\", \"dgp\", \"dgtot\", \"sa\", \"sdc\", \"sdx\"], \"jazzy_filters\": {\"NumHAcceptors\": 25, \"NumHDonors\": 25, \"MolWt\": 1000}}}, {\"name\": \"UnscaledPhyschemDescriptors\", \"parameters\": {\"rdkit_names\": [\"MaxAbsEStateIndex\", \"MaxEStateIndex\", \"MinAbsEStateIndex\", \"MinEStateIndex\", \"qed\", \"SPS\", \"MolWt\", \"HeavyAtomMolWt\", \"ExactMolWt\", \"NumValenceElectrons\", \"NumRadicalElectrons\", \"MaxPartialCharge\", \"MinPartialCharge\", \"MaxAbsPartialCharge\", \"MinAbsPartialCharge\", \"FpDensityMorgan1\", \"FpDensityMorgan2\", \"FpDensityMorgan3\", \"BCUT2D_MWHI\", \"BCUT2D_MWLOW\", \"BCUT2D_CHGHI\", \"BCUT2D_CHGLO\", \"BCUT2D_LOGPHI\", \"BCUT2D_LOGPLOW\", \"BCUT2D_MRHI\", \"BCUT2D_MRLOW\", \"AvgIpc\", \"BalabanJ\", \"BertzCT\", \"Chi0\", \"Chi0n\", \"Chi0v\", \"Chi1\", \"Chi1n\", \"Chi1v\", \"Chi2n\", \"Chi2v\", \"Chi3n\", \"Chi3v\", \"Chi4n\", \"Chi4v\", \"HallKierAlpha\", \"Ipc\", \"Kappa1\", \"Kappa2\", \"Kappa3\", \"LabuteASA\", \"PEOE_VSA1\", \"PEOE_VSA10\", \"PEOE_VSA11\", \"PEOE_VSA12\", \"PEOE_VSA13\", \"PEOE_VSA14\", \"PEOE_VSA2\", \"PEOE_VSA3\", \"PEOE_VSA4\", \"PEOE_VSA5\", \"PEOE_VSA6\", \"PEOE_VSA7\", \"PEOE_VSA8\", \"PEOE_VSA9\", \"SMR_VSA1\", \"SMR_VSA10\", \"SMR_VSA2\", \"SMR_VSA3\", \"SMR_VSA4\", \"SMR_VSA5\", \"SMR_VSA6\", \"SMR_VSA7\", \"SMR_VSA8\", \"SMR_VSA9\", \"SlogP_VSA1\", \"SlogP_VSA10\", \"SlogP_VSA11\", \"SlogP_VSA12\", \"SlogP_VSA2\", \"SlogP_VSA3\", \"SlogP_VSA4\", \"SlogP_VSA5\", \"SlogP_VSA6\", \"SlogP_VSA7\", \"SlogP_VSA8\", \"SlogP_VSA9\", \"TPSA\", \"EState_VSA1\", \"EState_VSA10\", \"EState_VSA11\", \"EState_VSA2\", \"EState_VSA3\", \"EState_VSA4\", \"EState_VSA5\", \"EState_VSA6\", \"EState_VSA7\", \"EState_VSA8\", \"EState_VSA9\", \"VSA_EState1\", \"VSA_EState10\", \"VSA_EState2\", \"VSA_EState3\", \"VSA_EState4\", \"VSA_EState5\", \"VSA_EState6\", \"VSA_EState7\", \"VSA_EState8\", \"VSA_EState9\", \"FractionCSP3\", \"HeavyAtomCount\", \"NHOHCount\", \"NOCount\", \"NumAliphaticCarbocycles\", \"NumAliphaticHeterocycles\", \"NumAliphaticRings\", \"NumAromaticCarbocycles\", \"NumAromaticHeterocycles\", \"NumAromaticRings\", \"NumHAcceptors\", \"NumHDonors\", \"NumHeteroatoms\", \"NumRotatableBonds\", \"NumSaturatedCarbocycles\", \"NumSaturatedHeterocycles\", \"NumSaturatedRings\", \"RingCount\", \"MolLogP\", \"MolMR\", \"fr_Al_COO\", \"fr_Al_OH\", \"fr_Al_OH_noTert\", \"fr_ArN\", \"fr_Ar_COO\", \"fr_Ar_N\", \"fr_Ar_NH\", \"fr_Ar_OH\", \"fr_COO\", \"fr_COO2\", \"fr_C_O\", \"fr_C_O_noCOO\", \"fr_C_S\", \"fr_HOCCN\", \"fr_Imine\", \"fr_NH0\", \"fr_NH1\", \"fr_NH2\", \"fr_N_O\", \"fr_Ndealkylation1\", \"fr_Ndealkylation2\", \"fr_Nhpyrrole\", \"fr_SH\", \"fr_aldehyde\", \"fr_alkyl_carbamate\", \"fr_alkyl_halide\", \"fr_allylic_oxid\", \"fr_amide\", \"fr_amidine\", \"fr_aniline\", \"fr_aryl_methyl\", \"fr_azide\", \"fr_azo\", \"fr_barbitur\", \"fr_benzene\", \"fr_benzodiazepine\", \"fr_bicyclic\", \"fr_diazo\", \"fr_dihydropyridine\", \"fr_epoxide\", \"fr_ester\", \"fr_ether\", \"fr_furan\", \"fr_guanido\", \"fr_halogen\", \"fr_hdrzine\", \"fr_hdrzone\", \"fr_imidazole\", \"fr_imide\", \"fr_isocyan\", \"fr_isothiocyan\", \"fr_ketone\", \"fr_ketone_Topliss\", \"fr_lactam\", \"fr_lactone\", \"fr_methoxy\", \"fr_morpholine\", \"fr_nitrile\", \"fr_nitro\", \"fr_nitro_arom\", \"fr_nitro_arom_nonortho\", \"fr_nitroso\", \"fr_oxazole\", \"fr_oxime\", \"fr_para_hydroxylation\", \"fr_phenol\", \"fr_phenol_noOrthoHbond\", \"fr_phos_acid\", \"fr_phos_ester\", \"fr_piperdine\", \"fr_piperzine\", \"fr_priamide\", \"fr_prisulfonamd\", \"fr_pyridine\", \"fr_quatN\", \"fr_sulfide\", \"fr_sulfonamd\", \"fr_sulfone\", \"fr_term_acetylene\", \"fr_tetrazole\", \"fr_thiazole\", \"fr_thiocyan\", \"fr_thiophene\", \"fr_unbrch_alkane\", \"fr_urea\"]}}]}, \"name\": \"CompositeDescriptor\"}'}. Best is trial 0 with value: -0.3655099730804518.\n" ] } ], "source": [ "from optunaz.descriptors import CompositeDescriptor, UnscaledPhyschemDescriptors, UnscaledJazzyDescriptors\n", " \n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[\n", " CompositeDescriptor.new(\n", " descriptors=[\n", " ECFP.new(),\n", " MACCS_keys.new(),\n", " UnscaledJazzyDescriptors.new(),\n", " UnscaledPhyschemDescriptors.new(),\n", " ]\n", " )\n", " ],\n", " algorithms=[\n", " Ridge.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " ridge = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Predictions from the algorithms can be explained like so:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "scrolled": true }, "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", "
shap_valuedescriptorbitinfo
22272.042840e+01UnscaledPhyschemDescriptors7.0MolWt
22292.025345e+01UnscaledPhyschemDescriptors9.0ExactMolWt
22281.804976e+01UnscaledPhyschemDescriptors8.0HeavyAtomMolWt
22672.370409e+00UnscaledPhyschemDescriptors47.0LabuteASA
22302.106017e+00UnscaledPhyschemDescriptors10.0NumValenceElectrons
...............
8454.243703e-07ECFP846.0c(c(c)C)c(O)c
8044.243703e-07ECFP805.0N(S(N)(=O)=O)(C)C(C)=C
4234.243703e-07ECFP424.0N(=C(c)C)S(=O)(=O)N
9954.243703e-07ECFP996.0C(C(N)=C)(=O)N(C)C
13754.243703e-07ECFP1376.0S1(=O)(=O)N=C(c)C=C(C)N1C
\n", "

1570 rows × 4 columns

\n", "
" ], "text/plain": [ " shap_value descriptor bit \\\n", "2227 2.042840e+01 UnscaledPhyschemDescriptors 7.0 \n", "2229 2.025345e+01 UnscaledPhyschemDescriptors 9.0 \n", "2228 1.804976e+01 UnscaledPhyschemDescriptors 8.0 \n", "2267 2.370409e+00 UnscaledPhyschemDescriptors 47.0 \n", "2230 2.106017e+00 UnscaledPhyschemDescriptors 10.0 \n", "... ... ... ... \n", "845 4.243703e-07 ECFP 846.0 \n", "804 4.243703e-07 ECFP 805.0 \n", "423 4.243703e-07 ECFP 424.0 \n", "995 4.243703e-07 ECFP 996.0 \n", "1375 4.243703e-07 ECFP 1376.0 \n", "\n", " info \n", "2227 MolWt \n", "2229 ExactMolWt \n", "2228 HeavyAtomMolWt \n", "2267 LabuteASA \n", "2230 NumValenceElectrons \n", "... ... \n", "845 c(c(c)C)c(O)c \n", "804 N(S(N)(=O)=O)(C)C(C)=C \n", "423 N(=C(c)C)S(=O)(=O)N \n", "995 C(C(N)=C)(=O)N(C)C \n", "1375 S1(=O)(=O)N=C(c)C=C(C)N1C \n", "\n", "[1570 rows x 4 columns]" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ridge.predict_from_smiles(df[config.data.input_column], explain=True).query('shap_value > 0')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Outputs are ordered by shap_value (higher is more important). We see that the `UnscaledPhyschemDescriptors` bits corresponding to e.g. `MolWt`, `ExactMolWt`, `HeavyAtomMolWt` and `NumValenceElectrons`. We can hence interpret these as the most important features contrinubting to predicting the MolWt for the DRD2 datset. `UnscaledPhyschemJazzy` descriptors are also ranked relatively high in the list.\n", "\n", "Other descriptor types in the composite descriptor such as the ECFP fingerprints are also shown in the output. ECFP bits are translated to the atom environments for which the bit was turned on within the training set. \n", "\n", "Other descriptors are less interpretable as no additional information is available in the `info` column." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ChemProp interpret" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ChemProp explainability is based on the `interpret` in the [original package](https://chemprop.readthedocs.io/en/latest/interpret.html#interpretation).\n", "\n", "The follow example shows the usage:" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:15:20,410] A new study created in memory with name: my_study\n", "[I 2024-10-02 18:15:20,658] A new study created in memory with name: study_name_0\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__e0d3a442222d4b38f3aa1434851320db': 'ReLU', 'aggregation__e0d3a442222d4b38f3aa1434851320db': 'mean', 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50, 'depth__e0d3a442222d4b38f3aa1434851320db': 3, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'features_generator__e0d3a442222d4b38f3aa1434851320db': 'none', 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db'}\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 18:16:10,167] Trial 0 finished with value: -4937.540075659691 and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': 'e0d3a442222d4b38f3aa1434851320db', 'activation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation__e0d3a442222d4b38f3aa1434851320db': , 'aggregation_norm__e0d3a442222d4b38f3aa1434851320db': 100.0, 'batch_size__e0d3a442222d4b38f3aa1434851320db': 50.0, 'depth__e0d3a442222d4b38f3aa1434851320db': 3.0, 'dropout__e0d3a442222d4b38f3aa1434851320db': 0.0, 'ensemble_size__e0d3a442222d4b38f3aa1434851320db': 1, 'epochs__e0d3a442222d4b38f3aa1434851320db': 4, 'features_generator__e0d3a442222d4b38f3aa1434851320db': , 'ffn_hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'ffn_num_layers__e0d3a442222d4b38f3aa1434851320db': 2.0, 'final_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'hidden_size__e0d3a442222d4b38f3aa1434851320db': 300.0, 'init_lr_ratio_exp__e0d3a442222d4b38f3aa1434851320db': -4, 'max_lr_exp__e0d3a442222d4b38f3aa1434851320db': -3, 'warmup_epochs_ratio__e0d3a442222d4b38f3aa1434851320db': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. Best is trial 0 with value: -4937.540075659691.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\", # This will be split into train and test.\n", " ),\n", " descriptors=[SmilesFromFile.new()],\n", " algorithms=[\n", " ChemPropRegressor.new(epochs=4),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ")\n", "\n", "study = optimize(config, study_name=\"my_study\")\n", "build_best(buildconfig_best(study), \"../target/best.pkl\")\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " chemprop = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to SHAP, ChemProp explainability inference is called using the `explain` flag from the `predict_from_smiles`" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[18:16:26] Can't kekulize mol. Unkekulized atoms: 8 9 18 19 20 21 22 23 24\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18 19 20 21 22\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18 19 20 21 22\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17 18 19 20 21\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 4 5 14 15 16 17 18 19 20\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 12 13 14 15 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 12 13 14 15 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 9 10 11 12 13 14 15\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 8 9 10 11 12 13 14\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 7 11\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 7 10\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 5 6\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 7 8 17 18 19 20 21 22 23\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17 18 19 20 21\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17 18 19 20 21\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 12 13 14 15 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12 13 14 15 16\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 9 10 11\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 8 9 10\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 5 6\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18 19 20 21 22\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18 19 20 21 22\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 13 14 15 16 17 18 19\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 13 14 15\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 12 13 14\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 7 8 9\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 6 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 5 6 7\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 6 7\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 3 4 5\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 8 9 18 19 20\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 4 5 14 15 16\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 12 13 14\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 12 13 14\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 7 8 9\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 6 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 8 9 13 14 15 16 17 18 19\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12 13 14 15 16\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 4 5 9 10 11 12 13 14 15\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 7 8 9 10 11 12 13\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 7 8 9 10 11 12 13\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 8 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 8 11\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 6 7\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17 18 19 20 21\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 8 9 10\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 9 10\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 6 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 8 9\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 5 6 7\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 4 5 6\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17 18 19 20 21\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12 13 14 15 16\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12 13 14 15 16\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11 12 13 14 15\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 11 14\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 10 13\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 9 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 7 8 9 11 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 3 4 5\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 0 1 3 4 5\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12\n", "[18:16:26] Can't kekulize mol. Unkekulized atoms: 4 5 9 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 7 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 6 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 17 18 19\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 12 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 9 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 7 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 8 9 12 13 14 15 16 17 18\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12 13 14 15 16\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12 13 14 15 16\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 8 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 4 5 6 9 10\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 17 18 19\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 10 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18 19 20 21 22\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 8 9 10 12 13\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 12 16\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 11 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 10 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 9 13\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 8 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 6 7\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 8 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 10 11 12\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 4 5 6 9 10\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 4 5 8 9 10\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 15 16 17\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 8 9 10\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 5 6 7\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 10 11 12 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 12 13 14 15 16 17 18\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 11 12 13 14 15 16 17\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11 12 13 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 9 10\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 12 13 14 15 16 17 18\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11 12 13 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4 5 6 12 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 16 17 18\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 12 13 14\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 6 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 13 14 15 16 17 18 19\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 12 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 0 1 4 5 6\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 8 9 13 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 8 9 10 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 8 9 12 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 9 12 13\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 7 8 11 12 13\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 6 7 11 12 13 14 15 16 17\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 9 10 11 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 9 10 11 12 13 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 5 6 7 10 11\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 10 11 12 15 16\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 9 10 11 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 13 14\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 8 9\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 7 8\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 6 7\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 10 11 12 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 15 16\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 2 3 4 14 15\n", "[18:16:27] Can't kekulize mol. Unkekulized atoms: 11 12 13 15 16\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", "
smilesscorerationalerationale_score
0Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1386.097c1cc(CO[CH3:1])c[cH:1]c1389.151
0O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1389.485c1c[cH:1]c[cH:1]c1N[CH2:1][NH2:1]388.565
0COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1c...384.720CO[CH2:1]c1cccc[cH:1]1389.151
0CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N387.110c1c[cH:1]c(S[CH2:1][CH3:1])n[cH:1]1388.871
0CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12388.997n1c([CH2:1]N[CH3:1])[cH:1][cH:1][cH:1][n:1]1387.854
\n", "
" ], "text/plain": [ " smiles score \\\n", "0 Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1 386.097 \n", "0 O=C(Nc1ccc(F)cc1F)Nc1sccc1-c1nc2ccccc2s1 389.485 \n", "0 COC(=O)c1ccccc1NC(=O)c1cc([N+](=O)[O-])nn1Cc1c... 384.720 \n", "0 CCOC(=O)C(C)Sc1nc(-c2ccccc2)ccc1C#N 387.110 \n", "0 CCC(CC)NC(=O)c1nn(Cc2ccccc2)c(=O)c2ccccc12 388.997 \n", "\n", " rationale rationale_score \n", "0 c1cc(CO[CH3:1])c[cH:1]c1 389.151 \n", "0 c1c[cH:1]c[cH:1]c1N[CH2:1][NH2:1] 388.565 \n", "0 CO[CH2:1]c1cccc[cH:1]1 389.151 \n", "0 c1c[cH:1]c(S[CH2:1][CH3:1])n[cH:1]1 388.871 \n", "0 n1c([CH2:1]N[CH3:1])[cH:1][cH:1][cH:1][n:1]1 387.854 " ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "chemprop.predict_from_smiles(df[config.data.input_column].head(5), explain=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output contians the following:\n", "\n", "* The first column is a molecule and second column is its predicted property (in this dummy case MolWt).\n", "\n", "* The third column is the smallest substructure that made this molecule obtain that MolWt prediction (called rationale).\n", "\n", "* The fourth column is the predicted MolWt of that substructure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Log transformation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna can be used to transform input labels so that log-scaled or irregularly distributed data can be transformed to a normal distribution as required for most Machine Learning inputs. The following example shows how XC50 values can be scaled to pXC50 values by using the -Log10 to the 6th unit conversion, like so:" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:29,451] A new study created in memory with name: transform_example\n", "[I 2024-10-02 18:16:29,498] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:16:29,601] Trial 0 finished with value: -0.5959493772536109 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.5959493772536109.\n", "[I 2024-10-02 18:16:29,851] Trial 1 finished with value: -0.6571993250300608 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.5959493772536109.\n", "[I 2024-10-02 18:16:29,896] Trial 2 finished with value: -4.1511102853256885 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 0 with value: -0.5959493772536109.\n", "[I 2024-10-02 18:16:29,937] Trial 3 finished with value: -1.248706331711276 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 0 with value: -0.5959493772536109.\n", "[I 2024-10-02 18:16:29,953] Trial 4 finished with value: -0.6714912461080983 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.5959493772536109.\n", "[I 2024-10-02 18:16:29,973] Trial 5 finished with value: -0.2725944467796781 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,326] Trial 6 finished with value: -2.194926264155893 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,346] Trial 7 finished with value: -0.7520919188596032 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,539] Trial 8 finished with value: -0.7803723847416691 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,572] Trial 9 finished with value: -0.6397753979196248 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,592] Trial 10 finished with value: -4.151110299986041 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00044396482429275296, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3831436879125245e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,612] Trial 11 finished with value: -4.151110111437006 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00028965395242758657, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.99928292425642e-07, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,633] Trial 12 finished with value: -0.5410418750776741 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,669] Trial 13 finished with value: -0.7183231137124538 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.2725944467796781.\n", "[I 2024-10-02 18:16:31,706] Trial 14 finished with value: -0.2721824844856162 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.4060379177903557, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,786] Trial 15 finished with value: -1.1900929470222508 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,824] Trial 16 finished with value: -2.194926264155893 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.344271094811757, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,854] Trial 17 finished with value: -0.5585323973564646 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.670604991178476, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,927] Trial 18 finished with value: -1.3169218304262786 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.2721824844856162.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:31,948] Trial 19 finished with value: -0.7974925066137679 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5158832554303112, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,967] Trial 20 finished with value: -1.2183952264663362 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,987] Trial 21 finished with value: -1.1474226942497083 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009327650919528738, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.062479210472502, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:31,992] Trial 22 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:32,014] Trial 23 finished with value: -1.0239005731675412 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1366172066709432, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:32,098] Trial 24 finished with value: -0.7803723847416691 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:32,140] Trial 25 finished with value: -2.178901060853144 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 43.92901911959232, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.999026012594694, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.2721824844856162.\n", "[I 2024-10-02 18:16:32,162] Trial 26 finished with value: -0.27137790098830755 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5888977841391714, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 26 with value: -0.27137790098830755.\n", "[I 2024-10-02 18:16:32,186] Trial 27 finished with value: -0.2710284516876423 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.19435298754153707, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 27 with value: -0.2710284516876423.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-0.5410418750776741]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:32,274] Trial 28 finished with value: -1.3169218304262786 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 13, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,303] Trial 29 finished with value: -3.6273152492418945 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 1.6285506249643193, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.35441495011256785, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,396] Trial 30 finished with value: -1.1900929470222508 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,420] Trial 31 finished with value: -2.194926264155893 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2457809516380005, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,441] Trial 32 finished with value: -2.1907041717628215 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6459129458824919, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,465] Trial 33 finished with value: -1.3209075619139279 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8179058888285398, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.2710284516876423.\n", "[I 2024-10-02 18:16:32,474] Trial 34 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:32,499] Trial 35 finished with value: -0.2709423025014604 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0920052840435055, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,520] Trial 36 finished with value: -1.3133943310851415 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8677032984759461, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,528] Trial 37 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:32,551] Trial 38 finished with value: -1.257769959239938 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.2865764368847064, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,627] Trial 39 finished with value: -0.40359637945134746 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-0.5410418750776741]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-1.2183952264663362]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:32,723] Trial 40 finished with value: -0.4127882135896648 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,736] Trial 41 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:32,819] Trial 42 finished with value: -0.5959493772536109 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 25, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,847] Trial 43 finished with value: -0.9246005133276615 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:32,935] Trial 44 finished with value: -0.8908739215746118 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.2709423025014604.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-1.248706331711276]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:32,974] Trial 45 finished with value: -1.107536316777608 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,000] Trial 46 finished with value: -2.194926264155893 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6437201185807124, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,024] Trial 47 finished with value: -4.054360360588395 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 82.41502276709562, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.10978379088847677, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,048] Trial 48 finished with value: -0.5428179904345867 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.022707289534838138, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,073] Trial 49 finished with value: -0.569627364221335 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,103] Trial 50 finished with value: -0.27099769667470536 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1580741708125475, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,134] Trial 51 finished with value: -0.2709564785634315 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10900413894771653, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,164] Trial 52 finished with value: -0.2709799905898163 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.13705914456987853, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,194] Trial 53 finished with value: -0.27097230608092054 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.12790870116376127, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,224] Trial 54 finished with value: -0.2709499903064464 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10123180962907431, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,255] Trial 55 finished with value: -0.2710895886052581 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.26565663774320425, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.2709423025014604.\n", "[I 2024-10-02 18:16:33,286] Trial 56 finished with value: -0.2708711012023424 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.005637048678674678, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.2708711012023424.\n", "[I 2024-10-02 18:16:33,321] Trial 57 finished with value: -0.27092322402109364 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.06902647427781451, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.2708711012023424.\n", "[I 2024-10-02 18:16:33,353] Trial 58 finished with value: -0.2712140349882 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4076704953178294, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.2708711012023424.\n", "[I 2024-10-02 18:16:33,396] Trial 59 finished with value: -0.27090080367174 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.04187106800188596, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.2708711012023424.\n", "[I 2024-10-02 18:16:33,441] Trial 60 finished with value: -0.27086925247190047 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.003371853599610078, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,481] Trial 61 finished with value: -0.2708933298483799 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.032781796328385376, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,514] Trial 62 finished with value: -0.27087205624489635 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.006806773659187283, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,554] Trial 63 finished with value: -0.2708869511176179 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.025009489814943348, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,580] Trial 64 finished with value: -0.2711465077924297 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.3311125627707556, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,622] Trial 65 finished with value: -0.2708756855936628 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.011249102380159387, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:33,652] Trial 66 finished with value: -0.27087301924224993 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.007985924302396141, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.27086925247190047.\n", "[I 2024-10-02 18:16:33,683] Trial 67 finished with value: -0.2708685399954944 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00249856291483601, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.2708685399954944.\n", "[I 2024-10-02 18:16:33,713] Trial 68 finished with value: -0.27121879554836553 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4130244908975993, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.2708685399954944.\n", "[I 2024-10-02 18:16:33,747] Trial 69 finished with value: -0.2708693196600531 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0034541978803366022, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.2708685399954944.\n", "[I 2024-10-02 18:16:33,784] Trial 70 finished with value: -0.27110195265802334 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.27994943662091765, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.2708685399954944.\n", "[I 2024-10-02 18:16:33,824] Trial 71 finished with value: -0.2708682582859318 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0021532199144365088, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:33,858] Trial 72 finished with value: -0.27087024523986086 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0045884092728113585, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:33,889] Trial 73 finished with value: -0.27087351807632193 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.008596600952859433, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:33,936] Trial 74 finished with value: -0.2710818633795896 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.2567049271070902, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:33,973] Trial 75 finished with value: -0.27103241786565463 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1990111983307052, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,003] Trial 76 finished with value: -0.2710350879598171 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.20214459724424078, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,036] Trial 77 finished with value: -0.2708688328221868 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00285750520671645, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,083] Trial 78 finished with value: -0.27100832234449684 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.17064008990759916, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,168] Trial 79 finished with value: -0.27268613236193845 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.8725420109733135, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,203] Trial 80 finished with value: -0.27119617446689237 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.387533542012365, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,236] Trial 81 finished with value: -0.2708691110831552 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0031985656730512953, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,268] Trial 82 finished with value: -0.27086852174155146 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.002476186542950981, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,302] Trial 83 finished with value: -0.27135383618835024 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5626643670396761, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,335] Trial 84 finished with value: -0.2709819654433871 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1394077979875128, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,370] Trial 85 finished with value: -0.2718548944510965 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.0858347526799794, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,408] Trial 86 finished with value: -4.1508084699212935 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.03329943145150872, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00025672309762227527, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:34,440] Trial 87 finished with value: -0.27249853374634975 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.702026434077893, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,470] Trial 88 finished with value: -0.27095660957755363 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10916094511173127, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,520] Trial 89 finished with value: -0.27102160995407715 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.18630665884100353, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,556] Trial 90 finished with value: -0.27095708822582026 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10973377642487026, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,591] Trial 91 finished with value: -0.27088222008661084 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.019235980282946118, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,623] Trial 92 finished with value: -0.2708703086029017 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.004666043957133775, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,658] Trial 93 finished with value: -0.27095279044622245 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1045877457096882, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,695] Trial 94 finished with value: -0.2709408288690431 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.09023455456986404, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,737] Trial 95 finished with value: -0.9289218260898663 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8200088368788958, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.2708682582859318.\n", "[I 2024-10-02 18:16:34,774] Trial 96 finished with value: -0.27086675101898655 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00030502148265565063, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.27086675101898655.\n", "[I 2024-10-02 18:16:34,812] Trial 97 finished with value: -0.2710491243757999 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.21858260742423916, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.27086675101898655.\n", "[I 2024-10-02 18:16:34,846] Trial 98 finished with value: -4.1491615840508995 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.024725853754515203, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0011658455138452, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.27086675101898655.\n", "[I 2024-10-02 18:16:34,879] Trial 99 finished with value: -0.2709462479577586 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0967427718847167, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.27086675101898655.\n" ] } ], "source": [ "from optunaz.utils.preprocessing.transform import (\n", " LogBase,\n", " LogNegative,\n", " ModelDataTransform\n", ")\n", "\n", "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Measurement\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/sdf/example.sdf\",\n", " split_strategy=Stratified(fraction=0.4),\n", " deduplication_strategy=KeepMedian(),\n", " log_transform=True, # Set to True to perform\n", " log_transform_base=LogBase.LOG10, # Log10 base will be used\n", " log_transform_negative=LogNegative.TRUE, # Negated transform for the pXC50 calculation\n", " log_transform_unit_conversion=6, # 6 units used for pXC50 conversion\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100,\n", " n_startup_trials=50,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "transformed_study = optimize(config, study_name=\"transform_example\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In comparison, QSARtuna does not normally transform the data:" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:38,216] A new study created in memory with name: non-transform_example\n", "[I 2024-10-02 18:16:38,218] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:16:38,320] Trial 0 finished with value: -3501.942111261296 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -3501.942111261296.\n", "[I 2024-10-02 18:16:38,389] Trial 1 finished with value: -5451.207265576796 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -3501.942111261296.\n", "[I 2024-10-02 18:16:38,431] Trial 2 finished with value: -208.1049201007814 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,476] Trial 3 finished with value: -9964.541364058234 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,492] Trial 4 finished with value: -3543.9536085399013 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,512] Trial 5 finished with value: -6837.057544630979 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,531] Trial 6 finished with value: -2507.1794330606067 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,571] Trial 7 finished with value: -21534.719219668405 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,638] Trial 8 finished with value: -2899.736555614694 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 2 with value: -208.1049201007814.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.294e+02, tolerance: 2.760e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 18:16:38,690] Trial 9 finished with value: -21674.445000284228 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,708] Trial 10 finished with value: -208.1049203123567 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00044396482429275296, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3831436879125245e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 2 with value: -208.1049201007814.\n", "[I 2024-10-02 18:16:38,723] Trial 11 finished with value: -208.1049192609138 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00028965395242758657, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.99928292425642e-07, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,739] Trial 12 finished with value: -3630.727680937561 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,768] Trial 13 finished with value: -3431.9428169672683 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,786] Trial 14 finished with value: -6908.462045154488 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.4060379177903557, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,852] Trial 15 finished with value: -5964.65935954044 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,871] Trial 16 finished with value: -21070.107195348774 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.344271094811757, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,888] Trial 17 finished with value: -4977.068508997133 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.670604991178476, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 11 with value: -208.1049192609138.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:38,944] Trial 18 finished with value: -8873.669262669626 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,970] Trial 19 finished with value: -21387.63697424318 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5158832554303112, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:38,989] Trial 20 finished with value: -9958.573006910125 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 11 with value: -208.1049192609138.\n", "[I 2024-10-02 18:16:39,006] Trial 21 finished with value: -180.5182695600183 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009327650919528738, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.062479210472502, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 21 with value: -180.5182695600183.\n", "[I 2024-10-02 18:16:39,011] Trial 22 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:39,040] Trial 23 finished with value: -20684.56412138056 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1366172066709432, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 21 with value: -180.5182695600183.\n", "[I 2024-10-02 18:16:39,097] Trial 24 finished with value: -2899.736555614694 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 21 with value: -180.5182695600183.\n", "[I 2024-10-02 18:16:39,115] Trial 25 finished with value: -150.3435882510586 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 43.92901911959232, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.999026012594694, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,132] Trial 26 finished with value: -7068.705383113378 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5888977841391714, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,151] Trial 27 finished with value: -7150.482090052133 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.19435298754153707, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,206] Trial 28 finished with value: -8873.669262669626 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 13, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-3630.727680937561]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:39,224] Trial 29 finished with value: -203.93637462922368 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 1.6285506249643193, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.35441495011256785, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,289] Trial 30 finished with value: -5964.65935954044 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,308] Trial 31 finished with value: -2570.5111262532305 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2457809516380005, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,335] Trial 32 finished with value: -21987.659957192194 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6459129458824919, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,353] Trial 33 finished with value: -9889.493204596083 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8179058888285398, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,358] Trial 34 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:39,376] Trial 35 finished with value: -7172.208490771303 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0920052840435055, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,395] Trial 36 finished with value: -9804.512701665093 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8677032984759461, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,399] Trial 37 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:39,418] Trial 38 finished with value: -9165.74081120673 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.2865764368847064, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,481] Trial 39 finished with value: -543.0280270800017 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,550] Trial 40 finished with value: -161.1602933782954 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,556] Trial 41 pruned. Duplicate parameter set\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-3630.727680937561]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-9958.573006910125]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-9964.541364058234]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:39,623] Trial 42 finished with value: -3501.888460860864 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 25, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,643] Trial 43 finished with value: -8414.932694243476 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,710] Trial 44 finished with value: -2270.5407991891466 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,729] Trial 45 finished with value: -10383.79559309305 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,749] Trial 46 finished with value: -20815.025469865475 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6437201185807124, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,768] Trial 47 finished with value: -206.7560385808573 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 82.41502276709562, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.10978379088847677, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,788] Trial 48 finished with value: -5264.4700789389035 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.022707289534838138, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,806] Trial 49 finished with value: -3668.2550641354246 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,831] Trial 50 finished with value: -156.12174877890536 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 56.793408178086295, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 9.99902820845678, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,856] Trial 51 finished with value: -157.371632749506 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 57.88307313087517, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 8.140915461519354, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,883] Trial 52 finished with value: -153.66773675231477 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 46.177324126813716, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 40.77906017834145, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,909] Trial 53 finished with value: -186.52056745848623 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 89.4565714180547, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 93.6710444346508, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,936] Trial 54 finished with value: -153.30976119334312 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 35.62916671166313, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 40.023639423189294, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,963] Trial 55 finished with value: -181.053696900694 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 23.914617418880486, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 86.31140591484044, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:39,989] Trial 56 finished with value: -201.33573874994386 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 12.569769302718845, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.5781354926491789, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,016] Trial 57 finished with value: -190.1384885119049 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 95.87666716965626, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 98.2537791489618, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,043] Trial 58 finished with value: -208.076949848299 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.9559574710535281, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0032830967319653665, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,068] Trial 59 finished with value: -170.764974036324 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 15.03910427457823, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 3.406811480459925, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,095] Trial 60 finished with value: -164.4477304958181 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 17.701690847791482, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 4.819274780536123, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:40,122] Trial 61 finished with value: -157.87939164358104 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 28.32187661108304, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 7.660320437878754, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,150] Trial 62 finished with value: -157.01705178481896 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 38.61397716361812, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 8.603665957830847, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,178] Trial 63 finished with value: -155.73257312230092 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 40.759645965959294, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 11.503212714246787, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,204] Trial 64 finished with value: -154.46848394144124 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 93.8546740801317, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 15.35327336610912, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,233] Trial 65 finished with value: -161.20421802817864 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 93.57596974747163, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 51.84756262407801, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,264] Trial 66 finished with value: -190.51233215278089 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 6.3564642040401464, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.5034542273159819, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,294] Trial 67 finished with value: -207.68667089892196 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 24.034895878929095, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.03653571911285094, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 25 with value: -150.3435882510586.\n", "[I 2024-10-02 18:16:40,324] Trial 68 finished with value: -102.52277054278186 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.01961499216484045, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 17.670937191883546, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 68 with value: -102.52277054278186.\n", "[I 2024-10-02 18:16:40,354] Trial 69 finished with value: -97.28722475694815 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.012434370509176538, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 19.34222704431493, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 69 with value: -97.28722475694815.\n", "[I 2024-10-02 18:16:40,383] Trial 70 finished with value: -93.87402050281146 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.008452015347522093, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 24.914863578437455, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 70 with value: -93.87402050281146.\n", "[I 2024-10-02 18:16:40,412] Trial 71 finished with value: -89.38847505937936 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.01573542234868893, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.99307522974174, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 71 with value: -89.38847505937936.\n", "[I 2024-10-02 18:16:40,443] Trial 72 finished with value: -81.96336195786391 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.009845516063879428, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 80.59422914099683, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 72 with value: -81.96336195786391.\n", "[I 2024-10-02 18:16:40,472] Trial 73 finished with value: -89.19345618324213 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.009382525091504246, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 98.35573659237662, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 72 with value: -81.96336195786391.\n", "[I 2024-10-02 18:16:40,506] Trial 74 finished with value: -86.30772721342525 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.010579672066291478, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 84.35550323165882, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 72 with value: -81.96336195786391.\n", "[I 2024-10-02 18:16:40,541] Trial 75 finished with value: -90.23970902543148 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.013369359066405863, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 87.4744102498801, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 72 with value: -81.96336195786391.\n", "[I 2024-10-02 18:16:40,589] Trial 76 finished with value: -81.34331248758777 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.011398351701814368, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 72.54146340620301, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 76 with value: -81.34331248758777.\n", "[I 2024-10-02 18:16:40,647] Trial 77 finished with value: -208.104535853341 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.011708779850509646, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.682286191624579e-05, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 76 with value: -81.34331248758777.\n", "[I 2024-10-02 18:16:40,702] Trial 78 finished with value: -80.0653774146952 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.009806826677473646, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 76.90274406278985, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 78 with value: -80.0653774146952.\n", "[I 2024-10-02 18:16:40,739] Trial 79 finished with value: -81.64646042813787 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0038598153381434685, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 73.20918134828555, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 78 with value: -80.0653774146952.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:40,776] Trial 80 finished with value: -78.68420472011734 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0032474576673554513, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 98.35551178979624, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:40,822] Trial 81 finished with value: -80.85985201823172 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.003187930738019005, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 89.29431603544847, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:40,860] Trial 82 finished with value: -80.21583898009355 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.003122319313153475, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 93.83526418992966, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:40,903] Trial 83 finished with value: -83.34787242859676 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.002781955938462633, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 89.76228981520067, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:40,954] Trial 84 finished with value: -194.70914272129673 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0023173546614751305, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.3000082904498813, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:40,998] Trial 85 finished with value: -208.10492031097328 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.002606064524407, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 1.7861330234653922e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:41,031] Trial 86 finished with value: -208.1049154281806 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0029210589377408366, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 4.200933937391094e-07, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:41,074] Trial 87 finished with value: -208.10492028002287 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.06431564840324226, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 3.2981641934644904e-09, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:41,109] Trial 88 finished with value: -196.56066541774658 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0010848843623839548, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.151493073951163, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 80 with value: -78.68420472011734.\n", "[I 2024-10-02 18:16:41,144] Trial 89 finished with value: -76.76337597039308 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.004134805589645341, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 90.88115336652716, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 89 with value: -76.76337597039308.\n", "[I 2024-10-02 18:16:41,190] Trial 90 finished with value: -108.58009587759925 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.004763418454688096, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 22.02920758025023, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 89 with value: -76.76337597039308.\n", "[I 2024-10-02 18:16:41,234] Trial 91 finished with value: -113.35230417583477 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009098023238189749, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 79.57100980886017, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 89 with value: -76.76337597039308.\n", "[I 2024-10-02 18:16:41,270] Trial 92 finished with value: -113.30807467406214 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.03739791555156691, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.12818940557025, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 89 with value: -76.76337597039308.\n", "[I 2024-10-02 18:16:41,307] Trial 93 finished with value: -76.44100655116532 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.006380481141720477, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 88.4882351186755, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n", "[I 2024-10-02 18:16:41,346] Trial 94 finished with value: -150.35181001564942 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0036244007454981787, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 5.608797806921866, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n", "[I 2024-10-02 18:16:41,385] Trial 95 finished with value: -124.3719027482892 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0014198536004321608, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 35.05588994284273, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n", "[I 2024-10-02 18:16:41,424] Trial 96 finished with value: -95.28568052794907 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.005434972462746285, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 30.215759789700954, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n", "[I 2024-10-02 18:16:41,477] Trial 97 finished with value: -20325.66479442037 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.9696417046589247, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n", "[I 2024-10-02 18:16:41,512] Trial 98 finished with value: -132.21507621375022 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0004528978867024753, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 84.80386923876023, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:41,555] Trial 99 finished with value: -166.85570350846885 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0016948043699497222, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 5.455627755557016, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 93 with value: -76.44100655116532.\n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Measurement\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/sdf/example.sdf\",\n", " split_strategy=Stratified(fraction=0.4),\n", " deduplication_strategy=KeepMedian(),\n", " log_transform=False, # Shown for illustration: Log transform defaults to False\n", " log_transform_base=None, # Shown for illustration: Log10 base is None/ignored if not log scaled\n", " log_transform_negative=None, # Shown for illustration: negation is None/ignored if not log scaled\n", " log_transform_unit_conversion=None, # Shown for illustration: conversion is None/ignored if not log scaled\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100,\n", " n_startup_trials=50,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "default_study = optimize(config, study_name=\"non-transform_example\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The importance of scaling can be analysed by directly contrasting the two different studies with and without log transformation:" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABMUAAAHkCAYAAAA+ZphVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddZwVVf/A8c/M3N7uZZdukO4OEbED88F+MAETWx/jsQsLEeNnoCB2PAagIliENEhJ53bfvTkzvz/u7oXL7pILS3zfrxcv3TkTZ86de8/Md04opmmaCCGEEEIIIYQQQghxAlHrOgNCCCGEEEIIIYQQQhxpEhQTQgghhBBCCCGEECccCYoJIYQQQgghhBBCiBOOBMWEEEIIIYQQQgghxAlHgmJCCCGEEEIIIYQQ4oQjQTEhhBBCCCGEEEIIccKRoJgQQgghhBBCCCGEOOFIUEwIIYQQQgghhBBCnHAkKCbEMcQ0zbrOgjgA8nkJIcSxS37Djy3yeQkhhDgYEhQT4hixcOFCrr/++rrORoSysjJuvPFGOnbsSPfu3dm0aVNdZynCsmXLGDZsGH6/n23bttGqVSu++OKLw37ckpIS7r77bhYsWHDYjwUQDAa58MILueKKK6qkffHFF5x11lm0b9+eIUOGMH78eILBYMQ669at44YbbqB79+707NmTe+65h9zc3HD6vffeS6tWrWr8t3379hrz9uKLL1a7zf/93/9Vu/7OnTvp2rUrr776aniZ3+/ntNNOY8mSJQdYMkIIcXB+/vln7rnnnrrORoSsrCwuu+wy2rdvT+/evfF4PHWdpQjTp09nxIgRAMybN49WrVoxb968w37crKwsrr/++r3WRbXh/fffZ+jQoXTo0IHzzz+f2bNn73Ob3NxcHnzwQQYPHkznzp0ZPnw433//fTj9iy++2Gv9+uWXXwJw991389Zbbx22cxNCiBOZpa4zIITYP59++inr16+v62xE+Oqrr/jll1946KGHaNGiBfXr16/rLIX5fD7uuece7rrrLmw22xE99qpVq/j666+54IILjsjx3nzzTZYvX06PHj0ilr///vs8+eSTDBs2jLvuuovCwkJeeeUV1qxZEw46ZWdnc+WVV9KwYUOee+45PB4PL774Itdccw1ffvklVquVUaNGcemll0bsu7i4mFtvvZUePXqQkZFRY95Wr15Njx49GDt2bMTy6rYxTZP777+fsrKyiOU2m40777yTe+65h6+//hqHw3FA5SOEEAfqvffeq+ssVPH++++zZMkSnnvuOdLS0nA6nXWdpbD8/HweffTROgnc/Pnnn/sVoDoU7777Ls899xyjR4+mXbt2fP7559x0001MmjSJbt26VbuN3+/n2muvpbS0lFtuuYXU1FSmT5/O7bffjt/v57zzzmPQoEF8/PHHVbZ98MEHKSsrY+DAgQCMHTuWs88+m5NPPplmzZod1nMVQogTjQTFhBAHraioCIARI0agKErdZmYPU6ZMwWKxcMopp9R1Vg6r1atX88Ybb5CSkhKxXNd1JkyYQN++fXnllVfCy9u2bcvZZ5/NH3/8Qd++ffn0008pLS3l9ddfJyEhAYDExESuvPJK5s6dS//+/WnYsCENGzaM2P/NN99MXFwczz///F4/+1WrVjF8+HA6deq0z3OZMmUKGzZsqDbtlFNO4aWXXuKjjz7immuu2ee+hBDieFNUVERqaipnnHFGXWelitdff50OHTpw0kkn1XVWap3X62XChAlcc801jB49GoABAwZw6aWX8tprr/Huu+9Wu92sWbNYvXo1n376KR06dACgb9++7Nixg7fffpvzzjuPxMREEhMTI7abNGkS69evZ+rUqeG0tLQ0zjrrLJ577jkmTpx4GM9WCCFOPNJ9Uhz1Tj75ZJ588kmuuuoqOnTowAMPPBBubr5t27Yq6957773hv1u1asXkyZN54IEH6NGjB507d+bWW28lLy+vxuPtqyn77t26qsvrK6+8wjPPPEOfPn3o0KEDI0eOrNKt8I8//mDEiBF07dqVnj17MnbsWHbu3Fnjfu+9916+/PJLtm/fHu4CWNkd8N133+W0006jY8eOfP755wD89NNPjBgxgs6dO9OuXTtOO+00Jk+eHN5fZbeGOXPm8O9//5uOHTvSt29fnnvuOXRdj8jnxRdfTOfOnenevTs33XRTuLXaFVdcES6L1q1bh8u9tLSUp556ilNOOYX27dtz1lln8dlnn1Uppz0/093zdMUVV9ChQwcGDRrEp59+Sk5ODmPGjKFz584MHDhwn2/w/X4/7777LmeddVaVtOzsbG644QY6dOjAwIEDeeWVVyLOGUKt8s4880zatWvHoEGDePXVVyPWKSgoYOzYsfTt25f27dtz7rnn8tVXX4XL9sorrwTgyiuvrLZLIxzadbb7ed59991cccUVNGnSJCItLy+PoqIiBg0aFLG8ZcuWJCQkMGvWLCAU0JwyZUo4IAZgtVqBUGu76syePZsZM2Zw3333ERsbW2P+CgoKyM7Opk2bNvs8l61bt/L888/z2GOP1bjO2Wefzbvvvovf79/n/oQQR59jpT6/4oormD9/PvPnzw93Aayso6ZOncrgwYPp0qULf/zxBxCqMyqD/x06dODcc8/lhx9+iMhH27ZtWbp0KZdccgnt27dn8ODBVbqRf/vtt5xzzjl06NCBXr16ceedd5KdnR0ujy+++IIdO3ZE5D0nJ4f77ruPgQMH0qFDBy688EJ+/vnniP22atWK8ePHM3z4cDp06MD48eP54osvaN++PQsWLOCCCy6gffv2DBs2jJkzZ7JhwwauuuoqOnbsyNChQ/nuu+/2+rkWFBTw2WefVVvnrlu3jhEjRtC+fXuGDh3KBx98EJFuGAZvvvkmQ4cOpV27dgwbNqzKOlu2bOHGG2+kZ8+edOzYkUsuuSTcMuyLL77gvvvuA2DIkCER18zuXn311b1eC3sbWmHp0qWUlJQwdOjQ8DJFURg6dCjz5s3D6/VWu110dHT4895d06ZN2bJlS7Xb5OXl8dJLL/Gvf/2Ljh07RqSdffbZzJo1i7Vr19aYVyGEEAdOWoqJY8LkyZO55ppruO6664iKimLjxo37ve2LL77I0KFDGTduHFu3buWpp55C0zTGjRtX7fo1NWWvlJ6evtfjTZo0ia5du/LUU09RXFzME088wT333BPe51dffcU999zDWWedxQ033BDu0nbJJZfw5ZdfkpSUVGWfo0aNoqCggJUrVzJ+/HgaNmxIeXk5ELrRe+CBB4iOjqZjx47MmjWL0aNHc+WVV3LzzTfj9XqZMmUK//3vf2nXrl3ETdadd97JiBEjuO6665g1axZvv/02DRo04NJLL2Xr1q2MGjWKCy64gDvuuIOSkhLGjRvH9ddfz48//sjDDz/Mu+++y2effcbHH39MYmIiXq+XESNGkJ+fzy233EJmZiY//fQTDzzwAHl5edx4443hY+/5mVYGOu644w6uv/56Ro0axZtvvsnDDz9Mw4YNOf3007nsssuYMmUKTz31FF26dAm/ed3TvHnzyM7O5tRTT62S9uqrr3Leeefx2muvsXjxYiZOnEhZWRn3338/AG+88QYvvvgil19+Offddx+rVq3i1VdfZefOnTz55JMA3HXXXeGuItHR0Xz99dfcc889pKen065dOx566CH++9//8tBDD9GzZ89q83io1xnAa6+9RjAY5JZbbmHkyJERabGxsVgsFnbs2BGxvLi4mJKSErZu3QoQ8Zba5/OxatUq/vvf/9KwYUP69etX5ZimafLMM8/Qo0cPTjvttL3mb/Xq1UDobfnTTz9NTk4OLVq04Pbbbw93CYHQQ9G9997L6aefzoABA2rc32mnnca4ceOYP39+tXkTQhz9joX6/OGHH+auu+4K/3/z5s35+++/ARg/fjwPPvggXq+Xzp07M3nyZB5//HFuvvlmunbtSnFxMW+99RZ33nknnTt3Dh/DMAxuu+02rr76am677TY+++wznn32WVq2bEn//v1ZuHAhd999N6NGjaJ79+5kZWXx3HPPMXbsWD788EPGjx/PSy+9FL4PSE9PJy8vjwsvvBC73c7tt99OQkICX3zxBaNHj+bZZ5/lnHPOCZ/TxIkTGTt2LE2aNCEzM5Ply5cTDAYZO3YsY8aMoV69ejz//PPceeedJCcn869//Ysbb7yR8ePHc88999C1a9cay2vGjBkEg0EGDx5cJe2pp57iyiuvZNSoUcycOZPHH38cwzC46qqrAHjkkUf44osvuOGGG+jcuTN//fUXTz75JCUlJYwePRrDMLjhhhtITU3l2WefxWKxMGnSJG666SZ++OEHBg0axE033cTrr7/O+PHjadWqVbV5vOiii+jfv3+N18KeraF3V/kysHHjxhHLGzVqhK7rbNmyhZYtW1bZrk+fPvTp0ydiWSAQYPbs2TRv3rzaY73yyiuoqsptt91WJa1z586kpaXx7bffcscdd9SYXyGEEAdGgmLimJCRkcGdd94Z/vtAbqJbtmzJU089Ff572bJlTJs2rcb1q2vKfiBiY2OZMGECmqYBoTecr776KoWFheHuZv369eOFF14Ib9OlSxfOOOMM/u///o+77767yj4bNmxIYmIiNpst3A2tMih2+umnR4xd9e2333L++efzwAMPhJd17tyZnj17Mm/evIig2EUXXRTuCtC7d29++uknZs2axaWXXsqyZcvwer3ccMMNpKWlAaEHiJ9//pny8nKaN28evkGuzNOUKVNYu3YtU6dOpXPnzgD079+fYDDIhAkTuPTS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gYFzc3MjBjs/WHfeeScbNmzgvffeo3PnzthsNjweD5988skB72v3LgoLFy7k448/ZuLEibRu3bpKiyuAuLg4Nm/eXGV5bm4uQK2c3/5ISEgIB7D2tHvwC3Z9FklJSQQCAQCef/75KmOHwK6b+5iYGO666y7uuusuNmzYwM8//8yECRN49NFHefPNN/crj/tznSUkJFRZp379+owfP57t27dXaZEHcNJJJ/HUU08xfPhwfvnlF2JjY+natSstWrQAQt0zsrKyaNu2LRDq9uLz+SJaI1gsFlq1alVlMN/ffvuNYDC4z7HEKs2ePRuv18uwYcMilvt8PhITE9m5cydLly5l6dKl4YkKKk2YMIEJEybw888/R7RAKCkpqRJoE0Icu47V+hxCeb7++uuxWq189tlntGnTBovFwrp16/j6668PeH/9+/enf//+eDwe5s6dy6RJk3j88cfp2LFjta2C4+LiwvXr7uqizq0pULO3Oreyi+D7779fbdfLyt/6tLQ0HnnkER5++GFWr17NtGnTeOutt0hISODhhx/erzxefPHFVSae2V39+vXDn+PumjRpEm49tnnz5ojPYfPmzVit1moDk5VKS0u5/vrrWbJkCffff3+NrcCys7NZuXLlXluJQagOPFKfqxBCnCgkKCaOSZVvNrOyssJjSaxfvz781vFQJCQkHLYbjiZNmpCSkhIe96vS1q1bWbJkSZU3lLvb3y4eCxcu5JJLLokY4P3XX38Fqj507M17773H+++/z/Tp07HZbPTu3Zt27drxww8/VBm8vVL37t354YcfWLx4cUTA5ptvvsFqte61q19tysjIYPbs2ZimWaVF26xZsyK6c3z33Xc4nU46duxIIBDAarWSnZ3N2WefHV5n1apVPPvss4waNQrDMBgxYkS4hVPTpk1p2rQpS5YsCQcEd+8+W5P9vc72nLUK4PXXX6/SLafyweDRRx8NB5GmTp1KUVFRxEDT77//PpqmhQdE/vrrr5k5cyY///xz+HtVVlbG4sWL6dKlS8Qxli5dSnp6+n63hps2bRrTp0+nZ8+e4YBweXk5s2bNolevXqSmplb7wHrhhRdy8cUXc/HFF0c8tJqmSXZ2dpXWc0KIY9fRWp+rqrrPOrOwsJCNGzdy//33R/xWH0yd+8wzzzB//nw+++wznE4ngwcPpl69epx77rns2LGj2vqze/fuTJo0ie3bt0f8Ln/zzTekpKRU2yL4cMjIyGDdunXVps2aNSuiO+Z3331HvXr1aNSoUXiG48LCQnr16hVeZ/bs2XzwwQfcd999bNmyhdGjRzNx4kQ6dOhAmzZtaNOmDbNnzw7fi+zP/VFaWlp4fNS9qa7O7dy5My6Xi+nTp4c/B9M0+fHHH+nRo0e143pCqOX2jTfeyPLly3nxxRf3+kJp6dKlAFXq3T1lZWXtdx0shBBi/0hQTByTevbsicPh4Omnn+bWW2/F7XbzyiuvhB+8j1aqqnLHHXdw3333MXbsWM455xwKCwsZP348cXFxEYPg7ik2Npa8vDxmz5691zFZOnTowP/+9z9OOukk0tPTWbRoEW+++SaKoux17JU99erVi+eff57Ro0dz+eWXo2kaU6dOxWazVTvDFMDw4cOZMmUKo0eP5pZbbqF+/frMnDmTzz//nDFjxtQ4cGxt69u3L2+++SZr166tMhPVjBkzSEtLo0+fPvz+++98/PHH3HrrreEHs2uvvZaXX36ZsrIyevbsSXZ2Ni+//DKKotC6dWtiYmJIT0/n8ccfp6ysjIYNG7JixQpmz57NDTfcAOzqSjFr1izi4uLCXWlqS3Wza1W+Zd/9hv6KK65g5MiRPPnkk5x88snMmTOHN954g+uuuy788Hnttdcybdo0brrpJkaOHInf7+ett97C7XZX6Va0Zs2aGicOgFA3ooKCgvC4P5X7vu6667jhhhswDIO33noLj8fDzTffjM1mq/YBBEItOPZMW7t2LaWlpXudQUwIcWw5Wuvz2NhYFi9ezJw5c8Ita/eUlJREZmYmkydPJj09ndjYWH777TcmTZoEcMB17rvvvsu9997LOeecQyAQ4O233yY+Pj4iYLS7a665hm+++Yarr76aMWPGEB8fz1dffcXcuXN58sknD3i8tIPVt29ffvjhB0pLS6t0Jfzggw+Iioqibdu2fPfdd/z22288++yzKIpCq1atOOecc/jPf/7D9u3badeuHRs3buTFF1+kfv36NG7cmGAwiMPh4O677+bmm28mOTmZP//8k1WrVoVfJFbeW/z4448MGDCAZs2a1er5OZ1O/v3vf/Paa69htVrp3Lkzn3/+OX///Xf4s4ZQwKqyJbbNZmPy5MksWLCASy65hPT0dJYsWRKx393HyFu7di02m22vs2CapsnixYu5/PLLa/X8hBDiRCdBMXFMio2N5dVXX+WFF15g9OjRZGZmMmbMmCpdsI5Gw4cPJyoqijfeeIPRo0cTHR1N//79ueOOO6odj2v37WbPnh0OOO05eG2lp59+mscee4zHHnsMCE0h/uijj/LNN9+wYMGC/c5n69atmThxIq+99hp33HEHuq7Trl073nnnHZo2bVrtNk6nkw8++IAXXnghHFhq2rQpTzzxBBdeeOF+H/tQdevWjaSkJGbPnl0lgPTAAw/w3Xff8d5775GSksL9998f0ULvtttuIyUlhSlTpvD2228TFxdH7969ueOOO8I3++PHj2fcuHG8/PLLFBYWUq9ePcaMGRMei6xFixacddZZTJ48md9++41vv/32iJ377ipnOX399df5+OOPycjI4MEHH4wYn6ZZs2ZMnjyZF154gbvvvptgMEiPHj144oknqgTA8vPza5zuHkJdHr/88kvWrFkT3veHH37IuHHjeOCBB/D7/XTv3p0nnnhir91NavLrr7+SkpKyzzfpQohjx9Fan1922WWsWLGC6667jqeeeqrGrpYTJkzgiSee4N5778Vms9G8eXNef/11nnzySRYsWFDjeGB7GjhwIM8//zzvvPMOY8aMQVEUunbtyqRJk2oMEKakpPDRRx/xwgsv8PjjjxMIBGjdujUTJkw4oi1qBw8ejMVi4bfffqtyb/L444/z9ttv89JLL9GgQQPGjRsXMYbYU089xRtvvMHUqVPJysoiKSmJM844g9tuuw1N09A0jXfeeYcXXniBJ554gpKSEho3bsx///tfhg8fDoQCq3369OGFF15gzpw5+z2MwYEYPXo0mqbxySef8M4779C8eXMmTJhA165dw+t8+umnjB8/Ptztf8aMGQB8/PHHES22K1XWlRDqVrqvF4fLly+nsLBwv4cwEEIIsX8Uc28jlAohxDHqnXfe4aOPPmLGjBnVTgogji2maTJs2DBGjBjB1VdfXdfZEUIIsZvHHnuMf/75J6LllKhd999/P0VFRUyYMKGusyKEEMeVI9OuWgghjrARI0ZgGAbTpk2r66yIWjBjxgx0XefSSy+t66wIIYTYw4033sjq1atZtmxZXWfluLRz505mzJjBrbfeWtdZEUKI444ExYQQxyWHw8Fzzz3Hiy++WGVQenFs8fv9jBs3jmeffRaHw1HX2RFCCLGHlJQUHnnk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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "comparison = pd.concat((default_study.trials_dataframe().assign(run=f'no transform (best ={study.best_value:.2f})'),\n", " transformed_study.trials_dataframe().assign(run=f'transform (best ={transformed_study.best_value:.2f})')))\n", "\n", "default_reg_scoring= config.settings.scoring\n", "ax = sns.relplot(data=comparison, x=\"number\", y=\"value\", \n", " col='run',hue='params_algorithm_name', \n", " facet_kws={\"sharey\":False})\n", "ax.set(xlabel=\"Trial number\",ylabel=f\"Ojbective value\\n({default_reg_scoring})\")\n", "ax.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example shows the influence of scaling the pXC50 values to the log scale. The non-noramlised distribution of the unlogged data yields very large (negative) model evaluation scores, since evaluation metrics such as MSE are relative, and the scale of the error is reported in performance values.\n", "\n", "Users generate predictions for a model trained on log transformed data in the same way as the normal models, like so:" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1126.56968721, 120.20237903])" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the best Trial from the log transformed study and build the model.\n", "buildconfig = buildconfig_best(transformed_study)\n", "best_build = build_best(buildconfig, \"../target/best.pkl\")\n", "\n", "# generate predictions\n", "import pickle\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " model = pickle.load(f)\n", "model.predict_from_smiles([\"CCC\", \"CC(=O)Nc1ccc(O)cc1\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NB: Please note that outputs have automatically been reversed transformed at inference, back onto the original XC50 scale, as shown by large values outside the log pXC50.\n", "\n", "This is the default behaviour of QSARtuna; reverse transform is performed at inference when log transformation was applied, so that users can action on prediction the original input data scale. Importantly, a user can easily override this behaviour by providing the transform parameter as `None`:" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2.94824194, 3.92008694])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.predict_from_smiles([\"CCC\", \"CC(=O)Nc1ccc(O)cc1\"], transform=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will instruct QSARtuna to avoid the reverse transform on the predictions. This transform parameter is ignored if no transformation was applied in the user config.\n", "\n", "Log transformation can also be combined with the PTR transform. In this situation, all user inputs are expected to be on the untransformed scale. For example, if a user wishes to create a PTR model, trained on pXC50 data and a cut-off for pXC50 values of 5 (10um), the following config can be used:" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:47,381] A new study created in memory with name: ptr_and_transform_example\n", "[I 2024-10-02 18:16:47,424] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:16:47,523] Trial 0 finished with value: -0.002341918451736245 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.002341918451736245.\n", "[I 2024-10-02 18:16:47,589] Trial 1 finished with value: -0.0024908979029632686 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.002341918451736245.\n", "[I 2024-10-02 18:16:47,634] Trial 2 finished with value: -0.007901407671048116 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 0 with value: -0.002341918451736245.\n", "[I 2024-10-02 18:16:47,678] Trial 3 finished with value: -0.00496231674623194 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 0 with value: -0.002341918451736245.\n", "[I 2024-10-02 18:16:47,695] Trial 4 finished with value: -0.0026848278110363512 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -0.002341918451736245.\n", "[I 2024-10-02 18:16:47,717] Trial 5 finished with value: -0.0010872728889471893 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,738] Trial 6 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,754] Trial 7 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,818] Trial 8 finished with value: -0.002999462459688867 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,835] Trial 9 finished with value: -0.00825680029907454 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,852] Trial 10 finished with value: -0.007901407993550248 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00044396482429275296, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3831436879125245e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,869] Trial 11 finished with value: -0.007901405163828307 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00028965395242758657, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.99928292425642e-07, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,886] Trial 12 finished with value: -0.0021653695362066753 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,902] Trial 13 finished with value: -0.0028691694869710156 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -0.0010872728889471893.\n", "[I 2024-10-02 18:16:47,918] Trial 14 finished with value: -0.0010855652626111146 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.4060379177903557, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:47,981] Trial 15 finished with value: -0.005505338042993082 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,000] Trial 16 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.344271094811757, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,016] Trial 17 finished with value: -0.002236800860454562 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.670604991178476, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,079] Trial 18 finished with value: -0.006105985607235417 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.0010855652626111146.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:48,098] Trial 19 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5158832554303112, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,117] Trial 20 finished with value: -0.004846526544994462 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,136] Trial 21 finished with value: -0.006964668794465202 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009327650919528738, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.062479210472502, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,140] Trial 22 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:48,156] Trial 23 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1366172066709432, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,222] Trial 24 finished with value: -0.002999462459688867 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,241] Trial 25 finished with value: -0.008384326901042542 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 43.92901911959232, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 27.999026012594694, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 14 with value: -0.0010855652626111146.\n", "[I 2024-10-02 18:16:48,260] Trial 26 finished with value: -0.001082194093844804 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5888977841391714, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 26 with value: -0.001082194093844804.\n", "[I 2024-10-02 18:16:48,281] Trial 27 finished with value: -0.0010807084256204563 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.19435298754153707, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 27 with value: -0.0010807084256204563.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-0.0021653695362066753]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:48,341] Trial 28 finished with value: -0.006105985607235417 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 13, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,360] Trial 29 finished with value: -0.008384326901042542 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 1.6285506249643193, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.35441495011256785, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,425] Trial 30 finished with value: -0.005505338042993082 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,445] Trial 31 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.2457809516380005, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,462] Trial 32 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6459129458824919, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,478] Trial 33 finished with value: -0.005247934991526694 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8179058888285398, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 27 with value: -0.0010807084256204563.\n", "[I 2024-10-02 18:16:48,483] Trial 34 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:48,502] Trial 35 finished with value: -0.0010803393728928605 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0920052840435055, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,519] Trial 36 finished with value: -0.005218354425190125 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.8677032984759461, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,524] Trial 37 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:48,543] Trial 38 finished with value: -0.004999207507691546 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.2865764368847064, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,610] Trial 39 finished with value: -0.0015694919308122928 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,678] Trial 40 finished with value: -0.001975769419400139 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-0.0021653695362066753]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-0.004846526544994462]\n", "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}, return [-0.00496231674623194]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:48,683] Trial 41 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:16:48,750] Trial 42 finished with value: -0.002341918451736245 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 25, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,771] Trial 43 finished with value: -0.00368328296527152 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,839] Trial 44 finished with value: -0.003412828259848677 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 9, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,860] Trial 45 finished with value: -0.004412110711416997 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,879] Trial 46 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6437201185807124, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,898] Trial 47 finished with value: -0.008384326901042542 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 82.41502276709562, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.10978379088847677, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,918] Trial 48 finished with value: -0.0021743798524909573 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.022707289534838138, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,938] Trial 49 finished with value: -0.0022761245849848527 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,963] Trial 50 finished with value: -0.0010805768178458735 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1580741708125475, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:48,988] Trial 51 finished with value: -0.001080400188305814 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10900413894771653, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:49,011] Trial 52 finished with value: -0.0010805009783570441 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.13705914456987853, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:49,034] Trial 53 finished with value: -0.0010804680472500541 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.12790870116376127, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:49,059] Trial 54 finished with value: -0.0010803723579987025 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10123180962907431, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:49,081] Trial 55 finished with value: -0.001080969596032512 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.26565663774320425, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 35 with value: -0.0010803393728928605.\n", "[I 2024-10-02 18:16:49,105] Trial 56 finished with value: -0.0010800333715082816 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.005637048678674678, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.0010800333715082816.\n", "[I 2024-10-02 18:16:49,128] Trial 57 finished with value: -0.0010802574700236845 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.06902647427781451, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.0010800333715082816.\n", "[I 2024-10-02 18:16:49,155] Trial 58 finished with value: -0.0010814994986419817 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4076704953178294, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.0010800333715082816.\n", "[I 2024-10-02 18:16:49,181] Trial 59 finished with value: -0.001080161136846237 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.04187106800188596, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 56 with value: -0.0010800333715082816.\n", "[I 2024-10-02 18:16:49,205] Trial 60 finished with value: -0.0010800254136811547 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.003371853599610078, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,230] Trial 61 finished with value: -0.0010801290036870739 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.032781796328385376, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:49,255] Trial 62 finished with value: -0.001080037482216557 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.006806773659187283, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,280] Trial 63 finished with value: -0.0010801015705851358 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.025009489814943348, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,305] Trial 64 finished with value: -0.0010812122378841013 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.3311125627707556, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,329] Trial 65 finished with value: -0.0010800531021304936 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.011249102380159387, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,352] Trial 66 finished with value: -0.00108004162698813 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.007985924302396141, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 60 with value: -0.0010800254136811547.\n", "[I 2024-10-02 18:16:49,375] Trial 67 finished with value: -0.0010800223466649803 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00249856291483601, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.0010800223466649803.\n", "[I 2024-10-02 18:16:49,401] Trial 68 finished with value: -0.0010815197263834202 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4130244908975993, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.0010800223466649803.\n", "[I 2024-10-02 18:16:49,425] Trial 69 finished with value: -0.0010800257029027847 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0034541978803366022, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.0010800223466649803.\n", "[I 2024-10-02 18:16:49,449] Trial 70 finished with value: -0.0010810223438672223 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.27994943662091765, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 67 with value: -0.0010800223466649803.\n", "[I 2024-10-02 18:16:49,475] Trial 71 finished with value: -0.0010800211339555509 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0021532199144365088, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,500] Trial 72 finished with value: -0.0010800296871141684 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0045884092728113585, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,526] Trial 73 finished with value: -0.0010800437739166451 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.008596600952859433, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,550] Trial 74 finished with value: -0.0010809366267195716 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.2567049271070902, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,576] Trial 75 finished with value: -0.001080725386603206 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1990111983307052, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,605] Trial 76 finished with value: -0.0010807368035830652 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.20214459724424078, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,631] Trial 77 finished with value: -0.0010800236072155854 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00285750520671645, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,658] Trial 78 finished with value: -0.0010806223050773966 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.17064008990759916, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,683] Trial 79 finished with value: -0.0010876516369772728 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.8725420109733135, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,708] Trial 80 finished with value: -0.00108142358144501 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.387533542012365, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,734] Trial 81 finished with value: -0.0010800248050489667 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0031985656730512953, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,760] Trial 82 finished with value: -0.001080022268085466 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.002476186542950981, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:49,787] Trial 83 finished with value: -0.0010820922958715991 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.5626643670396761, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,816] Trial 84 finished with value: -0.0010805094397523254 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1394077979875128, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,846] Trial 85 finished with value: -0.0010841993753324146 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.0858347526799794, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,873] Trial 86 finished with value: -0.007899735988203994 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.03329943145150872, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00025672309762227527, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,900] Trial 87 finished with value: -0.0010868762004637347 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.702026434077893, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,925] Trial 88 finished with value: -0.001080400750193767 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10916094511173127, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,950] Trial 89 finished with value: -0.0010806791616300314 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.18630665884100353, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:49,976] Trial 90 finished with value: -0.0010804028029753213 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.10973377642487026, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,004] Trial 91 finished with value: -0.0010800812188506515 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.019235980282946118, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,031] Trial 92 finished with value: -0.0010800299598580359 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.004666043957133775, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,058] Trial 93 finished with value: -0.0010803843696362083 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.1045877457096882, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,086] Trial 94 finished with value: -0.001080333048974234 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.09023455456986404, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,114] Trial 95 finished with value: -0.008706109201510277 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.8200088368788958, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 71 with value: -0.0010800211339555509.\n", "[I 2024-10-02 18:16:50,142] Trial 96 finished with value: -0.001080014645182176 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.00030502148265565063, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.001080014645182176.\n", "[I 2024-10-02 18:16:50,170] Trial 97 finished with value: -0.0010807968027851892 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.21858260742423916, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.001080014645182176.\n", "[I 2024-10-02 18:16:50,200] Trial 98 finished with value: -0.007907028395366658 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.024725853754515203, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0011658455138452, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.001080014645182176.\n", "[I 2024-10-02 18:16:50,227] Trial 99 finished with value: -0.0010803563024666294 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.0967427718847167, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 96 with value: -0.001080014645182176.\n" ] } ], "source": [ "ptr_config_log_transform = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Measurement\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/sdf/example.sdf\",\n", " split_strategy=Stratified(fraction=0.4),\n", " deduplication_strategy=KeepMedian(),\n", " log_transform=True, # Set to True to perform\n", " log_transform_base=LogBase.LOG10, # Log10 base will be used\n", " log_transform_negative=LogNegative.TRUE, # Negated transform for the pXC50 calculation\n", " log_transform_unit_conversion=6, # 6 units used for pXC50 conversion\n", " probabilistic_threshold_representation=True, # This enables PTR\n", " probabilistic_threshold_representation_threshold=5, # This defines the activity threshold for 10um\n", " probabilistic_threshold_representation_std=0.6, # This captures the deviation/uncertainty in the dataset\n", "\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=100,\n", " n_startup_trials=50,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "ptr_transformed_study = optimize(ptr_config_log_transform, study_name=\"ptr_and_transform_example\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Analysis of the study is performed in the same manner as above:" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "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TxceaFuNuxtVwGDVfogiIvllMpny/CFVRJzDqQnis88+y9ChQ4mNjeWee+7BYDCwa9cuPv30U9auXcucOXOc2T0RKeYMNhs1y/sy+akWpFttGI0G3M0GLNd4PlFERESkqDLYnLzCwsaNG5kzZw4RERH2ssDAQEaOHMlDDz3kxJ7dvCwWK9HRiQXaptlsxN/fi5iYRNL14bdQKdaOo1g7luLtOIq14xRUrAMCvDCZbordxURErsqpI4gA3bp1o1u3bhw9epTY2Fh8fHyoWrUqRmPWX6K7du2iTp06eHp6OqmnIiIiIiIit7ab5qusqlWr0qhRI6pXr54tObRYLPTr149jx445qXciIiIiIiK3vpsmQbwW7TUmIiIiIiJSuJw+xVRE5GZhc0sjMS379jpeLp4YUlyc0CMRERERx7rhBDElJQVXV1cMBkNB9EdExGkS05IY++20bOUzQ8bjja8TeiQiIiLiWNeVIB49epQFCxawfft2EhISWLduHf/73/+oWrUqjz/+eEH3UURERERERBwg388gHjhwgF69evHXX3/RrVs3+7OBJpOJ0NBQ1q9fX+CdFBERERERkcKX7xHEmTNnUrduXZYvXw7AmjVrAJgwYQIpKSmsWrWKHj16FGwvRUREREREpNDlewTxt99+48knn8RsNmd77rBz584cP368oPomIiIiIiIiDpTvEUQ3NzeSk5NzPBYbG4urq+sNd0pExBm8XDyZGTI+x3JSnNAhEREREQfL9whiq1atWLBgAREREfYyg8FAYmIiy5cv58477yzQDkLG843Tp0+nQoUKBd62iEgmQ4oL3lbfbH+0xYWIiIgUF/keQXzhhRd4+OGH6dSpE7Vq1cJgMDBjxgyOHTuGzWZj7ty5Vz1/3Lhx+bre9OnTAfRco4iIiIiISCHLd4JYtmxZPvvsM9577z127txJcHAwSUlJdO3alf79+1O6dOmrnh8WFpbl56ioKNLT0ylXrhylSpUiNjaWkydP4urqSq1atfLbPREREREREblO17UPor+/P88///x1XXDr1q32v2/cuJHZs2ezcOFC6tevby//559/GDJkCPfdd991XUNERERERETyL98J4q5du65Zp2nTpnlqa968eYwaNSpLcghQvXp1Ro4cyfTp03niiSfy20URERERERG5DvlOEB9//HEMBgM2m81eduV2FwcO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ihUrmDNnDsuWLcNms/Hee+9Ru3Zt3n77bSWHIiIiIiIiDpTvBHHNmjVMnTo11+0uWrdunee2duzYQcOGDVm7di3JycnExcXh7e2Nl1fh7PEnIiIiIiIiucv3XIfVq1fTtm1bwsLCGDBgAL179+a3337jjTfewM3NLV9bNwwbNsy+0qe7uztBQUFKDkVERERERJwk3wlieHg4ffr0wdfXl7p167Jnzx7c3d3p2LEjTz/9NKtWrcpzWz4+PvYN50VERERERMS58j3F1MXFxZ7UVapUiX///Ze0tDRcXFxo3Lhxnja2zzR48GCmTp3KsWPHqFWrFp6entnq5LZPoYiIiIiIiBSsfCeIt99+O9999x3NmzenSpUqWK1Wfv/9d5o0aUJERES+2po4cSIA8+bNA8iylYbNZsNgMOR5T0URERERERG5MflOEPv378/QoUOJj48nNDSU9u3b8+KLL3LvvfeyceNGGjdunOe28jMdVURERERERApXvhPEkJAQlixZwpEjRwB47bXXGD16NGvXrqVevXq8+uqreW6rWbNm+b28iIiIiIiIFJJ8J4gWi4W7776bu+++GwB/f3+WL19+3R0oqD0VRUQcweaWRmJaUrZyLxdPDCkuTuiRiIiISMHJd4LYunVrunTpwgMPPEC9evVu6OIFuaeiiIgjJKYlMfbbadnKZ4aMxxtfJ/RIREREpODke5uLrl27smXLFnr37k2nTp1YsmQJp06duq6LF+SeiiIiIiIiInJj8p0gjh8/nh9++IHly5fTpEkTVqxYQYcOHejbty/r1q3jwoULeW6rIPdUFBERERERkRuT7wQRMrajaNmyJVOnTuWnn37irbfeomzZskyePJk2bdrkuZ3c9lQEaNy4McePH7+e7omIiIiIiMh1uK4EMVN6ejo//fQTmzdv5ocffgCgZcuWeT4/c09FIMueikC+91QUERERERGRG5PvRWpsNhs7d+7kiy++4JtvviEuLo769eszfPhwOnfujL+/f57bKsg9FUVEHMHLxZOZIeNzLCfFCR0SERERKUD5ThDbtGnD+fPnKVeuHH369OGBBx6gcuXK13XxgtxTUUTEEQwpLjmvVqrkUERERG4B+U4Q27Vrx/3330+TJk0KpAMFuaeiiIiIiIiIXL98J4ivvfZagV389OnT16xTrly5ArueiIiIiIiI5C7fCWJBateuHQaD4ap1Dhw44KDeiIiIiIiIFG9OTRBDQ0OzJYhJSUns3r2bsLAwQkNDndQzERERERGR4sepCeKDDz6YY/ljjz3G9OnT2bhxo/35RBERERERESlcN7QPYmFq164d33//vbO7ISIiIiIiUmxc9wjitm3b2L59O1FRUYwaNYoDBw5Qp04dypcvXyAd+/333zGbnTrAKSIiIiIiUqzkOwO7ePEizz33HNu3b8fb25vExESeeuopPvzwQ/bv38/q1au57bbb8tTWuHHjspVZrVYiIiLYtWsXvXr1ym/3RERERERE5DrlO0GcO3cuf/31F++99x5NmjShbt26AMycOZOnnnqKN954g0WLFuWprbCwsGxlBoMBb29vBg0axDPPPJPf7omIiIiIiMh1yneC+OWXXzJq1ChatGiBxWKxl5cuXZpnn302X/skbt26Nb+XFxERERERkUKS70Vq4uPjc33O0NfXl6SkpBvulIiIiIiIiDhevkcQb7vtNjZu3Ejr1q2zHdu6dWuenz+EjJVKr9wHMTcGg4Fvv/02z22L3GxsbmkkpiVhsEFCXBwWmxWbEbxcPDGkuDi7eyIiIiIi+U8Qn332WYYOHUpsbCz33HMPBoOBXbt28emnn7J27VrmzJmT57Z69OjB6tWrgYxkMSgoiNjYWH788UdOnz5Np06dcHd3z28XRW5KiWlJjP12WrbymSHj8cbXCT0SEREREckq3wliSEgIr7/+OnPmzGHbtm0AzJgxg8DAQCZNmkSnTp3y3FZCQgJVqlTh3XffxcvLy16enp7OkCFDKFGiRL6eaRQREREREZHrd10bDXbr1o1u3bpx9OhRYmNj8fHxoWrVqhiN+XukccOGDUyfPj1LcghgNpvp27cvzz//vBJEERERERERB8l3gvjcc8/RvXt37r77bqpWrXrDHYiNjc2xPDw8HDc3txtuX0RERERERPIm36uYhoeHM2zYMFq3bs3EiRP59ddfr/vid999N3PmzOGHH36wl9lsNr755hveeOMNunXrdt1tXyklJYXJkyfTsmVLGjZsyOjRo4mOjr7qOeHh4QwePJhGjRrRunVr5s+fn2VrD4A1a9bQvn176tevT58+fdi/f3+W44sXL6ZmzZrZ/oiIiIiIiNxsDDabzZbfk44cOcKmTZvYvHkz//77LxUqVOD+++/ngQceoFKlSnlu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fUe99i3123fUa9+pqV6HhQXpKKSINAiNIiD6+fnRoUOHC04/cOAAeXl5lJeXex3xy8nJISoqqtploqOjOXjwoNdYTk4OUBFIK08tzcnJ8XruH6/zgQceYOTIkeTk5NC8eXPS09OxLIs2bdpc+Yaex+msnQ8ELpe71tYt3tRr31GvfUv99h312nfUaxFpKhpFQLyUXr164Xa72bFjh+emMkePHiU7O5uEhIRql0lISGDjxo0UFhYSGhoKwNatWwkJCaFTp074+/vTvn17tm3b5lmn0+kkLS2NBx98EKi4E+r777/PggULPKFx06ZN3HDDDRcNtJdimgaRkTrFtKFTr31HvfYt9dt31GvfudZem6ZRQ5WIiNSuJhEQo6KiuOuuu0hOTvZ8FcUzzzxDYmIiPXr0ACpOFc3Pzyc8PBx/f3+GDh1KamoqTzzxBFOmTCEzM5N58+YxduxYz1HIsWPHMmvWLG666SZiY2M9X18xcuRIADp27MjHH3/MG2+8wfDhw9m2bRuvvvoqs2fPvqbtMQwDm612djQ6/cV31GvfUa99S/32HfXad9RrEWkqDMuyrLouwheKi4uZPXs2mzZtAuD2228nOTmZiIgIALZt28ZDDz3E8uXL6d27N1DxNRUzZ84kLS2N8PBwRo4cycSJEzHNf+8klixZwvLly8nLy6Nbt24kJyfTuXNnz/SPP/6Y+fPnc+zYMVq3bk1SUhL33HOPD7dcRERERETk8jSZgCgiIiIiIiIXp/MlREREREREBFBAFBERERERkXMUEEVERERERARQQBQREREREZFzFBBFREREREQEUEAUERERERGRcxQQRUREREREBFBAFBERERERkXMUEEVERERERARQQBQREREREZFzFBBFREREREQEUEAUwO12s2DBAgYMGECPHj341a9+xffff1/XZTV4eXl5TJ8+ndtvv52ePXvyy1/+krS0NM/0r776ivvuu4/bbruN4cOH8/7779dhtY3H0aNHiYuLY/369Z6xffv2MXr0aHr06MHgwYNZvnx5HVbYOGzcuJGf/vSnxMbGctddd/Hhhx96pmVmZpKUlETPnj3p378/qampuFyuOqy24XI6nfz5z39m0KBBxMXFMWrUKHbt2uWZrtd2zXjttdcYM2aM19ileqt9p4g0VgqIwiuvvMI777zDc889x+rVq3G73YwfP57y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Whrh4eGMHDmSiRMn6uj4VcjPzyc1NZVPP/2U/Px8YmJimDx5MomJiYBe2zXl6aef5vjx46xYscIzdqneat8pIo2VAqKIiIiIiIgAOsVUREREREREzlFAFBEREREREUABUURERERERM5RQBQRERERERFAAVFERERERETOUUAUERERERERQAFRREREREREzrHXdQEiIjXt6aefZsOGDRedJzEx0etLsc83ZswYgAtOr87gwYNJTExkzpw5l1+oj91666089thjTJw4sa5LERERkXpKAVFEGp1HH32UX/ziF57Hr7zyCnv37uXll1/2jIWGhl5w+WeeeaZW6xMRERGprxQQRaTRadu2LW3btvU8joyMxN/fnx49elzW8h07dqylykRERETqN12DKCJN1vr16+nSpQtr166lX79+JCYmcujQIcaMGeM5zRTgzJkzzJw5k0GDBtGtWzcSExOZMGECmZmZl/1cCxcu5M477+TTTz/l7rvvplu3bvzkJz9h48aNXvXceuutVdY7ePBgnn76ac/jW2+9lVWrVvH000/Tq1cvEhMTef755yktLeVPf/oTffr0oXfv3kybNo2ysjKvdRUWFjJlyhTi4uLo27cvzz//PCUlJV7zbN68mfvuu4/Y2Fj69evH888/T3FxcZVtefnll0lMTKR///7k5+dfdi9ERESk/tIRRBFp0lwuF2+++SazZs0iNzeXDh06eE23LIukpCTy8/OZMmUK119/PQcOHCA1NZVnnnmGJUuWXPZznTx5kmeffZbf/OY33HjjjSxZsoSpU6cSGxtb5Xkv5cUXX2TEiBG8/PLLfPLJJyxbtozPP/+cTp06kZKSwq5du1i4cCHt27dn/PjxnuVWrFjBwIEDSU1N5ejRo8yfP58TJ06waNEiAN577z2mTJnC3XffzRNPPMHx48eZP38+hw4dYunSpRiGAcAPP/zAli1bmD9/Pnl5eYSHh19R/SIiIlI/KSCKSJP3yCOPcMcdd1Q7LScnh6CgIKZOnUp8fDwAvXv35tixY6xZs+aKnqekpIRZs2bRt29fANq1a8egQYPYsmXLFQfEjh078uyzzwIVN9xZu3YtDoeDlJQU7HY7/fv3Z9OmTXz99ddey3Xo0IFFixZhmiYDBw7EMAxmz57NwYMHueWWW0hJSWHAgAGkpKR4lmnXrh3//d//zZYtWzx9cjqdXj0RERGRxkGnmIpIk9e5c+cLTouKimL58uX06tWLzMxMvvjiC1asWMHXX39NeXn5FT/X+ddBRkdHA3idvnm54uLiPP+22WxERETQtWtX7PZ//93vuuuu4+zZs17LDR8+HNP891v/sGHDANi+fTtHjhwhKyuLwYMH43Q6PT8JCQmEhobyxRdfeK3rYn0TERGRhklHEEWkyQsODr7o9HfffZd58+Zx4sQJrrvuOjp37kxgYOBVPVdQUJDn35VBzbKsK15PdXdhvdR2ALRo0cLrcfPmzQEoKCggLy8PgJkzZzJz5swqy+bk5Hg9DgkJudxyRUREpIFQQBQRuYi0tDSmTp3KmDFjGDduHFFRUQDMnTuXHTt21OhzVV7f53a7vcaLiopq7DkqQ2ClkydPAhVBMSwsDICnnnqKxMTEKsvqOkMREZHGT6eYiohcxM6dO3G73UycONETDl0uF19++SVQNcxdi8qjgllZWZ6xw4cPVwl11+Kzzz7zevz+++9jGAaJiYncfPPNNG/enMzMTGJjYz0/UVFRvPTSS+zdu7fG6hAREZH6SUcQRUQuonv37gA8++yz3H///eTn57Ny5Ur2798PVFw/WN3pnlejd+/eBAYGMmfOHCZNmkRRURELFizguuuuq5H1A+zZs4dp06YxYsQI9uzZw4IFCxg5ciTt2rUD4Le//S3Tp0/HZrMxaNAgCgoKeOWVV8jOzqZr1641VoeIiIjUTwqIIiIX0bt3b6ZPn87SpUv56KOPuP766+nduzcvv/wyEyZMYMeOHQwcOLBGnissLIyFCxfy0ksvMWHCBG688UYee+wxr+9KvFYTJkzgX//6F4888gjNmjVj/PjxPPbYY57pDzzwACEhIbzxxhusWbOG4OBgevbsSUpKCm3atKmxOkRERKR+MqyruTuCiIiIiIiINDq6BlFEREREREQABUQRERERERE5RwFRREREREREAAVEEREREREROUcBUURERERERAAFRBERERERETlHAVFEREREREQABUQRERERERE5RwFRREREREREAAVEEREREREROUcBUURERERERAAFRBERERERETnn/wN8UbjU/WzqsQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.set_theme(style=\"darkgrid\")\n", "default_reg_scoring= config.settings.scoring\n", "ax = sns.scatterplot(data=ptr_transformed_study.trials_dataframe(), x=\"number\", \n", " y=\"value\",style='params_algorithm_name',hue='params_algorithm_name')\n", "ax.set(xlabel=\"Trial number\",ylabel=f\"Ojbective value\\n({default_reg_scoring})\")\n", "sns.move_legend(ax, \"upper right\", bbox_to_anchor=(1.6, 1), ncol=1, title=\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similar to log scaled models trained without the PRF transform, log-transformed models trained with PTR functions will reverse both the probabilistic class membership likelihoods from the PTR function and reverse the subsequent log transform from any log scaling, scaling predictions back inline with original data: " ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.3506154])" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the best Trial from the log transformed study and build the model.\n", "buildconfig = buildconfig_best(ptr_transformed_study)\n", "best_build = build_best(buildconfig, \"../target/best.pkl\")\n", "\n", "# generate predictions\n", "import pickle\n", "with open(\"../target/best.pkl\", \"rb\") as f:\n", " model = pickle.load(f)\n", "model.predict_from_smiles([\"CCC\"], transform=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Covariate modelling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Modelling one simple covariate, e.g. dose or time point" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A covariate, such as dose or timepoint, can be used as an auxiliary descriptor to account for the effect of this parameter in predictions. In this situation, a compound can be represented more than once across n distinct covariate measurements. Each of the covariate response values can now be used in training an algorithm in this approach. Replicates across each compound-covariate pair may be deduplicated using the standard deduplication approaches.\n", "\n", "To activate this function in QSARtuna, the `aux_column` setting can be used according to the column denoting the covariate to be modelled, like so:" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:53,613] A new study created in memory with name: covariate_example\n", "[I 2024-10-02 18:16:53,676] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:16:53,882] Trial 0 finished with value: -5186.767663956718 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -5186.767663956718.\n", "[I 2024-10-02 18:16:53,982] Trial 1 finished with value: -4679.740824270968 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 1 with value: -4679.740824270968.\n", "[I 2024-10-02 18:16:54,105] Trial 2 finished with value: -4890.6705099499995 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 1 with value: -4679.740824270968.\n", "[I 2024-10-02 18:16:54,241] Trial 3 finished with value: -3803.9324375833758 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 3 with value: -3803.9324375833758.\n", "[I 2024-10-02 18:16:54,259] Trial 4 finished with value: -3135.6497388676926 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 4 with value: -3135.6497388676926.\n", "[I 2024-10-02 18:16:54,302] Trial 5 finished with value: -551.2518812859375 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -551.2518812859375.\n", "[I 2024-10-02 18:16:54,335] Trial 6 finished with value: -4309.124112370974 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 5 with value: -551.2518812859375.\n", "[I 2024-10-02 18:16:54,379] Trial 7 finished with value: -362.30159424580074 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 7 with value: -362.30159424580074.\n", "[I 2024-10-02 18:16:54,464] Trial 8 finished with value: -4357.02827013125 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 7 with value: -362.30159424580074.\n", "[I 2024-10-02 18:16:54,514] Trial 9 finished with value: -386.1437929337522 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 7 with value: -362.30159424580074.\n" ] } ], "source": [ "aux_col_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/aux_descriptors_datasets/train_with_conc.csv\",\n", " aux_column=\"aux1\" # use column aux1 as a co-variate in modelling\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=10,\n", " random_seed=42,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ") \n", "\n", "aux_col_study = optimize(aux_col_config, study_name=\"covariate_example\")\n", "build_best(buildconfig_best(aux_col_study), \"../target/aux1_model.pkl\")\n", "with open(\"../target/aux1_model.pkl\", \"rb\") as f:\n", " aux1_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Predictions from a covariate-trained model can now be generated like so:" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([52.45281013, 52.45281013])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aux1_model.predict_from_smiles([\"CCC\", \"CCC\"], aux=[10,5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where the `aux` parameter of `predict_from_smiles` is used (and required) to generate predictions for a an input covariate auxiliary query, and the shape of the `aux` query must be the same shape as the SMILES input query, otherwise a ValueError will be thrown.\n", "\n", "So, for this toy example query the predicitons are for the SMILES `CCC` and two separate auxiliary covariate queries of `10` and `5`.\n", "\n", "\n", "N.B: For this particular toy training example, the molecular weight response column (`molwt`) is the same regardless of the modelled covariate value, and so the predictions are the same regardless the `aux` query, as expected." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transformation of co-variates: Proteochemometric (PCM) modelling + more" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### VectorFromSmiles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to utilise more than one type of covariate value at a time, an auxiliary transformation must be applied to process co-variates in a manner expected for the algorithms.\n", "\n", "Pre-computed covariates (in a similar manner to pre-computed descriptors), can be processed using the `VectorFromColumn`. Similar to pre-computed descriptors, the VectorFromColumn will split covariates on `,` or comma seperations like so: " ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:16:54,988] A new study created in memory with name: vector_aux_example\n", "[I 2024-10-02 18:16:55,037] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:16:55,141] Trial 0 finished with value: -3043.4473106576693 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.011994365911634164, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 0 with value: -3043.4473106576693.\n", "[I 2024-10-02 18:16:55,229] Trial 1 finished with value: -3043.39919100435 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.029071783512897825, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 1 with value: -3043.39919100435.\n", "[I 2024-10-02 18:16:55,344] Trial 2 finished with value: -4621.489703141113 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.022631709120790048, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.2198637677605415, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 1 with value: -3043.39919100435.\n", "[I 2024-10-02 18:16:55,439] Trial 3 finished with value: -770.039055241578 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4846814642387681, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 3 with value: -770.039055241578.\n", "[I 2024-10-02 18:16:55,487] Trial 4 finished with value: -284.9739534365022 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5914093983615214, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 4 with value: -284.9739534365022.\n", "[I 2024-10-02 18:16:55,536] Trial 5 finished with value: -283.8670891604803 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.6201811079699818, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -283.8670891604803.\n", "[I 2024-10-02 18:16:55,574] Trial 6 finished with value: -3460.0018663351607 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -283.8670891604803.\n", "[I 2024-10-02 18:16:55,616] Trial 7 finished with value: -5320.591589729147 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.5789541326389298, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -283.8670891604803.\n", "[I 2024-10-02 18:16:55,694] Trial 8 finished with value: -3513.686346750008 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 25, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -283.8670891604803.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.097e+01, tolerance: 1.829e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.118e+01, tolerance: 1.868e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective 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.116e+01, tolerance: 1.971e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 18:16:55,758] Trial 9 finished with value: -272.85385648295437 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.012507356254519486, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 9 with value: -272.85385648295437.\n" ] } ], "source": [ "from optunaz.utils.preprocessing.transform import VectorFromColumn\n", "\n", "vector_covariate_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/precomputed_descriptor/train_with_fp.csv\",\n", " aux_column=\"fp\", # use a comma separated co-variate vector in column `fp`\n", " aux_transform=VectorFromColumn.new(), # split the comma separated values into a vector\n", " split_strategy=Stratified(fraction=0.2),\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=10,\n", " n_startup_trials=0,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "vector_covariate_study = optimize(vector_covariate_config, study_name=\"vector_aux_example\")\n", "build_best(buildconfig_best(vector_covariate_study), \"../target/vector_covariate_model.pkl\")\n", "with open(\"../target/vector_covariate_model.pkl\", \"rb\") as f:\n", " vector_covariate_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can inspect the input query for the auxiliary co-variates used in the modelling like so:" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[0., 1., 0., ..., 0., 0., 0.],\n", " [1., 1., 1., ..., 0., 0., 0.],\n", " [1., 0., 0., ..., 1., 0., 1.],\n", " ...,\n", " [0., 1., 0., ..., 0., 0., 1.],\n", " [0., 1., 0., ..., 1., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]]),\n", " (40, 512))" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_smiles, train_y, train_aux, test_smiles, test_y, test_aux = vector_covariate_config.data.get_sets()\n", "\n", "train_aux, train_aux.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this toy example, the co-variate descriptors 512 in legth for the 40 training instances are used in training. Inference for the model can be performed on the test like so:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([494.24615136, 343.57199899, 243.66555938, 499.15698703,\n", " 444.45019502, 340.58194786, 463.055959 , 350.78471292,\n", " 412.86726453, 376.11106444])" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vector_covariate_model.predict_from_smiles(test_smiles, aux=test_aux)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Z-Scales (for PCM)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Proteochemometric modelling (PCM) is the term used for the approach of training protein-descriptors as a distinct input space alongside the chemical ones. This can be performed in QSARtuna by providing Z-Scales as an auxiliary transformation to a user input column containing sequence information. Protein sequence is transformed to Z-Scales based on [this publication](https://pubs.acs.org/doi/10.1021/jm9700575) using the `Peptides` Python package.\n", "\n", "N:B. Note that Z-Scales as covariates are a distinct method separate to `ZScales` descriptors, since the former treats Z-Scales as a distinct input parameter (for PCM modelling), whereas the latter treates them as a descriptor trial that may or may not be selected during optimisation (e.g. for Protein-peptide interaction modelling). In other words, Z-scales will always be an input descriptor parameter when applied as a covariate and duplicates are treated on a compound-`ZScale` pair basis).\n", "\n", "Now let us consider the following toy data set file:" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Peptide,Class,Smiles\r\n", "MDLITITWASVMVAFTFSLSLVVWGRSGL,0,N[C@@H](CCSC)C(=O)N[C@@H](CC(=O)O)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H]([C@H](CC)C)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H]([C@H](CC)C)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](C)C(=O)N[C@@H](CO)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](C)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](CO)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CO)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)NCC(=O)N[C@@H](CCCNC(=N)N)C(=O)N[C@@H](CO)C(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)O\r\n", "ARRGGVLNFGQFGLQALECGFVTNR,0,N[C@@H](C)C(=O)N[C@@H](CCCNC(=N)N)C(=O)N[C@@H](CCCNC(=N)N)C(=O)NCC(=O)NCC(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(=O)N)C(=O)N[C@@H](Cc1ccccc1)C(=O)NCC(=O)N[C@@H](CCC(=O)N)C(=O)N[C@@H](Cc1ccccc1)C(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(=O)N)C(=O)N[C@@H](C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(=O)O)C(=O)N[C@@H](CS)C(=O)NCC(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(=O)N)C(=O)N[C@@H](CCCNC(=N)N)C(=O)O\r\n", "GWCGDPGATCGKLRLYCCSGACDCYTKTCKDKSSA,1,NCC(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)N[C@@H](CS)C(=O)NCC(=O)N[C@@H](CC(=O)O)C(=O)N1[C@@H](CCC1)C(=O)NCC(=O)N[C@@H](C)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CS)C(=O)NCC(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCCNC(=N)N)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H](CS)C(=O)N[C@@H](CS)C(=O)N[C@@H](CO)C(=O)NCC(=O)N[C@@H](C)C(=O)N[C@@H](CS)C(=O)N[C@@H](CC(=O)O)C(=O)N[C@@H](CS)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CS)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CC(=O)O)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CO)C(=O)N[C@@H](CO)C(=O)N[C@@H](C)C(=O)O\r\n", "NGNLLGGLLRPVLGVVKGLTGGLGKK,1,N[C@@H](CC(=O)N)C(=O)NCC(=O)N[C@@H](CC(=O)N)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)NCC(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCCNC(=N)N)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CC(C)C)C(=O)NCC(=O)N[C@@H](C(C)C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CCCCN)C(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)N[C@@H]([C@@H](C)O)C(=O)NCC(=O)NCC(=O)N[C@@H](CC(C)C)C(=O)NCC(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCCCN)C(=O)O\r\n" ] } ], "source": [ "!head -n 5 ../tests/data/peptide/toxinpred3/train.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following example demponstrates how Z-Scales may be utilised for PCM by specifying the `ZScales` data transform on the \"Peptide\" column containing our peptide sequence, like so: " ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:17:00,612] A new study created in memory with name: zscale_aux_example\n", "[I 2024-10-02 18:17:00,666] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/metrics/_ranking.py:993: FutureWarning: probas_pred was deprecated in version 1.5 and will be removed in 1.7.Please use ``y_score`` instead.\n", " warnings.warn(\n", "[I 2024-10-02 18:17:34,922] Trial 0 finished with value: 0.8735224395254063 and parameters: {'algorithm_name': 'KNeighborsClassifier', 'KNeighborsClassifier_algorithm_hash': 'e51ca55089f389fc37a736adb2aa0e42', 'metric__e51ca55089f389fc37a736adb2aa0e42': , 'n_neighbors__e51ca55089f389fc37a736adb2aa0e42': 5, 'weights__e51ca55089f389fc37a736adb2aa0e42': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 128, \"returnRdkit\": false}}'}. Best is trial 0 with value: 0.8735224395254063.\n" ] } ], "source": [ "from optunaz.utils.preprocessing.transform import ZScales\n", "from optunaz.config.optconfig import KNeighborsClassifier\n", "\n", "zscale_covariate_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"Class\",\n", " response_type=\"classification\",\n", " training_dataset_file=\"../tests/data/peptide/toxinpred3/train.csv\",\n", " aux_column=\"Peptide\", # Name of the column containing peptide/protein amino acid sequence\n", " aux_transform=ZScales.new(), # Zscales transform is used to transform sequence into a Z-scales vector\n", " split_strategy=Stratified(fraction=0.2),\n", " ),\n", " descriptors=[\n", " ECFP.new(nBits=128), \n", " ],\n", " algorithms=[\n", " KNeighborsClassifier.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.CLASSIFICATION,\n", " cross_validation=2,\n", " n_trials=1,\n", " n_startup_trials=0,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "zscale_covariate_study = optimize(zscale_covariate_config, study_name=\"zscale_aux_example\")\n", "build_best(buildconfig_best(zscale_covariate_study), \"../target/zscale_covariate_model.pkl\")\n", "with open(\"../target/zscale_covariate_model.pkl\", \"rb\") as f:\n", " zscale_covariate_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "N:B. Unlike the `ZScale` descriptor (which works on SMILES level of a peptide/protein), the `ZScale` data transform expects amino acid sequence as inputs.\n", "\n", "We can inspect the input query for the auxiliary co-variates used in the modelling like so:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[ 1.31176471, 0.08058824, -0.27176471, 0.56470588, -0.62529412],\n", " [-0.99521739, -0.59826087, -0.34695652, -0.03086957, 0.13391304],\n", " [ 0.08083333, -0.6125 , 0.82916667, -0.05083333, -0.56083333],\n", " ...,\n", " [ 0.93357143, -0.02785714, -0.04214286, -0.36 , -0.02785714],\n", " [ 0.30461538, -0.55307692, 0.31307692, -0.11076923, 0.00846154],\n", " [-0.1232 , -0.3364 , 0.2328 , -0.1368 , 0.2304 ]]),\n", " (7060, 5))" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_smiles, train_y, train_aux, test_smiles, test_y, test_aux = zscale_covariate_config.data.get_sets()\n", "\n", "train_aux, train_aux.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this toy example, the Z-scale co-variate descriptors 7062 with the expected length of 5 Z-Scale descriptors used in training. Inference for the model can be performed on the test by providing the auxiliary co-variate Z-Scales like so:" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.2, 0. , 0.8, ..., 0.2, 0.2, 0. ])" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zscale_covariate_model.predict_from_smiles(test_smiles, aux=test_aux)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may also inspect the X-matrix (descriptor) used to train the toy model like so:" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = sns.heatmap(zscale_covariate_model.predictor.X_,\n", " vmin=-1, vmax=1, cmap='Spectral',\n", " cbar_kws={'label': 'Fingerprint value'})\n", "ax.set(ylabel=\"Compound input\", xlabel=f\"Input descriptor (248bit ECFP & Z-Scale))\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the (continuous) Z-scales covariates can be seen in the final columns (129-132) after the 128bit ECFP fingerprints used in this example " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Advanced options for QSARtuna runs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multi-objective prioritization of performance and standard deviation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna can optimize for the minimzation of the standard deviation of performance across the folds. This should in theory prioritize hyperparameters that are consistently performative across different splits of the data, and so should be more generalizable/performative in production. This can be performed with the `minimize_std_dev` in the example below:" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:18:17,078] A new study created in memory with name: example_multi-parameter_analysis\n", "[I 2024-10-02 18:18:17,122] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:18:17,259] Trial 0 finished with values: [-1.4008740644240856, 0.9876203329634794] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,326] Trial 1 finished with values: [-1.3561484909673422, 0.9875061220991905] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,378] Trial 2 finished with values: [-2.7856521165563053, 0.21863029956806662] and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 5.141096648805748, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.4893466963980463e-08, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,434] Trial 3 finished with values: [-0.9125905675311808, 0.7861693342190089] and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 5, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:18:17,451] Trial 4 finished with values: [-0.5238765412750028, 0.2789424384877304] and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,471] Trial 5 finished with values: [-0.5348363849100434, 0.5741725628917808] and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.7896547008552977, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,492] Trial 6 finished with values: [-2.0072511048320134, 0.2786318125997387] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.6574750183038587, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:18:17,509] Trial 7 finished with values: [-0.9625764609276656, 0.27575381401822424] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.3974313630683448, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,575] Trial 8 finished with values: [-1.1114006274062538, 0.7647766019001522] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 28, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,594] Trial 9 finished with values: [-0.7801680863916906, 0.2725738454485389] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.2391884918766034, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,610] Trial 10 finished with values: [-2.785652116470164, 0.21863029955530786] and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00044396482429275296, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.3831436879125245e-10, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,627] Trial 11 finished with values: [-2.785651973436432, 0.21863032832257323] and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.00028965395242758657, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 2.99928292425642e-07, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,644] Trial 12 finished with values: [-0.6101359993004856, 0.3011280543457062] and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,659] Trial 13 finished with values: [-0.5361950698070445, 0.2356078652319563] and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 2, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,675] Trial 14 finished with values: [-0.5356113574175657, 0.5769721187181905] and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.4060379177903557, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,741] Trial 15 finished with values: [-0.543430366921729, 0.514747412346662] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 20, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:18:17,759] Trial 16 finished with values: [-2.0072511048320134, 0.2786318125997387] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.344271094811757, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,777] Trial 17 finished with values: [-0.5194661889628072, 0.40146744515282495] and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.670604991178476, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,841] Trial 18 finished with values: [-0.659749443628722, 0.6659085938841998] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 22, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 6, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:18:17,857] Trial 19 finished with values: [-1.1068495306229729, 0.24457822094737378] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.5158832554303112, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:18:17,876] Trial 20 finished with values: [-0.8604898820838102, 0.7086875504668665] and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:18:17,895] Trial 21 finished with values: [-0.5919869916997383, 0.2367498627927979] and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.0009327650919528738, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.062479210472502, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:17,900] Trial 22 pruned. Duplicate parameter set\n", "[I 2024-10-02 18:18:17,918] Trial 23 finished with values: [-1.2497762395862362, 0.10124660026536195] and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.1366172066709432, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. \n", "[I 2024-10-02 18:18:17,984] Trial 24 finished with values: [-1.1114006274062536, 0.7647766019001522] and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 26, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 8, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. \n", "[I 2024-10-02 18:18:18,039] A new study created in memory with name: study_name_1\n", "INFO:root:Enqueued ChemProp manual trial with sensible defaults: {'activation__668a7428ff5cdb271b01c0925e8fea45': 'ReLU', 'aggregation__668a7428ff5cdb271b01c0925e8fea45': 'mean', 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 100, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 50, 'depth__668a7428ff5cdb271b01c0925e8fea45': 3, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.0, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': 'none', 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -3, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45'}\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:869)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Duplicated trial: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 4, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}, return [-0.6101359993004856, 0.3011280543457062]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:19:54,957] Trial 0 finished with values: [-2.0621601907738047, 0.2749020946925899] and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45', 'activation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 100.0, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 50.0, 'depth__668a7428ff5cdb271b01c0925e8fea45': 3.0, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.0, 'ensemble_size__668a7428ff5cdb271b01c0925e8fea45': 1, 'epochs__668a7428ff5cdb271b01c0925e8fea45': 5, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': , 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2.0, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -3, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. \n", "[I 2024-10-02 18:21:23,281] Trial 1 finished with values: [-2.0621601907738047, 0.2749020946925899] and parameters: {'algorithm_name': 'ChemPropRegressor', 'ChemPropRegressor_algorithm_hash': '668a7428ff5cdb271b01c0925e8fea45', 'activation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation__668a7428ff5cdb271b01c0925e8fea45': , 'aggregation_norm__668a7428ff5cdb271b01c0925e8fea45': 100.0, 'batch_size__668a7428ff5cdb271b01c0925e8fea45': 45.0, 'depth__668a7428ff5cdb271b01c0925e8fea45': 3.0, 'dropout__668a7428ff5cdb271b01c0925e8fea45': 0.0, 'ensemble_size__668a7428ff5cdb271b01c0925e8fea45': 1, 'epochs__668a7428ff5cdb271b01c0925e8fea45': 5, 'features_generator__668a7428ff5cdb271b01c0925e8fea45': , 'ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45': 2.0, 'final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'hidden_size__668a7428ff5cdb271b01c0925e8fea45': 300.0, 'init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45': -4, 'max_lr_exp__668a7428ff5cdb271b01c0925e8fea45': -3, 'warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45': 0.1, 'descriptor': '{\"name\": \"SmilesFromFile\", \"parameters\": {}}'}. \n" ] } ], "source": [ "config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"Smiles\",\n", " response_column=\"pXC50\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/sdf/example.sdf\",\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " SmilesFromFile.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ChemPropRegressor.new(epochs=5),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=25,\n", " n_startup_trials=25,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " n_chemprop_trials=3,\n", " minimise_std_dev=True # Multi-objective optimization for performance and std. dev.\n", " ),\n", ") \n", "\n", "study = optimize(config, study_name=\"example_multi-parameter_analysis\")\n", "default_reg_scoring= config.settings.scoring\n", "study.set_metric_names([default_reg_scoring.value,'Standard deviation']) # Set the names of the multi-parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the multi-parameter performance reported for each trial, e.g. ` Trial 1 finished with values: [XXX, XXX]`, which correspond to negated MSE and deviation of negated MSE performance across the 3-folds, respectively. The two objectives may be plot as a function of trial number, as follows:" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Standard Deviation across folds')" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABD4AAAF9CAYAAADso6iwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACZX0lEQVR4nOzdeVwU5R8H8M/ssuyy3CCXIt6AF4KKR96aVmZppp3eWqmVZWVamqkdWpq35pFl2k8t08zM8ixLS9PCW8ADUZRLQc5ddtmd3x/EJnLuCjsjfN6vl690Zvb5fjgadr7MPI8giqIIIiIiIiIiIqJqSCF1ACIiIiIiIiKiqsLGBxERERERERFVW2x8EBEREREREVG1xcYHEREREREREVVbbHwQERERERERUbXFxgcRERERERERVVtsfBARERERERFRtcXGBxERERERERFVW2x8EBEREREREVG1dU80PsxmMxYvXowuXbogPDwczz33HK5evVrq8enp6Xj99dcRGRmJdu3aYebMmdDpdHZMTERERERERCQPK1euxNChQ8s8piLX0T/99BP69u2LsLAwDBgwAH/++afVY0jhnmh8LF++HBs2bMB7772HTZs2wWw2Y8yYMTAYDCUeP2HCBMTHx2Pt2rVYtGgRDhw4gBkzZtg3NBEREREREZHE/ve//2HhwoXlHlfedfThw4cxadIkPPXUU/juu+/QsWNHPP/887h48WKFx5CKIIqiKHWIshgMBnTo0AFvvPEGnnnmGQBAZmYmunTpgg8++AD9+vUrcnxUVBSeeuop7Ny5E40aNQIAHDx4EGPGjMGBAwfg5+dn94+BiIiIiIiIyJ6Sk5Px7rvv4siRI/D390etWrWwfv36Eo+tyHX06NGj4erqWqSJ8tRTTyE4OBizZs2S9bW47O/4iI6ORk5ODjp27GjZ5ubmhmbNmuHo0aPFjj927Bh8fHwsn2gAaNeuHQRBwN9//22XzERERERERERSOnPmDFQqFbZv345WrVqVeWx519Fmsxn//PNPketyAGjfvr3lulzO1+IOklavgKSkJABAQEBAke2+vr6WfbdLTk4udqyjoyM8PDyQmJhYap1evXqVum/v3r0QBMGa2ERERERERER3JTs7G/379y91/759+0rd17NnT/Ts2bNCdcq7js7MzERubi78/f2LHHP7dbmt1+L2IPvG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DJfGjSHmm5CfnY3G41+weewKNT70eflw1Radid7PSwsRQLbOYHNxIiIiIiIiIqJb/0Qh6Okn0XTqFPg/0AeOtbwR+ubraL18MZzr10Pulas2j12hxocIQBCKTqGqVBa81GSu/DV275SYmIjXXnsNnTp1QmRkJEaPHo3z50uY5fU206ZNQ0hISJE/PXv2rPKsRERERERERFIzm81YvHgxunTpgvDwcDz33HO4erX85oHZbMaYMWOwZMmSYvtOnjyJZ599FmFhYejWrRsWL14Ms7lg5bqtW7cWuwYv/DNs2LBy6+bn5MA1NAQAoK0biOwLFwEASicn1BnQH2nH/rbmwy+iQo0PKRkMBjz//PNITU3FihUrsGHDBjg7O2P48OFIS0sr9XUxMTEYO3YsDh48aPnz7bff2jE5ERERERERkTSWL1+ODRs24L333sOmTZssDQ2DofSnNgwGA95++238/vvvxfbFxcVh2LBhaNSoEbZv3463334ba9euxZo1awAAffv2LXL9ffDgQUybNg1KpRJjx44tN6/KzQ35ObkAAE3tABgzMmDMygIAOHp7wXCz9Ov/8lR4OduL1zJgMJos/zaLIgQAFxMyoM/LL3Jsi0a1bA50p2PHjiE2Nha//fYb/Pz8AABz585F+/btsX//fgwaNKjYa0RRxIULF/D888/Dx8en0rIQERERERERyZ3BYMDnn3+ON954A927dwcALFiwAF26dMHu3bvRr1+/Yq/5559/MH36dOj1eri5uRXbv3LlSjRu3BgzZ86EIAioX78+YmJi8M8//wAANBoNNBqN5fikpCQsWrQI48ePx3333VduZvewlkjYvAXODepB4+8PBxcXpOz/BXX6P4q0o8egcnO18bNhReNjxZYTxbaJAJZ9exzCbf8WAHw/r7/Nge7UpEkTrFq1ytL0AACFouBGlczMzBJfc+XKFeTm5qJhw4aVloOIiIiIiIjoXhAdHY2cnBx07NjRss3NzQ3NmjXD0aNHS2x8HDhwAF26dMGLL76IRx99tNj+gwcPYsyYMUWmwZgwYUKpGebOnQtfX188//zzFcoc9OxTOD11Os4vXIKWH76HwEGP4fIX65CweQvyc3JR98nBFRqnJBVqfHwwrpPNBe6Wj48PunXrVmTb+vXrodfr0alTybliY2Mtx/32229QKBTo2rUrJk6cCFfXkrtE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YNKkSdi9ezdcXV0/6mvV94QafX39d5736aefKm3LiyYVFRV4/PgxAGDkyJH1nltaWqr4t4GBwfumSkRERP8HWPggIiL6F8nOzoa/vz88PDzg5eUFU1NTAMDatWs/eo0O+ZSX5cuXY9iwYUrHNDQ0UFNTo7Tv77///qh4b6qoqFDafvDgAYBXBZAWLVoAAHbt2lVvYcPMzEyluRAREVHTwakuRERE/yKXL1/Gy5cvMX/+fEXRo6amBj///DOAV08++VCGhoYICwvDrVu36qwXYmBggEePHqGqqkqxT1WLocqdOXNGafvo0aNo164dOnbsqFjP5NGjR7C1tVW8ysvLsXHjRsWIECIiIlI/HPFBRET0LyJfDDQ0NBQTJkxARUUFUlJSUFBQAODVKIz6ppq8L0dHR0ycOBGpqalK+52cnJCcnIwVK1bgq6++QmFhIXbu3AktLa0P/zBvSE5OhoGBAaytrXH06FGcP38ea9euhYaGBqysrDBmzBisXLkSJSUlsLGxwc2bN7Fhwwa0b98enTp1UlkeRERE1LRwxAcREdG/iIODA1atWoXLly/Dx8cH3333HczMzCCTyQCoZhRGQEAA2rVrp7TP0dER/v7+yMnJgY+PD44dOwaZTKbSwkdYWBhOnDiBWbNm4dKlS4iOjsbYsWMVxyMjIzFz5kzs27cP3t7eiIuLw4gRI7Bjxw6V5kFERERNi0ZtbW1tYydBRERERERERCQEjvggIiIiIiIiIrXFwgcRERERERERqS0WPoiIiIiIiIhIbbHwQURERERERERqi4UPIiIiIiIiIlJbLHwQERERERERkdpi4YOIiIiIiIiI1BYLH0RERERERESktlj4ICIiIiIiIiK1xcIHEREREREREaktFj6IiIiIiIiISG2x8EFEREREREREauu/nOIXczdmXLQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = study.trials_dataframe()\n", "df.number = df.number+1\n", "fig=plt.figure(figsize=(12,4))\n", "ax = sns.scatterplot(data=df, x=\"number\", y=\"values_neg_mean_squared_error\",\n", " legend=False, color=\"b\")\n", "ax2 = sns.scatterplot(data=df, x=\"number\", y=\"values_Standard deviation\",\n", " ax=ax.axes.twinx(), legend=False, color=\"r\")\n", "\n", "a = df['values_neg_mean_squared_error'].apply(np.floor).min()\n", "b = df['values_neg_mean_squared_error'].apply(np.ceil).max()\n", "c = df['values_Standard deviation'].apply(np.floor).min()\n", "d = df['values_Standard deviation'].apply(np.ceil).max()\n", "\n", "# Align both axes\n", "ax.set_ylim(a,b);\n", "ax.set_yticks(np.linspace(a,b, 7));\n", "ax2.set_ylim(c,d);\n", "ax2.set_yticks(np.linspace(c,d, 7));\n", "ax.set_xticks(df.number);\n", "\n", "# Set the colors of labels\n", "ax.set_xlabel('Trial Number')\n", "ax.set_ylabel('(Performance) Negated MSE', color='b')\n", "ax2.set_ylabel('Standard Deviation across folds', color='r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may plot the Pareto front of this multi-objective study using the Optuna plotting functionaility directly:" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "%{text}Trial", "marker": { "color": [ 0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 21, 24, 25, 26 ], "colorbar": { "title": { "text": "Trial" } }, "colorscale": [ [ 0, "rgb(247,251,255)" ], [ 0.125, "rgb(222,235,247)" ], [ 0.25, "rgb(198,219,239)" ], [ 0.375, "rgb(158,202,225)" ], [ 0.5, "rgb(107,174,214)" ], [ 0.625, "rgb(66,146,198)" ], [ 0.75, "rgb(33,113,181)" ], [ 0.875, "rgb(8,81,156)" ], [ 1, "rgb(8,48,107)" ] ], "line": { "color": "Grey", "width": 0.5 } }, "mode": "markers", "showlegend": false, "text": [ "{
\"number\": 0,
\"values\": [
-1.4008740644240856,
0.9876203329634794
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 6,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 5,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.8974639446129832,
0.7963222851094782,
0.9689476735963439
],
\"max_error\": [
-1.48840242088,
-3.0909646684,
-0.8731823597700004
],
\"neg_mean_absolute_error\": [
-0.3398577206596667,
-0.37011928744749995,
-0.1801785928111111
],
\"neg_mean_squared_error\": [
-0.27358848548388476,
-0.4992568230539897,
-0.08109988798375499
],
\"neg_median_absolute_error\": [
-0.1781329040250006,
-0.07859362806250036,
-0.07024148360000071
],
\"r2\": [
0.8855646464210463,
0.7874092730870651,
0.967646275281887
]
},
\"test_scores\": {
\"explained_variance\": [
0.9639016049394578,
0.03701636076517145,
-0.03610583384733812
],
\"max_error\": [
-0.47698010700000104,
-3.5934751852,
-3.35365075223
],
\"neg_mean_absolute_error\": [
-0.1955445833724998,
-0.9818172778531251,
-0.8300816350316663
],
\"neg_mean_squared_error\": [
-0.05489658915425563,
-2.396894317818735,
-1.7508312862992663
],
\"neg_median_absolute_error\": [
-0.14457091122499977,
-0.2862653911375008,
-0.5112363306699992
],
\"r2\": [
0.9626493715156704,
-0.0863255729554766,
-0.08531642263032624
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 1,
\"values\": [
-1.3561484909673422,
0.9875061220991905
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 7,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 6,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9084162894985425,
0.8181445295200109,
0.9548650651827988
],
\"max_error\": [
-1.3312607501388891,
-2.575803890333333,
-0.8789508147777774
],
\"neg_mean_absolute_error\": [
-0.31853795424583325,
-0.3721876234467592,
-0.21867428857944432
],
\"neg_mean_squared_error\": [
-0.23237176364322493,
-0.4307711359478345,
-0.11338600111806722
],
\"neg_median_absolute_error\": [
-0.1616738603333343,
-0.12968758635416666,
-0.10968790037499998
],
\"r2\": [
0.9028045903055967,
0.8165714624307546,
0.9547661586438142
]
},
\"test_scores\": {
\"explained_variance\": [
0.9639828426250993,
0.028300593780869132,
0.0829826524157754
],
\"max_error\": [
-0.5291279881666675,
-3.633238043666667,
-3.2079123220277777
],
\"neg_mean_absolute_error\": [
-0.17840332446180562,
-0.9769728427812499,
-0.7746915789652774
],
\"neg_mean_squared_error\": [
-0.054949446552472636,
-2.445966975522084,
-1.5675290508274704
],
\"neg_median_absolute_error\": [
-0.14555937145833298,
-0.2359308740624999,
-0.44451264761111053
],
\"r2\": [
0.9626134083151534,
-0.10856638791328899,
0.028310131806505212
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 2,
\"values\": [
-2.7856521165563053,
0.21863029956806662
],
\"params\": {
\"algorithm_name\": \"SVR\",
\"SVR_algorithm_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\",
\"gamma__ea7ccc7ef4a9329af0d4e39eb6184933\": 5.141096648805748,
\"C__ea7ccc7ef4a9329af0d4e39eb6184933\": 2.4893466963980463e-08,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
2.9603077433826286e-08,
2.9336498785781373e-08,
2.8653315498061716e-08
],
\"max_error\": [
-2.4076986573565327,
-3.7846304921065332,
-3.8912634246065334
],
\"neg_mean_absolute_error\": [
-1.4215399907231998,
-1.3879988835327637,
-1.442631704156533
],
\"neg_mean_squared_error\": [
-2.5275741396195497,
-3.0279379111768083,
-3.3797629894439454
],
\"neg_median_absolute_error\": [
-1.7373697358565328,
-0.8078731446065337,
-0.7077567928565331
],
\"r2\": [
-0.057222272541218366,
-0.28933945788999327,
-0.348311620292739
]
},
\"test_scores\": {
\"explained_variance\": [
0.0,
0.0,
-2.220446049250313e-16
],
\"max_error\": [
-2.1665475247500012,
-3.5460698895,
-2.9176861759999992
],
\"neg_mean_absolute_error\": [
-1.6446862333125005,
-1.3746714857500002,
-1.1807020024375001
],
\"neg_mean_squared_error\": [
-2.9717560322100764,
-2.906429088642059,
-2.4787712288167807
],
\"neg_median_absolute_error\": [
-1.785473097000001,
-1.25575307125,
-0.8571504162500005
],
\"r2\": [
-1.0219280872487388,
-0.3172580123794684,
-0.5365564595688672
]
},
\"trial_ran\": true,
\"alg_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\"
}
}", "{
\"number\": 3,
\"values\": [
-0.9125905675311808,
0.7861693342190089
],
\"params\": {
\"algorithm_name\": \"PLSRegression\",
\"PLSRegression_algorithm_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\",
\"n_components__9f2f76e479633c0bf18cf2912fed9eda\": 5,
\"descriptor\": \"{\\\"name\\\": \\\"MACCS_keys\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9849639641402015,
0.9828800440413418,
0.9820949506759404
],
\"max_error\": [
-0.5197622619148001,
-0.578258209487684,
-0.6097236247421289
],
\"neg_mean_absolute_error\": [
-0.1522529092523377,
-0.13959654461584822,
-0.16234470149067756
],
\"neg_mean_squared_error\": [
-0.0359476870556917,
-0.04020521001484896,
-0.04488192649150811
],
\"neg_median_absolute_error\": [
-0.1234255208002697,
-0.11725579182404378,
-0.11763114886180226
],
\"r2\": [
0.9849639641402015,
0.9828800440413418,
0.9820949506759404
]
},
\"test_scores\": {
\"explained_variance\": [
0.7493168066493779,
0.8439890027037465,
-0.2406071189124135
],
\"max_error\": [
-1.2144772276577216,
-1.1632774960663061,
-3.7013161826996095
],
\"neg_mean_absolute_error\": [
-0.41354910413217183,
-0.481621613783923,
-0.8966876551868382
],
\"neg_mean_squared_error\": [
-0.3692197929485835,
-0.344243524438586,
-2.024308385206373
],
\"neg_median_absolute_error\": [
-0.1919907903167175,
-0.4369218096563432,
-0.4779689126890925
],
\"r2\": [
0.7487896510886491,
0.8439812130464401,
-0.25484114438952377
]
},
\"trial_ran\": true,
\"alg_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\"
}
}", "{
\"number\": 5,
\"values\": [
-0.5348363849100434,
0.5741725628917808
],
\"params\": {
\"algorithm_name\": \"Ridge\",
\"Ridge_algorithm_hash\": \"cfa1990d5153c8812982f034d788d7ee\",
\"alpha__cfa1990d5153c8812982f034d788d7ee\": 1.7896547008552977,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9992953526981213,
0.9991026642455866,
0.9995175846362686
],
\"max_error\": [
-0.10766042163284606,
-0.1075140823295726,
-0.07460654622187857
],
\"neg_mean_absolute_error\": [
-0.03156890558158965,
-0.03649203341737044,
-0.02743892276836289
],
\"neg_mean_squared_error\": [
-0.0016846488614926615,
-0.002107340261104867,
-0.0012092527924104882
],
\"neg_median_absolute_error\": [
-0.02561682757298156,
-0.028191061706472453,
-0.024285917350927555
],
\"r2\": [
0.9992953526981213,
0.9991026642455866,
0.9995175846362686
]
},
\"test_scores\": {
\"explained_variance\": [
0.8935768285340041,
0.9636788736288304,
0.19714578534324456
],
\"max_error\": [
-0.774352519041904,
-0.737606816780155,
-3.0739619860946146
],
\"neg_mean_absolute_error\": [
-0.33687126397921885,
-0.20883221082561076,
-0.6894395118728371
],
\"neg_mean_squared_error\": [
-0.16851231132189992,
-0.09041081602749307,
-1.3455860273807372
],
\"neg_median_absolute_error\": [
-0.2676544331750077,
-0.1533721343043899,
-0.35319599551719927
],
\"r2\": [
0.885347326087343,
0.9590238164476862,
0.16588958341895155
]
},
\"trial_ran\": true,
\"alg_hash\": \"cfa1990d5153c8812982f034d788d7ee\"
}
}", "{
\"number\": 6,
\"values\": [
-2.0072511048320134,
0.2786318125997387
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 1.6574750183038587,
\"descriptor\": \"{\\\"name\\\": \\\"MACCS_keys\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
-2.220446049250313e-16,
2.220446049250313e-16,
2.220446049250313e-16
],
\"max_error\": [
-2.777570688350001,
-2.9603145737666665,
-2.956865269583333
],
\"neg_mean_absolute_error\": [
-1.4282473280400005,
-1.4387520675488887,
-1.493614843444444
],
\"neg_mean_squared_error\": [
-2.3907689094972278,
-2.348441205803191,
-2.5066631026365753
],
\"neg_median_absolute_error\": [
-1.4789578996499992,
-1.4262595417333341,
-1.4297088459166676
],
\"r2\": [
0.0,
0.0,
0.0
]
},
\"test_scores\": {
\"explained_variance\": [
-2.220446049250313e-16,
0.0,
-2.220446049250313e-16
],
\"max_error\": [
-1.7966755186499999,
-2.7217539462666664,
-1.983287996083332
],
\"neg_mean_absolute_error\": [
-1.4597502302624998,
-1.3746714857500002,
-1.1697984021874999
],
\"neg_mean_squared_error\": [
-2.201962094075194,
-2.2065759996699903,
-1.613215220750856
],
\"neg_median_absolute_error\": [
-1.4749943137500003,
-1.1956921469833337,
-1.1850802254166668
],
\"r2\": [
-0.49817446547138133,
-6.909745304128911e-05,
-1.0101498061798608e-05
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}", "{
\"number\": 7,
\"values\": [
-0.9625764609276656,
0.27575381401822424
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 0.3974313630683448,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.6309849216096366,
0.6507390643936857,
0.7152691170875705
],
\"max_error\": [
-2.252632607405257,
-2.175450613956933,
-1.706171237738615
],
\"neg_mean_absolute_error\": [
-0.7938599755102753,
-0.7401987497888673,
-0.6895007958617582
],
\"neg_mean_squared_error\": [
-0.8822297765513636,
-0.8202187727552434,
-0.7137243983777222
],
\"neg_median_absolute_error\": [
-0.7885181658671447,
-0.7501373635815645,
-0.5611223597767765
],
\"r2\": [
0.6309849216096364,
0.6507390643936857,
0.7152691170875705
]
},
\"test_scores\": {
\"explained_variance\": [
0.5935872735161616,
0.6194826453868792,
0.17203437251585474
],
\"max_error\": [
-1.395224586235262,
-1.8000052968656917,
-2.494567849472519
],
\"neg_mean_absolute_error\": [
-0.6933313261473552,
-0.8003665596137148,
-0.8987725327249799
],
\"neg_mean_squared_error\": [
-0.7033126801898267,
-0.839924844272171,
-1.3444918583209988
],
\"neg_median_absolute_error\": [
-0.5545466636288294,
-0.5638571491740674,
-0.7465466926544182
],
\"r2\": [
0.5214790020510424,
0.6193274643314883,
0.16656784388811308
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}", "{
\"number\": 8,
\"values\": [
-1.1114006274062538,
0.7647766019001522
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 28,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 8,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9206324471278879,
0.8559333726266467,
0.961180851069245
],
\"max_error\": [
-1.0117299001249993,
-2.412809048812499,
-0.86672411225
],
\"neg_mean_absolute_error\": [
-0.322024124525,
-0.33656927312499996,
-0.21982626677291656
],
\"neg_mean_squared_error\": [
-0.20283154301796763,
-0.34722452595138703,
-0.10165721518937171
],
\"neg_median_absolute_error\": [
-0.21598249059374997,
-0.13718304440624962,
-0.12420240787499992
],
\"r2\": [
0.9151605401039691,
0.8521468090862285,
0.9594452022362135
]
},
\"test_scores\": {
\"explained_variance\": [
0.9718126094330066,
0.22890773779793894,
0.21343834363644043
],
\"max_error\": [
-0.4565383455625005,
-3.206764903562501,
-3.1492960391250007
],
\"neg_mean_absolute_error\": [
-0.23419817084375005,
-0.8567377529921878,
-0.6864807362656249
],
\"neg_mean_squared_error\": [
-0.07067602728333097,
-1.8867023442811075,
-1.3768235106543227
],
\"neg_median_absolute_error\": [
-0.20883106609375002,
-0.20707259059374916,
-0.41695414499999917
],
\"r2\": [
0.9519133323494763,
0.14490472528934684,
0.14652589380261938
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 9,
\"values\": [
-0.7801680863916906,
0.2725738454485389
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 0.2391884918766034,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.7358450089950654,
0.7138202856549503,
0.7948804037600925
],
\"max_error\": [
-2.0949820822909455,
-2.0906327941397294,
-1.5918151203814253
],
\"neg_mean_absolute_error\": [
-0.6557327871134385,
-0.6571336339465875,
-0.5940423569437646
],
\"neg_mean_squared_error\": [
-0.6315335397831173,
-0.6720762334329013,
-0.5141657235222882
],
\"neg_median_absolute_error\": [
-0.5979734798770764,
-0.6566486168416157,
-0.4804268744621516
],
\"r2\": [
0.7358450089950654,
0.7138202856549503,
0.7948804037600925
]
},
\"test_scores\": {
\"explained_variance\": [
0.6836083752661624,
0.6966716816699435,
0.2867220579848473
],
\"max_error\": [
-1.226090481431986,
-1.494693861320691,
-2.361646437233209
],
\"neg_mean_absolute_error\": [
-0.5558366160388878,
-0.7399472892266868,
-0.8485251777144946
],
\"neg_mean_squared_error\": [
-0.5158538524332629,
-0.6693267648386103,
-1.1553236419031985
],
\"neg_median_absolute_error\": [
-0.39106556854575514,
-0.5988148150541805,
-0.7632441315512826
],
\"r2\": [
0.6490225368956033,
0.6966462910348781,
0.2838306398665221
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}", "{
\"number\": 10,
\"values\": [
-2.785652116470164,
0.21863029955530786
],
\"params\": {
\"algorithm_name\": \"SVR\",
\"SVR_algorithm_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\",
\"gamma__ea7ccc7ef4a9329af0d4e39eb6184933\": 0.00044396482429275296,
\"C__ea7ccc7ef4a9329af0d4e39eb6184933\": 2.3831436879125245e-10,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
3.51216833394119e-11,
4.623668115044666e-11,
4.652633833757136e-11
],
\"max_error\": [
-2.407698682236905,
-3.7846305169848202,
-3.8912634494534357
],
\"neg_mean_absolute_error\": [
-1.4215400155888405,
-1.387998906730042,
-1.4426317290108275
],
\"neg_mean_squared_error\": [
-2.527574210296399,
-3.0279379800043413,
-3.3797630611425133
],
\"neg_median_absolute_error\": [
-1.73736976072626,
-0.8078731694136589,
-0.7077568176915539
],
\"r2\": [
-0.0572223021036109,
-0.2893394871977455,
-0.3483116488959317
]
},
\"test_scores\": {
\"explained_variance\": [
3.695310724083356e-11,
3.196509723579766e-11,
3.306266371794209e-11
],
\"max_error\": [
-2.1665475246885846,
-3.546069889503773,
-2.917686175962171
],
\"neg_mean_absolute_error\": [
-1.6446862332734806,
-1.3746714857242122,
-1.1807020024072323
],
\"neg_mean_squared_error\": [
-2.9717560320594796,
-2.9064290886106505,
-2.478771228740361
],
\"neg_median_absolute_error\": [
-1.7854730969470158,
-1.2557530712042917,
-0.8571504162245955
],
\"r2\": [
-1.0219280871462755,
-0.3172580123652333,
-0.5365564595214956
]
},
\"trial_ran\": true,
\"alg_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\"
}
}", "{
\"number\": 11,
\"values\": [
-2.785651973436432,
0.21863032832257323
],
\"params\": {
\"algorithm_name\": \"SVR\",
\"SVR_algorithm_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\",
\"gamma__ea7ccc7ef4a9329af0d4e39eb6184933\": 0.00028965395242758657,
\"C__ea7ccc7ef4a9329af0d4e39eb6184933\": 2.99928292425642e-07,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
1.0042828013645533e-07,
1.2201057308924845e-07,
1.1946357847403277e-07
],
\"max_error\": [
-2.407698483275782,
-3.784630419617357,
-3.8912632434668657
],
\"neg_mean_absolute_error\": [
-1.4215399488000382,
-1.3879988187073213,
-1.4426316383422448
],
\"neg_mean_squared_error\": [
-2.5275739932894736,
-3.027937838296765,
-3.3797627274551605
],
\"neg_median_absolute_error\": [
-1.737369648298217,
-0.8078729699590448,
-0.7077567183897604
],
\"r2\": [
-0.057222211334936324,
-0.28933942685662384,
-0.3483115157757879
]
},
\"test_scores\": {
\"explained_variance\": [
8.476231749821039e-08,
8.974784559967475e-08,
9.749491269861466e-08
],
\"max_error\": [
-2.166547505060172,
-3.54606983564109,
-2.9176859960038835
],
\"neg_mean_absolute_error\": [
-1.6446861757757678,
-1.3746714277448118,
-1.180701917475541
],
\"neg_mean_squared_error\": [
-2.9717558552690067,
-2.9064290286099874,
-2.4787710364303033
],
\"neg_median_absolute_error\": [
-1.785473043619366,
-1.2557529712063742,
-0.8571503548245416
],
\"r2\": [
-1.021927966861293,
-0.3172579851716042,
-0.5365563403111151
]
},
\"trial_ran\": true,
\"alg_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\"
}
}", "{
\"number\": 12,
\"values\": [
-0.6101359993004856,
0.3011280543457062
],
\"params\": {
\"algorithm_name\": \"PLSRegression\",
\"PLSRegression_algorithm_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\",
\"n_components__9f2f76e479633c0bf18cf2912fed9eda\": 4,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9977100736908402,
0.9975427640313913,
0.9968195578599012
],
\"max_error\": [
-0.2167986167477789,
-0.2277990799414109,
-0.20980298817103638
],
\"neg_mean_absolute_error\": [
-0.0558540020847975,
-0.056457850500518984,
-0.0720026052862923
],
\"neg_mean_squared_error\": [
-0.005474684624979039,
-0.005770674201062415,
-0.007972296962656158
],
\"neg_median_absolute_error\": [
-0.0476138511534252,
-0.04300842479088396,
-0.06452439449761282
],
\"r2\": [
0.9977100736908402,
0.9975427640313913,
0.9968195578599012
]
},
\"test_scores\": {
\"explained_variance\": [
0.8886597774000782,
0.6722676099050113,
0.5125354270829542
],
\"max_error\": [
-0.6878749296055089,
-2.15435471941149,
-2.426892457483266
],
\"neg_mean_absolute_error\": [
-0.3897525804896699,
-0.5559574927052231,
-0.5955349500027809
],
\"neg_mean_squared_error\": [
-0.19483222604638134,
-0.7361837217462683,
-0.8993920501088071
],
\"neg_median_absolute_error\": [
-0.3760392229997924,
-0.2733259086216404,
-0.36468915433905247
],
\"r2\": [
0.8674397407207732,
0.6663452379267604,
0.44247914119156395
]
},
\"trial_ran\": true,
\"alg_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\"
}
}", "{
\"number\": 14,
\"values\": [
-0.5356113574175657,
0.5769721187181905
],
\"params\": {
\"algorithm_name\": \"Ridge\",
\"Ridge_algorithm_hash\": \"cfa1990d5153c8812982f034d788d7ee\",
\"alpha__cfa1990d5153c8812982f034d788d7ee\": 1.4060379177903557,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.999517094017306,
0.9994020294133303,
0.9996516810167624
],
\"max_error\": [
-0.08555683896758026,
-0.08555379923076956,
-0.06975837183481826
],
\"neg_mean_absolute_error\": [
-0.02628178610683247,
-0.029832661411189114,
-0.023240052093104483
],
\"neg_mean_squared_error\": [
-0.0011545166096350072,
-0.0014042987655932706,
-0.0008731183432294868
],
\"neg_median_absolute_error\": [
-0.020374460673226125,
-0.022559597416789146,
-0.01924940342623671
],
\"r2\": [
0.999517094017306,
0.9994020294133303,
0.9996516810167624
]
},
\"test_scores\": {
\"explained_variance\": [
0.8935387516249337,
0.9646018619542002,
0.19469890517579236
],
\"max_error\": [
-0.7768335199576253,
-0.7364046007808875,
-3.081177105864297
],
\"neg_mean_absolute_error\": [
-0.3373361317047229,
-0.20254120602107317,
-0.6870056344543213
],
\"neg_mean_squared_error\": [
-0.16873349121216252,
-0.0878643336631266,
-1.350236247377408
],
\"neg_median_absolute_error\": [
-0.265542253953738,
-0.144226455352797,
-0.35230079981759177
],
\"r2\": [
0.8851968393624541,
0.9601779386352713,
0.16300697549965926
]
},
\"trial_ran\": true,
\"alg_hash\": \"cfa1990d5153c8812982f034d788d7ee\"
}
}", "{
\"number\": 15,
\"values\": [
-0.543430366921729,
0.514747412346662
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 20,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 8,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"MACCS_keys\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.8969240974700634,
0.8006428572427549,
0.9354463388985946
],
\"max_error\": [
-1.1089528326874998,
-2.5305006679999993,
-1.2147494705000002
],
\"neg_mean_absolute_error\": [
-0.38826218029999987,
-0.3752013252250003,
-0.2797012135854168
],
\"neg_mean_squared_error\": [
-0.24821934610451965,
-0.4683586992331533,
-0.16568085389341727
],
\"neg_median_absolute_error\": [
-0.38021252496875046,
-0.13201332959375067,
-0.1504819008437499
],
\"r2\": [
0.8961759352321845,
0.8005661380511462,
0.9339038206932756
]
},
\"test_scores\": {
\"explained_variance\": [
0.9445386713483314,
0.8716143998386577,
0.21756160180475825
],
\"max_error\": [
-0.5202287482500001,
-1.0801857144374996,
-2.5865519054374992
],
\"neg_mean_absolute_error\": [
-0.24804613069531256,
-0.4189198933749999,
-0.8129752672265629
],
\"neg_mean_squared_error\": [
-0.08466611775687974,
-0.2833241151942194,
-1.262300867814088
],
\"neg_median_absolute_error\": [
-0.2058811024687497,
-0.37633277553125044,
-0.7446450660000004
],
\"r2\": [
0.942394732381974,
0.8715912380940694,
0.21751691732965106
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 16,
\"values\": [
-2.0072511048320134,
0.2786318125997387
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 1.344271094811757,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
-2.220446049250313e-16,
2.220446049250313e-16,
2.220446049250313e-16
],
\"max_error\": [
-2.777570688350001,
-2.9603145737666665,
-2.956865269583333
],
\"neg_mean_absolute_error\": [
-1.4282473280400005,
-1.4387520675488887,
-1.493614843444444
],
\"neg_mean_squared_error\": [
-2.3907689094972278,
-2.348441205803191,
-2.5066631026365753
],
\"neg_median_absolute_error\": [
-1.4789578996499992,
-1.4262595417333341,
-1.4297088459166676
],
\"r2\": [
0.0,
0.0,
0.0
]
},
\"test_scores\": {
\"explained_variance\": [
-2.220446049250313e-16,
0.0,
-2.220446049250313e-16
],
\"max_error\": [
-1.7966755186499999,
-2.7217539462666664,
-1.983287996083332
],
\"neg_mean_absolute_error\": [
-1.4597502302624998,
-1.3746714857500002,
-1.1697984021874999
],
\"neg_mean_squared_error\": [
-2.201962094075194,
-2.2065759996699903,
-1.613215220750856
],
\"neg_median_absolute_error\": [
-1.4749943137500003,
-1.1956921469833337,
-1.1850802254166668
],
\"r2\": [
-0.49817446547138133,
-6.909745304128911e-05,
-1.0101498061798608e-05
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}", "{
\"number\": 18,
\"values\": [
-0.659749443628722,
0.6659085938841998
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 22,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 6,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"MACCS_keys\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.8771866885159154,
0.760576707388471,
0.9165904980399755
],
\"max_error\": [
-1.3841658855833332,
-2.732726049249999,
-1.3991107000833338
],
\"neg_mean_absolute_error\": [
-0.3818779995499998,
-0.3971412162944447,
-0.30359108279166663
],
\"neg_mean_squared_error\": [
-0.29654130407841833,
-0.5648996958669533,
-0.20992361132685664
],
\"neg_median_absolute_error\": [
-0.2927916572083329,
-0.11474098925000042,
-0.1609640780416668
],
\"r2\": [
0.8759640453326875,
0.7594575949054889,
0.9162537593879077
]
},
\"test_scores\": {
\"explained_variance\": [
0.9574469041668595,
0.8643988273760793,
0.022603500535386067
],
\"max_error\": [
-0.6513723423333344,
-0.9304495610000005,
-2.5495979194166667
],
\"neg_mean_absolute_error\": [
-0.20517391297916698,
-0.45735540975,
-0.99868224721875
],
\"neg_mean_squared_error\": [
-0.07485325580276948,
-0.31299982148410066,
-1.591395253599296
],
\"neg_median_absolute_error\": [
-0.13923866258333328,
-0.48702888212499973,
-0.9981938518333333
],
\"r2\": [
0.9490712229775209,
0.8581415509724649,
0.013515798385129396
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 19,
\"values\": [
-1.1068495306229729,
0.24457822094737378
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 0.5158832554303112,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.5531147799581386,
0.6007290929175806,
0.6710850220156985
],
\"max_error\": [
-2.298478369320666,
-2.2303250317057834,
-1.838346644735612
],
\"neg_mean_absolute_error\": [
-0.884276617370655,
-0.8095758892055421,
-0.7542552062854129
],
\"neg_mean_squared_error\": [
-1.06839929018991,
-0.9376642504707711,
-0.8244790392177702
],
\"neg_median_absolute_error\": [
-0.7997337260383168,
-0.8255203756112515,
-0.6010572531757918
],
\"r2\": [
0.5531147799581384,
0.6007290929175806,
0.6710850220156985
]
},
\"test_scores\": {
\"explained_variance\": [
0.4824659350945505,
0.572247959208814,
0.10292090653410846
],
\"max_error\": [
-1.5646578805177356,
-1.923118160270179,
-2.52285079257018
],
\"neg_mean_absolute_error\": [
-0.8351781840542875,
-0.841734435970192,
-0.9158632951536998
],
\"neg_mean_squared_error\": [
-0.9236950134129185,
-0.9443233135299345,
-1.4525302649260659
],
\"neg_median_absolute_error\": [
-0.7060567633436148,
-0.6052039733202146,
-0.7720757854308395
],
\"r2\": [
0.37153492028676904,
0.5720117666434388,
0.09959630991973412
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}", "{
\"number\": 20,
\"values\": [
-0.8604898820838102,
0.7086875504668665
],
\"params\": {
\"algorithm_name\": \"PLSRegression\",
\"PLSRegression_algorithm_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\",
\"n_components__9f2f76e479633c0bf18cf2912fed9eda\": 4,
\"descriptor\": \"{\\\"name\\\": \\\"MACCS_keys\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9729380997999632,
0.9634263118198302,
0.9656682096655208
],
\"max_error\": [
-0.5571499986930784,
-0.7228948575726584,
-0.854153006336114
],
\"neg_mean_absolute_error\": [
-0.19734675025770823,
-0.2130821225709937,
-0.22458331075012
],
\"neg_mean_squared_error\": [
-0.06469874963016478,
-0.0858911563705078,
-0.0860582320788941
],
\"neg_median_absolute_error\": [
-0.15758839122192647,
-0.14998189671792428,
-0.14162605994908728
],
\"r2\": [
0.9729380997999633,
0.9634263118198303,
0.9656682096655208
]
},
\"test_scores\": {
\"explained_variance\": [
0.7436061621507988,
0.8489165070699431,
-0.13142410450882003
],
\"max_error\": [
-1.2208220182819107,
-1.3541093710178318,
-3.527307328138104
],
\"neg_mean_absolute_error\": [
-0.43256728384960125,
-0.3953856066990532,
-0.8748509822063061
],
\"neg_mean_squared_error\": [
-0.380290900048737,
-0.33874045794857766,
-1.8624382882541157
],
\"neg_median_absolute_error\": [
-0.26145563417924356,
-0.17011265265548037,
-0.45298046781931856
],
\"r2\": [
0.7412570736630077,
0.8464753246196239,
-0.15450008015918115
]
},
\"trial_ran\": true,
\"alg_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\"
}
}", "{
\"number\": 21,
\"values\": [
-0.5919869916997383,
0.2367498627927979
],
\"params\": {
\"algorithm_name\": \"SVR\",
\"SVR_algorithm_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\",
\"gamma__ea7ccc7ef4a9329af0d4e39eb6184933\": 0.0009327650919528738,
\"C__ea7ccc7ef4a9329af0d4e39eb6184933\": 6.062479210472502,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.7842374546454186,
0.8207501586619763,
0.8388394351354407
],
\"max_error\": [
-1.8596758351735492,
-1.6805747542871234,
-1.823107918819086
],
\"neg_mean_absolute_error\": [
-0.4788321327361404,
-0.42546001672177636,
-0.38994606620179817
],
\"neg_mean_squared_error\": [
-0.5464285493502418,
-0.42829517458369093,
-0.43385236090831564
],
\"neg_median_absolute_error\": [
-0.13655484937476903,
-0.10024968956182745,
-0.1000060432903016
],
\"r2\": [
0.7714423392492777,
0.8176257623459602,
0.8269203546132793
]
},
\"test_scores\": {
\"explained_variance\": [
0.8254406163671446,
0.6552430770093162,
0.5453694933369965
],
\"max_error\": [
-1.0076626563695585,
-2.0858951505234673,
-1.7743667608724891
],
\"neg_mean_absolute_error\": [
-0.43420821310566426,
-0.5926528159732936,
-0.6682670932269509
],
\"neg_mean_squared_error\": [
-0.2578508097186242,
-0.7775078661368594,
-0.7406022992437313
],
\"neg_median_absolute_error\": [
-0.3759822002948092,
-0.2889592578375364,
-0.4746849364956609
],
\"r2\": [
0.8245630567115607,
0.6476162207572188,
0.5409107409166944
]
},
\"trial_ran\": true,
\"alg_hash\": \"ea7ccc7ef4a9329af0d4e39eb6184933\"
}
}", "{
\"number\": 24,
\"values\": [
-1.1114006274062536,
0.7647766019001522
],
\"params\": {
\"algorithm_name\": \"RandomForestRegressor\",
\"RandomForestRegressor_algorithm_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\",
\"max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3\": 26,
\"n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3\": 8,
\"max_features__f1ac01e1bba332215ccbd0c29c9ac3c3\": \"auto\",
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9206324471278879,
0.8559333726266467,
0.961180851069245
],
\"max_error\": [
-1.0117299001249993,
-2.412809048812499,
-0.86672411225
],
\"neg_mean_absolute_error\": [
-0.3220241245249999,
-0.336569273125,
-0.21982626677291656
],
\"neg_mean_squared_error\": [
-0.2028315430179676,
-0.3472245259513871,
-0.10165721518937171
],
\"neg_median_absolute_error\": [
-0.21598249059374952,
-0.13718304440624962,
-0.12420240787499992
],
\"r2\": [
0.9151605401039691,
0.8521468090862284,
0.9594452022362135
]
},
\"test_scores\": {
\"explained_variance\": [
0.9718126094330066,
0.22890773779793905,
0.21343834363644043
],
\"max_error\": [
-0.4565383455625005,
-3.2067649035625,
-3.1492960391250007
],
\"neg_mean_absolute_error\": [
-0.23419817084375005,
-0.8567377529921876,
-0.6864807362656249
],
\"neg_mean_squared_error\": [
-0.07067602728333097,
-1.8867023442811073,
-1.3768235106543227
],
\"neg_median_absolute_error\": [
-0.20883106609375002,
-0.2070725905937496,
-0.41695414499999917
],
\"r2\": [
0.9519133323494763,
0.14490472528934695,
0.14652589380261938
]
},
\"trial_ran\": true,
\"alg_hash\": \"f1ac01e1bba332215ccbd0c29c9ac3c3\"
}
}", "{
\"number\": 25,
\"values\": [
-2.0621601907738047,
0.2749020946925899
],
\"params\": {
\"algorithm_name\": \"ChemPropRegressor\",
\"ChemPropRegressor_algorithm_hash\": \"668a7428ff5cdb271b01c0925e8fea45\",
\"activation__668a7428ff5cdb271b01c0925e8fea45\": \"ReLU\",
\"aggregation__668a7428ff5cdb271b01c0925e8fea45\": \"mean\",
\"aggregation_norm__668a7428ff5cdb271b01c0925e8fea45\": 100.0,
\"batch_size__668a7428ff5cdb271b01c0925e8fea45\": 50.0,
\"depth__668a7428ff5cdb271b01c0925e8fea45\": 3.0,
\"dropout__668a7428ff5cdb271b01c0925e8fea45\": 0.0,
\"ensemble_size__668a7428ff5cdb271b01c0925e8fea45\": 1,
\"epochs__668a7428ff5cdb271b01c0925e8fea45\": 5,
\"features_generator__668a7428ff5cdb271b01c0925e8fea45\": \"none\",
\"ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45\": 300.0,
\"ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45\": 2.0,
\"final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45\": -4,
\"hidden_size__668a7428ff5cdb271b01c0925e8fea45\": 300.0,
\"init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45\": -4,
\"max_lr_exp__668a7428ff5cdb271b01c0925e8fea45\": -3,
\"warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45\": 0.1,
\"descriptor\": \"{\\\"name\\\": \\\"SmilesFromFile\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
-0.0030084298221983996,
-0.012161707538054234,
0.0017298120410219608
],
\"max_error\": [
-2.7373101426203617,
-3.0090429497797855,
-3.187341899975098
],
\"neg_mean_absolute_error\": [
-1.4223092754175861,
-1.444010474785221,
-1.4795137982689128
],
\"neg_mean_squared_error\": [
-2.4052068497915142,
-2.377039226122409,
-2.5361493212169677
],
\"neg_median_absolute_error\": [
-1.5480976110290525,
-1.4536747993286134,
-1.3328660971721193
],
\"r2\": [
-0.006039036327154967,
-0.012177447852877998,
-0.011763135839585992
]
},
\"test_scores\": {
\"explained_variance\": [
-0.0046704465761211456,
0.033093602781103404,
-0.030933512786851303
],
\"max_error\": [
-1.8682299333981938,
-2.637490054671143,
-2.252076107950927
],
\"neg_mean_absolute_error\": [
-1.5042553457710572,
-1.3561058906000063,
-1.1782307308885192
],
\"neg_mean_squared_error\": [
-2.3574440069269023,
-2.13352134988607,
-1.6955152155084416
],
\"neg_median_absolute_error\": [
-1.5117784228234865,
-1.2060612994278563,
-1.0778323309564208
],
\"r2\": [
-0.6039614961854176,
0.033040887285793796,
-0.05102674518712691
]
},
\"trial_ran\": true,
\"alg_hash\": \"668a7428ff5cdb271b01c0925e8fea45\"
}
}", "{
\"number\": 26,
\"values\": [
-2.0621601907738047,
0.2749020946925899
],
\"params\": {
\"algorithm_name\": \"ChemPropRegressor\",
\"ChemPropRegressor_algorithm_hash\": \"668a7428ff5cdb271b01c0925e8fea45\",
\"activation__668a7428ff5cdb271b01c0925e8fea45\": \"ReLU\",
\"aggregation__668a7428ff5cdb271b01c0925e8fea45\": \"mean\",
\"aggregation_norm__668a7428ff5cdb271b01c0925e8fea45\": 100.0,
\"batch_size__668a7428ff5cdb271b01c0925e8fea45\": 45.0,
\"depth__668a7428ff5cdb271b01c0925e8fea45\": 3.0,
\"dropout__668a7428ff5cdb271b01c0925e8fea45\": 0.0,
\"ensemble_size__668a7428ff5cdb271b01c0925e8fea45\": 1,
\"epochs__668a7428ff5cdb271b01c0925e8fea45\": 5,
\"features_generator__668a7428ff5cdb271b01c0925e8fea45\": \"none\",
\"ffn_hidden_size__668a7428ff5cdb271b01c0925e8fea45\": 300.0,
\"ffn_num_layers__668a7428ff5cdb271b01c0925e8fea45\": 2.0,
\"final_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45\": -4,
\"hidden_size__668a7428ff5cdb271b01c0925e8fea45\": 300.0,
\"init_lr_ratio_exp__668a7428ff5cdb271b01c0925e8fea45\": -4,
\"max_lr_exp__668a7428ff5cdb271b01c0925e8fea45\": -3,
\"warmup_epochs_ratio__668a7428ff5cdb271b01c0925e8fea45\": 0.1,
\"descriptor\": \"{\\\"name\\\": \\\"SmilesFromFile\\\", \\\"parameters\\\": {}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
-0.0030084298221983996,
-0.012161707538054234,
0.0017298120410219608
],
\"max_error\": [
-2.7373101426203617,
-3.0090429497797855,
-3.187341899975098
],
\"neg_mean_absolute_error\": [
-1.4223092754175861,
-1.444010474785221,
-1.4795137982689128
],
\"neg_mean_squared_error\": [
-2.4052068497915142,
-2.377039226122409,
-2.5361493212169677
],
\"neg_median_absolute_error\": [
-1.5480976110290525,
-1.4536747993286134,
-1.3328660971721193
],
\"r2\": [
-0.006039036327154967,
-0.012177447852877998,
-0.011763135839585992
]
},
\"test_scores\": {
\"explained_variance\": [
-0.0046704465761211456,
0.033093602781103404,
-0.030933512786851303
],
\"max_error\": [
-1.8682299333981938,
-2.637490054671143,
-2.252076107950927
],
\"neg_mean_absolute_error\": [
-1.5042553457710572,
-1.3561058906000063,
-1.1782307308885192
],
\"neg_mean_squared_error\": [
-2.3574440069269023,
-2.13352134988607,
-1.6955152155084416
],
\"neg_median_absolute_error\": [
-1.5117784228234865,
-1.2060612994278563,
-1.0778323309564208
],
\"r2\": [
-0.6039614961854176,
0.033040887285793796,
-0.05102674518712691
]
},
\"trial_ran\": true,
\"alg_hash\": \"668a7428ff5cdb271b01c0925e8fea45\"
}
}" ], "type": "scatter", "x": [ -1.4008740644240856, -1.3561484909673422, -2.7856521165563053, -0.9125905675311808, -0.5348363849100434, -2.0072511048320134, -0.9625764609276656, -1.1114006274062538, -0.7801680863916906, -2.785652116470164, -2.785651973436432, -0.6101359993004856, -0.5356113574175657, -0.543430366921729, -2.0072511048320134, -0.659749443628722, -1.1068495306229729, -0.8604898820838102, -0.5919869916997383, -1.1114006274062536, -2.0621601907738047, -2.0621601907738047 ], "y": [ 0.9876203329634794, 0.9875061220991905, 0.21863029956806662, 0.7861693342190089, 0.5741725628917808, 0.2786318125997387, 0.27575381401822424, 0.7647766019001522, 0.2725738454485389, 0.21863029955530786, 0.21863032832257323, 0.3011280543457062, 0.5769721187181905, 0.514747412346662, 0.2786318125997387, 0.6659085938841998, 0.24457822094737378, 0.7086875504668665, 0.2367498627927979, 0.7647766019001522, 0.2749020946925899, 0.2749020946925899 ] }, { "hovertemplate": "%{text}Best Trial", "marker": { "color": [ 4, 13, 17, 23 ], "colorbar": { "title": { "text": "Best Trial" }, "x": 1.1, "xpad": 40 }, "colorscale": [ [ 0, "rgb(255,245,240)" ], [ 0.125, "rgb(254,224,210)" ], [ 0.25, "rgb(252,187,161)" ], [ 0.375, "rgb(252,146,114)" ], [ 0.5, "rgb(251,106,74)" ], [ 0.625, "rgb(239,59,44)" ], [ 0.75, "rgb(203,24,29)" ], [ 0.875, "rgb(165,15,21)" ], [ 1, "rgb(103,0,13)" ] ], "line": { "color": "Grey", "width": 0.5 } }, "mode": "markers", "showlegend": false, "text": [ "{
\"number\": 4,
\"values\": [
-0.5238765412750028,
0.2789424384877304
],
\"params\": {
\"algorithm_name\": \"PLSRegression\",
\"PLSRegression_algorithm_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\",
\"n_components__9f2f76e479633c0bf18cf2912fed9eda\": 3,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9922459602118696,
0.9948903572938944,
0.9908331622153396
],
\"max_error\": [
-0.483202885608919,
-0.3497078087721057,
-0.5450843085444221
],
\"neg_mean_absolute_error\": [
-0.09635794782292491,
-0.07952329774673704,
-0.10440879548883493
],
\"neg_mean_squared_error\": [
-0.018538117248466473,
-0.011999695477949986,
-0.022978174042662995
],
\"neg_median_absolute_error\": [
-0.07185892843485808,
-0.05230960537443474,
-0.06809658540781305
],
\"r2\": [
0.9922459602118696,
0.9948903572938944,
0.9908331622153396
]
},
\"test_scores\": {
\"explained_variance\": [
0.9222201387814872,
0.6681556476215966,
0.6039775004142349
],
\"max_error\": [
-0.6124704321639145,
-2.08836938740287,
-2.1141890356053565
],
\"neg_mean_absolute_error\": [
-0.3313695369133304,
-0.5400418425280401,
-0.5590265707291405
],
\"neg_mean_squared_error\": [
-0.1304345019369737,
-0.7454138307155094,
-0.6957812911725254
],
\"neg_median_absolute_error\": [
-0.3174537679481202,
-0.27641233643037877,
-0.40048721917971086
],
\"r2\": [
0.9112547664901909,
0.6621619481838996,
0.5686946721950458
]
},
\"trial_ran\": true,
\"alg_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\"
}
}", "{
\"number\": 13,
\"values\": [
-0.5361950698070445,
0.2356078652319563
],
\"params\": {
\"algorithm_name\": \"PLSRegression\",
\"PLSRegression_algorithm_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\",
\"n_components__9f2f76e479633c0bf18cf2912fed9eda\": 2,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.969087200519737,
0.9773711155694136,
0.9634238244756783
],
\"max_error\": [
-0.8234729672493231,
-0.6504845617093369,
-0.9927621260087944
],
\"neg_mean_absolute_error\": [
-0.2179673097215873,
-0.17911311632703358,
-0.2346932288810989
],
\"neg_mean_squared_error\": [
-0.07390535990293502,
-0.05314260463814744,
-0.09168414962237614
],
\"neg_median_absolute_error\": [
-0.16601233852332387,
-0.13362521709731867,
-0.2035233156958971
],
\"r2\": [
0.969087200519737,
0.9773711155694136,
0.9634238244756783
]
},
\"test_scores\": {
\"explained_variance\": [
0.8783843090874256,
0.6785299073459822,
0.6058243711409219
],
\"max_error\": [
-0.653415492534954,
-2.104949941574861,
-1.9858065636263413
],
\"neg_mean_absolute_error\": [
-0.41254323622548883,
-0.5577045030922277,
-0.5938653126077944
],
\"neg_mean_squared_error\": [
-0.2043348825339597,
-0.7279749471185871,
-0.6762753797685868
],
\"neg_median_absolute_error\": [
-0.4193825877264077,
-0.3522844613669234,
-0.4442159437032447
],
\"r2\": [
0.8609743082130374,
0.670065636333309,
0.5807861204977627
]
},
\"trial_ran\": true,
\"alg_hash\": \"9f2f76e479633c0bf18cf2912fed9eda\"
}
}", "{
\"number\": 17,
\"values\": [
-0.5194661889628072,
0.40146744515282495
],
\"params\": {
\"algorithm_name\": \"Ridge\",
\"Ridge_algorithm_hash\": \"cfa1990d5153c8812982f034d788d7ee\",
\"alpha__cfa1990d5153c8812982f034d788d7ee\": 1.670604991178476,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"nBits\\\": 2048, \\\"returnRdkit\\\": false}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.9991674813978301,
0.9993001311528956,
0.9993814596790304
],
\"max_error\": [
-0.11044190626170458,
-0.10105963906130011,
-0.10858642397661944
],
\"neg_mean_absolute_error\": [
-0.03227726729519196,
-0.02998499983167487,
-0.02875269745141784
],
\"neg_mean_squared_error\": [
-0.001990359590645845,
-0.0016436008391980173,
-0.0015504722000676788
],
\"neg_median_absolute_error\": [
-0.017986631052985036,
-0.022831765939194337,
-0.01587690802440811
],
\"r2\": [
0.9991674813978301,
0.9993001311528956,
0.9993814596790304
]
},
\"test_scores\": {
\"explained_variance\": [
0.9478331336825377,
0.8226268061556614,
0.4534912361723785
],
\"max_error\": [
-0.583111805231578,
-1.613625027558136,
-2.7751131872118266
],
\"neg_mean_absolute_error\": [
-0.26113818851689663,
-0.3815732915771106,
-0.5746999515213917
],
\"neg_mean_squared_error\": [
-0.09812196210856176,
-0.4005689680325697,
-1.05970763674729
],
\"neg_median_absolute_error\": [
-0.23978989929238637,
-0.1230775690306789,
-0.26197335243555786
],
\"r2\": [
0.9332396236390536,
0.81845327494365,
0.34310169669196866
]
},
\"trial_ran\": true,
\"alg_hash\": \"cfa1990d5153c8812982f034d788d7ee\"
}
}", "{
\"number\": 23,
\"values\": [
-1.2497762395862362,
0.10124660026536195
],
\"params\": {
\"algorithm_name\": \"Lasso\",
\"Lasso_algorithm_hash\": \"5457f609662e44f04dcc9423066d2f58\",
\"alpha__5457f609662e44f04dcc9423066d2f58\": 1.1366172066709432,
\"descriptor\": \"{\\\"name\\\": \\\"ECFP_counts\\\", \\\"parameters\\\": {\\\"radius\\\": 3, \\\"useFeatures\\\": true, \\\"nBits\\\": 2048}}\"
},
\"user_attrs\": {
\"train_scores\": {
\"explained_variance\": [
0.49919889928208194,
0.485769413846579,
0.5965792144210624
],
\"max_error\": [
-2.078675180044696,
-2.00754418204583,
-1.8737360817191515
],
\"neg_mean_absolute_error\": [
-0.9947443028365607,
-0.9736841508601317,
-0.8892226290652387
],
\"neg_mean_squared_error\": [
-1.1972997014383888,
-1.207640297807022,
-1.0112399980473843
],
\"neg_median_absolute_error\": [
-1.001240218403781,
-0.9026347572075428,
-0.7422932303483329
],
\"r2\": [
0.4991988992820817,
0.4857694138465789,
0.5965792144210624
]
},
\"test_scores\": {
\"explained_variance\": [
0.4065556114872124,
0.4412005601775002,
0.1443276921579536
],
\"max_error\": [
-1.6559985383136917,
-1.9949646681399216,
-2.240398709741827
],
\"neg_mean_absolute_error\": [
-0.9805882414834669,
-0.9869012222585254,
-0.8993014056306694
],
\"neg_mean_squared_error\": [
-1.1348798102701512,
-1.233228380052796,
-1.3812205284357613
],
\"neg_median_absolute_error\": [
-0.8142109872843268,
-0.9370077589180785,
-0.812315131026196
],
\"r2\": [
0.22784867291739785,
0.4410735940310567,
0.14380024248136636
]
},
\"trial_ran\": true,
\"alg_hash\": \"5457f609662e44f04dcc9423066d2f58\"
}
}" ], "type": "scatter", "x": [ -0.5238765412750028, -0.5361950698070445, -0.5194661889628072, -1.2497762395862362 ], "y": [ 0.2789424384877304, 0.2356078652319563, 0.40146744515282495, 0.10124660026536195 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Pareto-front Plot" }, "xaxis": { "title": { "text": "neg_mean_squared_error" } }, "yaxis": { "title": { "text": "Standard deviation" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optuna.visualization import plot_pareto_front\n", "\n", "plot_pareto_front(study)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Further visualization of QSARtuna runs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible to evaluate the parameter importances on regression metric performance across descriptor vs. algorithm choice, based on the completed trials in our study:" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "cliponaxis": false, "hovertemplate": [ "descriptor (CategoricalDistribution): 0.21248849595436153", "algorithm_name (CategoricalDistribution): 0.7875115040456385" ], "name": "Objective Value", "orientation": "h", "text": [ "0.21", "0.79" ], "textposition": "outside", "type": "bar", "x": [ 0.21248849595436153, 0.7875115040456385 ], "y": [ "descriptor", "algorithm_name" ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Hyperparameter Importances" }, "xaxis": { "title": { "text": "Hyperparameter Importance" } }, "yaxis": { "title": { "text": "Hyperparameter" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optuna.visualization import plot_param_importances\n", "\n", "plot_param_importances(study, target=lambda t: t.values[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Parameter importances are represented by non-negative floating point numbers, where higher values mean that the parameters are more important. The returned dictionary is of type collections.OrderedDict and is ordered by its values in a descending order (the sum of the importance values are normalized to 1.0). Hence we can conclude that choice of algortihm is more important than choice of descriptor for our current study.\n", "\n", "It is also possible to analyse the importance of these hyperparameter choices on the impact on trial duration:" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "cliponaxis": false, "hovertemplate": [ "descriptor (CategoricalDistribution): 0.48854889667928", "algorithm_name (CategoricalDistribution): 0.51145110332072" ], "name": "duration", "orientation": "h", "text": [ "0.49", "0.51" ], "textposition": "outside", "type": "bar", "x": [ 0.48854889667928, 0.51145110332072 ], "y": [ "descriptor", "algorithm_name" ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Hyperparameter Importances" }, "xaxis": { "title": { "text": "Hyperparameter Importance" } }, "yaxis": { "title": { "text": "Hyperparameter" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_param_importances(\n", " study, target=lambda t: t.duration.total_seconds(), target_name=\"duration\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optuna also allows us to plot the parameter relationships for our study, like so:" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "dimensions": [ { "label": "Objective Value", "range": [ -2.7856521165563053, -0.5194661889628072 ], "values": [ -1.4008740644240856, -1.3561484909673422, -2.7856521165563053, -0.9125905675311808, -0.5238765412750028, -0.5348363849100434, -2.0072511048320134, -0.9625764609276656, -1.1114006274062538, -0.7801680863916906, -2.785652116470164, -2.785651973436432, -0.6101359993004856, -0.5361950698070445, -0.5356113574175657, -0.543430366921729, -2.0072511048320134, -0.5194661889628072, -0.659749443628722, -1.1068495306229729, -0.8604898820838102, -0.5919869916997383, -1.2497762395862362, -1.1114006274062536, -2.0621601907738047, -2.0621601907738047 ] }, { "label": "algorithm_name", "range": [ 0, 5 ], "ticktext": [ "RandomForestRegressor", "SVR", "PLSRegression", "Ridge", "Lasso", "ChemPropRegressor" ], "tickvals": [ 0, 1, 2, 3, 4, 5 ], "values": [ 0, 0, 1, 2, 2, 3, 4, 4, 0, 4, 1, 1, 2, 2, 3, 0, 4, 3, 0, 4, 2, 1, 4, 0, 5, 5 ] }, { "label": "descriptor", "range": [ 0, 3 ], "ticktext": [ "{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}", "{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}", "{\"name\": \"MACCS_keys\", \"parameters\": {}}", "{\"name\": \"SmilesFromFile\", \"parameters\": {}}" ], "tickvals": [ 0, 1, 2, 3 ], "values": [ 0, 0, 1, 2, 0, 1, 2, 1, 0, 1, 0, 1, 1, 0, 1, 2, 0, 0, 2, 1, 2, 0, 1, 0, 3, 3 ] } ], "labelangle": 30, "labelside": "bottom", "line": { "color": [ -1.4008740644240856, -1.3561484909673422, -2.7856521165563053, -0.9125905675311808, -0.5238765412750028, -0.5348363849100434, -2.0072511048320134, -0.9625764609276656, -1.1114006274062538, -0.7801680863916906, -2.785652116470164, -2.785651973436432, -0.6101359993004856, -0.5361950698070445, -0.5356113574175657, -0.543430366921729, -2.0072511048320134, -0.5194661889628072, -0.659749443628722, -1.1068495306229729, -0.8604898820838102, -0.5919869916997383, -1.2497762395862362, -1.1114006274062536, -2.0621601907738047, -2.0621601907738047 ], "colorbar": { "title": { "text": "Objective Value" } }, "colorscale": [ [ 0, "rgb(247,251,255)" ], [ 0.125, "rgb(222,235,247)" ], [ 0.25, "rgb(198,219,239)" ], [ 0.375, "rgb(158,202,225)" ], [ 0.5, "rgb(107,174,214)" ], [ 0.625, "rgb(66,146,198)" ], [ 0.75, "rgb(33,113,181)" ], [ 0.875, "rgb(8,81,156)" ], [ 1, "rgb(8,48,107)" ] ], "reversescale": true, "showscale": true }, "type": "parcoords" } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Parallel Coordinate Plot" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optuna.visualization import plot_parallel_coordinate\n", "\n", "plot_parallel_coordinate(study,\n", " params=[\"algorithm_name\", \"descriptor\"],\n", " target=lambda t: t.values[0]) # First performance value taken" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The same can be done for the relationships for the standard deviation of performance:" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "dimensions": [ { "label": "Objective Value", "range": [ 0.10124660026536195, 0.9876203329634794 ], "values": [ 0.9876203329634794, 0.9875061220991905, 0.21863029956806662, 0.7861693342190089, 0.2789424384877304, 0.5741725628917808, 0.2786318125997387, 0.27575381401822424, 0.7647766019001522, 0.2725738454485389, 0.21863029955530786, 0.21863032832257323, 0.3011280543457062, 0.2356078652319563, 0.5769721187181905, 0.514747412346662, 0.2786318125997387, 0.40146744515282495, 0.6659085938841998, 0.24457822094737378, 0.7086875504668665, 0.2367498627927979, 0.10124660026536195, 0.7647766019001522, 0.2749020946925899, 0.2749020946925899 ] }, { "label": "algorithm_name", "range": [ 0, 5 ], "ticktext": [ "RandomForestRegressor", "SVR", "PLSRegression", "Ridge", "Lasso", "ChemPropRegressor" ], "tickvals": [ 0, 1, 2, 3, 4, 5 ], "values": [ 0, 0, 1, 2, 2, 3, 4, 4, 0, 4, 1, 1, 2, 2, 3, 0, 4, 3, 0, 4, 2, 1, 4, 0, 5, 5 ] }, { "label": "descriptor", "range": [ 0, 3 ], "ticktext": [ "{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}", "{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}", "{\"name\": \"MACCS_keys\", \"parameters\": {}}", "{\"name\": \"SmilesFromFile\", \"parameters\": {}}" ], "tickvals": [ 0, 1, 2, 3 ], "values": [ 0, 0, 1, 2, 0, 1, 2, 1, 0, 1, 0, 1, 1, 0, 1, 2, 0, 0, 2, 1, 2, 0, 1, 0, 3, 3 ] } ], "labelangle": 30, "labelside": "bottom", "line": { "color": [ 0.9876203329634794, 0.9875061220991905, 0.21863029956806662, 0.7861693342190089, 0.2789424384877304, 0.5741725628917808, 0.2786318125997387, 0.27575381401822424, 0.7647766019001522, 0.2725738454485389, 0.21863029955530786, 0.21863032832257323, 0.3011280543457062, 0.2356078652319563, 0.5769721187181905, 0.514747412346662, 0.2786318125997387, 0.40146744515282495, 0.6659085938841998, 0.24457822094737378, 0.7086875504668665, 0.2367498627927979, 0.10124660026536195, 0.7647766019001522, 0.2749020946925899, 0.2749020946925899 ], "colorbar": { "title": { "text": "Objective Value" } }, "colorscale": [ [ 0, "rgb(247,251,255)" ], [ 0.125, "rgb(222,235,247)" ], [ 0.25, "rgb(198,219,239)" ], [ 0.375, "rgb(158,202,225)" ], [ 0.5, "rgb(107,174,214)" ], [ 0.625, "rgb(66,146,198)" ], [ 0.75, "rgb(33,113,181)" ], [ 0.875, "rgb(8,81,156)" ], [ 1, "rgb(8,48,107)" ] ], "reversescale": true, "showscale": true }, "type": "parcoords" } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Parallel Coordinate Plot" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optuna.visualization import plot_parallel_coordinate\n", "\n", "plot_parallel_coordinate(study,\n", " params=[\"algorithm_name\", \"descriptor\"],\n", " target=lambda t: t.values[1]) # Second standard deviation value taken" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Precomputed descriptors from a file example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Precomputed descriptors can be supplied to models using the \"PrecomputedDescriptorFromFile\" descriptor, and supplying the `input_column` and `response_column` like so:" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(512,)" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from optunaz.descriptors import PrecomputedDescriptorFromFile\n", "\n", "descriptor=PrecomputedDescriptorFromFile.new(\n", " file=\"../tests/data/precomputed_descriptor/train_with_fp.csv\",\n", " input_column=\"canonical\", # Name of the identifier for the compound\n", " response_column=\"fp\") # Name of the column with the pretrained (comma separated) descriptors\n", "\n", "descriptor.calculate_from_smi(\"Cc1cc(NC(=O)c2cccc(COc3ccc(Br)cc3)c2)no1\").shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this toy example there are 512 precomputed bit descriptor vectors, and a model can be trained with precomputed descriptors from a file (in a composite descriptor with ECFP), like so:" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:21:26,393] A new study created in memory with name: precomputed_example\n", "[I 2024-10-02 18:21:26,395] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:21:26,506] Trial 0 finished with value: -3704.729132396259 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.011994365911634164, 'descriptor': '{\"parameters\": {\"descriptors\": [{\"name\": \"PrecomputedDescriptorFromFile\", \"parameters\": {\"file\": \"../tests/data/precomputed_descriptor/train_with_fp.csv\", \"input_column\": \"canonical\", \"response_column\": \"fp\"}}, {\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}]}, \"name\": \"CompositeDescriptor\"}'}. Best is trial 0 with value: -3704.729132396259.\n", "[I 2024-10-02 18:21:26,547] Trial 1 finished with value: -3704.801507216346 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.03592375122963953, 'descriptor': '{\"parameters\": {\"descriptors\": [{\"name\": \"PrecomputedDescriptorFromFile\", \"parameters\": {\"file\": \"../tests/data/precomputed_descriptor/train_with_fp.csv\", \"input_column\": \"canonical\", \"response_column\": \"fp\"}}, {\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}]}, \"name\": \"CompositeDescriptor\"}'}. Best is trial 0 with value: -3704.729132396259.\n", "[I 2024-10-02 18:21:26,585] Trial 2 finished with value: -3710.34494982837 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 1.8153295905650357, 'descriptor': '{\"parameters\": {\"descriptors\": [{\"name\": \"PrecomputedDescriptorFromFile\", \"parameters\": {\"file\": \"../tests/data/precomputed_descriptor/train_with_fp.csv\", \"input_column\": \"canonical\", \"response_column\": \"fp\"}}, {\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}]}, \"name\": \"CompositeDescriptor\"}'}. Best is trial 0 with value: -3704.729132396259.\n", "[I 2024-10-02 18:21:26,671] Trial 3 finished with value: -3215.0017434643833 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 14, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 10, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"parameters\": {\"descriptors\": [{\"name\": \"PrecomputedDescriptorFromFile\", \"parameters\": {\"file\": \"../tests/data/precomputed_descriptor/train_with_fp.csv\", \"input_column\": \"canonical\", \"response_column\": \"fp\"}}, {\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}]}, \"name\": \"CompositeDescriptor\"}'}. Best is trial 3 with value: -3215.0017434643833.\n" ] } ], "source": [ "precomputed_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/precomputed_descriptor/train_with_fp.csv\",\n", " split_strategy=Stratified(fraction=0.2),\n", " ),\n", " descriptors=[\n", " CompositeDescriptor.new(\n", " descriptors=[\n", " PrecomputedDescriptorFromFile.new(file=\"../tests/data/precomputed_descriptor/train_with_fp.csv\",\n", " input_column=\"canonical\", response_column=\"fp\"),\n", " ECFP.new()])\n", " ],\n", " algorithms=[\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=4,\n", " n_startup_trials=0,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ") \n", "\n", "precomputed_study = optimize(precomputed_config, study_name=\"precomputed_example\")\n", "build_best(buildconfig_best(precomputed_study), \"../target/precomputed_model.pkl\")\n", "with open(\"../target/precomputed_model.pkl\", \"rb\") as f:\n", " precomputed_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "N.B: The `qsartuna-predict` CLI command for QSARtuna contains the options `--input-precomputed-file`, `input-precomputed-input-column` and `--input-precomputed-response-column` for generating predictions at inference time. However this is not available within python notebooks and calling predict on a new set of unseen molecules will cause \"Could not find descriptor errors\" like so:" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Could not find descriptor for CCC in file ../tests/data/precomputed_descriptor/train_with_fp.csv.\n", "Could not find descriptor for CC(=O)Nc1ccc(O)cc1 in file ../tests/data/precomputed_descriptor/train_with_fp.csv.\n" ] }, { "data": { "text/plain": [ "array([nan, nan])" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_molecules = [\"CCC\", \"CC(=O)Nc1ccc(O)cc1\"]\n", "\n", "precomputed_model.predict_from_smiles(new_molecules)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A precomputed desciptors from a file should be provided, and the `inference_parameters` function called, like so:" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([335.0447, 335.3502])" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import tempfile # For this example we use a temp file to store a temporary inference dataset\n", "\n", "# extract precomputed descriptor (i.e the 1st descriptor in the composite descriptor for this example)\n", "precomputed_descriptor = precomputed_model.descriptor.parameters.descriptors[0]\n", "\n", "# example fp with 0's for illustration purposes\n", "example_fp = str([0] * 512)[1:-1]\n", "\n", "with tempfile.NamedTemporaryFile() as temp_file:\n", " # write the query data to a new file\n", " X = pd.DataFrame(\n", " data={\"canonical\": new_molecules,\n", " \"fp\": [example_fp for i in range(len(new_molecules))]})\n", " X.to_csv(temp_file.name)\n", " \n", " # set precomputed descriptor to the new file\n", " precomputed_descriptor.inference_parameters(temp_file.name, \"canonical\", \"fp\")\n", " preds = precomputed_model.predict_from_smiles([\"CCC\", \"CC(=O)Nc1ccc(O)cc1\"])\n", "\n", "preds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preexisting models: Convert scikit-learn(-like) models to QSARtuna models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible to convert existing scikit-learn or scikit-learn like models (which support the relevant `fit`, `predict`, `predict_proba` functions) to QSARtuna models for use with external tools expecting QSARtuna objects (e.g. REINVENT) or for reuse as a preexisting model into new Optimisation runs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simple QSARtuna conversion example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The CLI tool `qsartuna-convert` is available for converting preexisting models, like so:" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: prog [-h] --input-model-file INPUT_MODEL_FILE --input-model-mode\n", " INPUT_MODEL_MODE --output-model-path OUTPUT_MODEL_PATH\n", " [--input-json-descriptor-file INPUT_JSON_DESCRIPTOR_FILE]\n", " [--wrap-for-uncertainty]\n", "\n", "Convert an existing sklearn(-like) model into a QSARtuna model\n", "\n", "options:\n", " -h, --help show this help message and exit\n", " --input-json-descriptor-file INPUT_JSON_DESCRIPTOR_FILE\n", " Name of input JSON file with descriptor configuration.\n", " Defaults to PrecomputedDescriptorFromFile\n", " --wrap-for-uncertainty\n", " Whether to wrap regression in MAPIE or classification\n", " in VennAbers Calibrated Classifiers for uncertainty\n", " support\n", "\n", "required named arguments:\n", " --input-model-file INPUT_MODEL_FILE\n", " Model file name.\n", " --input-model-mode INPUT_MODEL_MODE\n", " Classification or regression mode for the existing\n", " model.\n", " --output-model-path OUTPUT_MODEL_PATH\n", " Path where to write the converted model.\n" ] } ], "source": [ "from optunaz import convert\n", "from unittest.mock import patch\n", "import sys\n", "\n", "convert_args = [\n", " \"prog\",\n", " \"-h\",\n", "]\n", "with patch.object(sys, \"argv\", convert_args):\n", " try:\n", " convert.main()\n", " except SystemExit:\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The CLI helper function expects an `input-model-file`, the `input-model-mode` (classification or regression) and an `output-model-path` for the new QSARtuna model. In the following example, we convert a toy regression (which returns the sum of the input descriptors as a prediction) as a QSARtuna model:" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:27,199.199 WARNING convert - convert: input-json-descriptor-file not provided, default (PrecomputedDescriptorFromFile) will be used\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-10-02 18:21:27,199.199 WARNING convert - convert: input-json-descriptor-file not provided, default (PrecomputedDescriptorFromFile) will be used\n" ] } ], "source": [ "from optunaz.model_writer import Predictor\n", "\n", "# This is a simple custom predict model, \n", "# which is used for demonstration purposes\n", "class RegModel(Predictor):\n", " def predict(self, xs):\n", " return np.sum(xs, axis=1)\n", "\n", " def fit(self, X, y):\n", " pass\n", "\n", "\n", "with open(str(\"../target/regmodel_convert_example.pkl\"), \"wb\") as model_f:\n", " pickle.dump(RegModel(), model_f)\n", " \n", "convert_args = [\n", " \"prog\",\n", " \"--input-model-file\",\n", " \"../target/regmodel_convert_example.pkl\",\n", " \"--input-model-mode\",\n", " \"regression\",\n", " \"--output-model-path\",\n", " \"../target/regmodel_convert_example_converted.pkl\",\n", "]\n", "\n", "with patch.object(sys, \"argv\", convert_args):\n", " convert.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the logs we see `input-json-descriptor-file not provided, default (PrecomputedDescriptorFromFile) will be used` reported.\n", "\n", "Since no descriptor JSON configuration was provided, the default behaviour is for converted model to require preompcuted descriptors (as we presume that the descriptors used to train the preexisting model are not implemented in QSARtuna).\n", "\n", "It is possible to also provide a JSON containing the details of a descriptor to wrap with the model, if this is a QSARtuna compatible descriptor already implemented in QSARtuna, like so:" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:27,232.232 INFO convert - convert: Descriptor ECFP(name='ECFP', parameters=ECFP.Parameters(radius=3, nBits=2048, returnRdkit=False)) will be used from provided JSON\n" ] } ], "source": [ "# create a JSON with the default ECFP configuration for --input-json-descriptor-file\n", "with open(\"../target/ecfp.json\", \"wt\") as ecfp_f:\n", " json.dump(apischema.serialize(ECFP.new()), ecfp_f)\n", "\n", "convert_args = [\n", " \"prog\",\n", " \"--input-model-file\",\n", " \"../target/regmodel_convert_example.pkl\",\n", " \"--input-model-mode\",\n", " \"regression\",\n", " \"--input-json-descriptor-file\",\n", " \"../target/ecfp.json\", # the default ECFP configuration is provided to qsartuna-convert \n", " \"--output-model-path\",\n", " \"../target/ecfp_convert_example.pkl\",\n", "]\n", "\n", "with patch.object(sys, \"argv\", convert_args):\n", " convert.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have a QSARtuna model which will return the sum of ECFP bits turned on as a prediction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Add uncertainty estimation to preexisting and QSARtuna models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible to add uncertainty estimation to models by 'wrapping' preexisitng models (so long as they have the X/y labels stored in self.X_ and self.y_) with compatible uncertainty quantification methods using the `----wrap-for-uncertainty` flag.\n", "\n", "In this scenario MAPIE (for regression) or VennAbers calibrated classifiers (for classification) will be used to retrain the custom model.\n", "\n", "It even possible to add uncertainty estimation to preexisting QSARtuna models, where the descriptor JSON is not required since the QSARtuna descriptor coming with the model will simply be used. For example, we may convert the previous model we generated from the covariate section above at `../target/vector_covariate_model` like so:" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "convert_args = [\n", " \"prog\",\n", " \"--input-model-file\",\n", " \"../target/vector_covariate_model.pkl\",\n", " \"--input-model-mode\",\n", " \"regression\",\n", " \"--output-model-path\",\n", " str(\"../target/qsartuna_add_uncertainty.pkl\"),\n", "]\n", "\n", "with patch.object(sys, \"argv\", convert_args):\n", " convert.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preexisting models: Using prexisting models as custom models for Optimisation or Build" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`CustomRegressionModel` and `CustromClassifiationModel` are available to use existing `.pkl` files in at Optimisation and Build time. Custom models can also be prexisting QSARtuna models (including converted QSARtuna models as per the previous section).\n", "\n", "These methods require the location of a preexisting model pkl file (`preexisting_model`) and whether you would like the custom estimator to be refit during Optimisation or Build (N.B: most sklearn models will refit to a brand new estimator by default, so any previous fitting data would be lost if this is set to `1`).\n", "\n", "This function can be used like so:" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:21:27,307] A new study created in memory with name: custom_example\n", "[I 2024-10-02 18:21:27,351] A new study created in memory with name: study_name_0\n", "[I 2024-10-02 18:21:30,025] Trial 0 finished with value: -104472.28996365008 and parameters: {'algorithm_name': 'CustomRegressionModel', 'CustomRegressionModel_algorithm_hash': '28a16a59398d185b3254cc83cdaf7ca8', 'preexisting_model__28a16a59398d185b3254cc83cdaf7ca8': '../target/regmodel_convert_example.pkl', 'refit_model__28a16a59398d185b3254cc83cdaf7ca8': 0, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 0 with value: -104472.28996365008.\n" ] } ], "source": [ "from optunaz.config.optconfig import CustomRegressionModel\n", "\n", "\n", "custom_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/DRD2/subset-50/train.csv\",\n", " ),\n", " descriptors=[\n", " ECFP.new()\n", " ],\n", " algorithms=[\n", " CustomRegressionModel.new(preexisting_model=\"../target/regmodel_convert_example.pkl\",\n", " refit_model=0 # example parameter, showing how to prevent the \n", " #retraining of the model during optimisation\n", " )\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=2,\n", " n_trials=1,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " ),\n", ") \n", "\n", "custom_study = optimize(custom_config, study_name=\"custom_example\")\n", "build_best(buildconfig_best(custom_study), \"../target/custom_model.pkl\") # Build the optimal custom model\n", "with open(\"../target/custom_model.pkl\", \"rb\") as f:\n", " custom_model = pickle.load(f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is possible to combine the above configuration with other algorithms and descriptors to trial custom models with the default QSARtuna options, like so:" ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[I 2024-10-02 18:21:30,324] A new study created in memory with name: custom_mixed_example\n", "[I 2024-10-02 18:21:30,383] A new study created in memory with name: study_name_0\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/joblib/memory.py:577: JobLibCollisionWarning: Possible name collisions between functions 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:-1) and 'calculate_from_smi' (/Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/optunaz/descriptors.py:180)\n", " return self._cached_call(args, kwargs, shelving=False)[0]\n", "[I 2024-10-02 18:21:30,528] Trial 0 finished with value: -3043.4473106576693 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.011994365911634164, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 0 with value: -3043.4473106576693.\n", "[I 2024-10-02 18:21:30,590] Trial 1 finished with value: -3043.39919100435 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.029071783512897825, 'descriptor': '{\"name\": \"MACCS_keys\", \"parameters\": {}}'}. Best is trial 1 with value: -3043.39919100435.\n", "[I 2024-10-02 18:21:30,731] Trial 2 finished with value: -4621.489703141113 and parameters: {'algorithm_name': 'SVR', 'SVR_algorithm_hash': 'ea7ccc7ef4a9329af0d4e39eb6184933', 'gamma__ea7ccc7ef4a9329af0d4e39eb6184933': 0.022631709120790048, 'C__ea7ccc7ef4a9329af0d4e39eb6184933': 6.2198637677605415, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 1 with value: -3043.39919100435.\n", "[I 2024-10-02 18:21:30,842] Trial 3 finished with value: -770.039055241578 and parameters: {'algorithm_name': 'Ridge', 'Ridge_algorithm_hash': 'cfa1990d5153c8812982f034d788d7ee', 'alpha__cfa1990d5153c8812982f034d788d7ee': 0.4846814642387681, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 3 with value: -770.039055241578.\n", "[I 2024-10-02 18:21:30,887] Trial 4 finished with value: -3465.318936926075 and parameters: {'algorithm_name': 'PLSRegression', 'PLSRegression_algorithm_hash': '9f2f76e479633c0bf18cf2912fed9eda', 'n_components__9f2f76e479633c0bf18cf2912fed9eda': 3, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 3 with value: -770.039055241578.\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.979e+01, tolerance: 1.868e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.776e+01, tolerance: 1.971e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "/Users/kljk345/Library/Caches/pypoetry/virtualenvs/qsartuna-9ZyW8GtC-py3.10/lib/python3.10/site-packages/sklearn/linear_model/_coordinate_descent.py:697: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.609e+01, tolerance: 1.829e+01\n", " model = cd_fast.enet_coordinate_descent(\n", "[I 2024-10-02 18:21:30,996] Trial 5 finished with value: -255.7472744013205 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.02838446058299282, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -255.7472744013205.\n", "[I 2024-10-02 18:21:31,057] Trial 6 finished with value: -294.89857105510674 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 0.1638638684773267, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -255.7472744013205.\n", "[I 2024-10-02 18:21:31,112] Trial 7 finished with value: -5093.524730054582 and parameters: {'algorithm_name': 'Lasso', 'Lasso_algorithm_hash': '5457f609662e44f04dcc9423066d2f58', 'alpha__5457f609662e44f04dcc9423066d2f58': 1.7436415797926526, 'descriptor': '{\"name\": \"ECFP\", \"parameters\": {\"radius\": 3, \"nBits\": 2048, \"returnRdkit\": false}}'}. Best is trial 5 with value: -255.7472744013205.\n", "[I 2024-10-02 18:21:34,944] Trial 8 finished with value: -51690.21185741673 and parameters: {'algorithm_name': 'CustomRegressionModel', 'CustomRegressionModel_algorithm_hash': '28a16a59398d185b3254cc83cdaf7ca8', 'preexisting_model__28a16a59398d185b3254cc83cdaf7ca8': '../target/regmodel_convert_example.pkl', 'refit_model__28a16a59398d185b3254cc83cdaf7ca8': 0, 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -255.7472744013205.\n", "[I 2024-10-02 18:21:35,029] Trial 9 finished with value: -3356.140674214637 and parameters: {'algorithm_name': 'RandomForestRegressor', 'RandomForestRegressor_algorithm_hash': 'f1ac01e1bba332215ccbd0c29c9ac3c3', 'max_depth__f1ac01e1bba332215ccbd0c29c9ac3c3': 7, 'n_estimators__f1ac01e1bba332215ccbd0c29c9ac3c3': 5, 'max_features__f1ac01e1bba332215ccbd0c29c9ac3c3': , 'descriptor': '{\"name\": \"ECFP_counts\", \"parameters\": {\"radius\": 3, \"useFeatures\": true, \"nBits\": 2048}}'}. Best is trial 5 with value: -255.7472744013205.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4wAAAG1CAYAAACyIHruAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHoUlEQVR4nOzdd3gUVdvH8e+mFxJSgIQWelFq6EiRDtIExPJSBJQiKF1ABGlSpYcqIB0EC6IUBXlQUDoRUZolBKlJBBICqWSz7x952IeYIElYshvy+1xXLrJzZs7cszeQ3HvOnDGYTCYTIiIiIiIiIv9gZ+0ARERERERExDapYBQREREREZF0qWAUERERERGRdKlgFBERERERkXSpYBQREREREZF0qWAUERERERGRdKlgFBERERERkXSpYBQREREREZF0qWAUERERERGRdDlYOwB5dCaTieRkk8X7tbMzPJZ+JeuUE9uifNgW5cO2KB//zs7OgMFgsHYYIiIPpYLxCZCcbOLmzRiL9ungYIe3tzvR0bEkJSVbtG/JGuXEtigftkX5sC3Kx8P5+Lhjb6+CUURsn6akioiIiIiISLpUMIqIiIiIiEi6VDCKiIiIiIhIulQwioiIiIiISLq06I2IiIiIWIXRaOTu3bvWDkMk13F0dMTe3j5D+6pgFBEREZFsZTKZuHbtGlFRUZj09BWRbGcwgJeXFwULFnzoI35UMIqIiIhItrp27RqRkVF4eHjh7OwM6BEjItnHREJCApGRUQAUKlToX/dWwSgiIiIi2cZoNBIVlVIsenjktXY4IrmSk5MLAFFRUfj5+f3r9FQtemMFycnJBAUF0aBBA6pWrUqfPn24dOmStcMSEREReezu3r2LycR/RxZFxFqcnZ0xmXjofcQqGK1g8eLFbNy4kffff59NmzaRnJxM7969SUxMtHZoIiIiItlE01BFrCtj/wZVMGazxMREVq5cyaBBg2jUqBHly5dn7ty5hIWFsXv3bmuHJyK5iGtyAs63b+B8+wauyQnWDkdERERskArGbHbu3DliYmKoW7eueZunpydPP/00x44ds2JkIpLbJMfc4dehw/l16HCSY+5YO5xH4nQ3jpiLF3G6G2ftUERERJ4oWvQmm4WFhQFQsGDBVNsLFChgbssKBwfL1v729nap/hTrU05syxORD0Pq7y39/0h2So6K4Zch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KCe2RfmwLcqHbVE+RERyvkx/tNW5c2eWLl3KRx99xIULFwCIjY1l165dfPjhhxZ5DMY958+ft0g/586dY/Dgwan6u7fK671Cs0aNGhw9ejTVcYcPH6ZatWrY2dlRvXp1kpOTzQvXAISGhhIeHk7NmjUt1oeIiIiIiIityPRzGE0mE+PHj+fTTz81v743dbRdu3ZMnz49w89jjIqKYt68eRw9epTExETuhWIymYiNjeXWrVucPXs2M+GlKzExkRdffNH83EODwcDMmTO5dOkSX375JXny5OGPP/6gY8eO9OzZk44dO7Jv3z5mz56d6hmKw4cP5+eff2bq1Km4uroyfvx48uTJw7p16wAs0kdW6DmMuYNyYluUD9uifNgW5ePh9BxGEckpMl0w3hMaGsqRI0eIiorCw8ODmjVrUrZs2Uz1MWrUKHbs2EGDBg04f/48rq6uFC9enODgYG7cuMHEiRN58cUXsxJeGhEREcyYMYMDBw6QmJhI/fr1GT16dKoptPv372fmzJlcuHCBIkWKMHDgQFq3bm1uj42NZerUqezatQuAhg0bMnbsWPOjOSzVR2apYMwdlBPbonzYFuXDtigfD6eCUURyiiwXjAAhISFER0fj6+tLQEBApo9/5pln6NGjB/369WPlypUcPXqUpUuXEhMTQ7du3ahVqxajR4/Oani5hgrG3EE5sS3Kh21RPmyL8vFwKhhFJKfI0v9U69ato379+rRt25YuXbrQsmVLmjRpwvbt2zPVT3R0NIGBgQCUKlWKU6dOAeDu7s5rr73G999/n5XwRERERERExAIyvUrq+vXrmTJlCs2aNaN58+b4+vry999/s2PHDkaMGIG9vT3PPfdchvry9vbm9u3bABQvXpwbN24QFRWFl5cXfn5+hIeHZzY8ERERERERsZBMjzCuXbuWbt26sXDhQp5//nnq169Px44dWbFiBZ06dWLhwoUZ7qtu3bosXbqUK1euEBAQQN68efniiy8A+O677x7pvj4RERERERF5NJkuGMPCwmjSpEm6bW3btuXSpUsZ7mvw4MHcuHGDUaNGYTAY6NevHzNmzKB27dqsXr2aF154IbPhiYiIiIiIiIVkekpqpUqVOHToEM8880yatjNnzlCuXLkM91W4cGF27txpfp5jr169yJcvHz/99BOVK1e26DMdRUREREREJHMyVDAeO3bM/H2bNm2YNm0acXFxPPfcc+TPn5+oqCj27dvHunXrmDx5cqYCcHFxoXz58gAkJCTQtm1b2rVrl6k+RERERERExPIy9FiN8uXLYzAYzK/vHfKgbWfPns1wAOfPnycoKIiDBw9y584dPv30Uz777DNKlixJ9+7dM9xPbqbHauQOyoltUT5si/JhW5SPh9NjNUQkp8jQCOPatWsfy8nPnj1L165d8fX1pV27dmzcuBEAe3t7pk6dSp48eTQtVURERERExEoyVDDWqlXrsZx8xowZVKxYkZUrVwKwYcMGAMaOHUtCQgJr165VwSgiIiIiImIlGSoYFy5cyIsvvoifn1+GHpvh5uZGQEAAjRo1wsHhwaf4+eefmTNnDg4ODhiNxlRtrVu3Zvv27RkJT0RERERERB6DDBeMDRs2zHDBCCn3MrZr144PPvjggfs4OzsTHx+fbltUVBROTk4ZOpeIiIiIiIhYXoYKxnPnzqX7/YMkJiaydOnSh977WK9ePYKCgqhWrRr58+cHUgrNmJgYVq5cme6jO0RERERERCR7ZPo5jPfcvn0bk8mEp6dnmjYnJyfq1avHb7/99q99jBgxgpdffplWrVqZV2KdPn06oaGhmEwm5syZk9XwRERERERE5BFl6LEa94SEhLB8+XL+85//cOfOHQDc3d1p2rQpr732GuXKlct0AJGRkaxevZrDhw8TFRWFh4cHNWvWpFevXhQoUCDT/eVGeqxG7qCc2Bblw7YoH7ZF+Xg4PVZDRHKKDI8w7ty5k9GjR2NnZ8czzzxDQEAADg4OXLp0ib179/L1118zdepU2rZtm6kAvL29GTp0aKYDFxERERERkccrQwVjSEgIo0eP5tlnn+X9998nb968qdrv3LnD+PHjGTt2LE899RSlSpXKcADh4eGcOnWK27dvp9veoUOHDPclIiIiIiIilpOhgnH16tWULl2auXPnYm9vn6Y9T548zJw5ky5durBmzRomTZqUoZPv3LmTd955h8TExHTbDQaDCkYREREREREryVDBeOjQIfr3759usXiPnZ0dr7zySoYfuwEwb948KleuzOjRo/Hy8srwcSIiIiIiIvL4ZahgjIiIoFixYg/dr0iRIvz9998ZPnlERASTJk2iQoUKGT5GREREREREskeGlufy9PQkIiLioftFRETg4+OT4ZNXrVo1Q891FBERERER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RCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXSoYRUREREREJF0qGEVERERERCRdKhhFREREREQkXbmmYAwODqZcuXJpvo4cOWLe59ChQ3Tq1IkqVarQqlUrduzYkaqPhIQEJk6cSN26dQkMDGT48OHcvHkz1T6W6ENERERERMQW5JqC8bfffiMgIIAff/wx1VdgYCAAISEh9OvXjwYNGrBlyxZefPFFRo4cyaFDh8x9TJgwgR9//JEFCxawZs0azp8/z6BBg8ztluhDRERERETEVjhYO4Ds8vvvv1O6dGny58+fbvuaNWsoV64cQ4cOBaBUqVKcOXOGFStWULduXcLDw9m6dStLly6lRo0aAMyZM4dWrVpx4sQJAgMDLdKHiIiIiIiIrchVI4ylSpV6YPvx48epW7duqm116tQhODgYk8lEcHCweds9JUqUwM/Pj2PHjlmsDxEREREREVuRa0YY//jjD7y9venUqRPh4eGULVuWoUOHUrlyZQDCwsLw9/dPdUyBAgWIi4sjMjKS8PBwvL29cXZ2TrNPWFiYxfrIKgcHy9b+9vZ2qf4U61NObIvyYVuUD9uifIiIPDmeiILx8uXLNG3a9IHt33//Pbdv3yY2NpaxY8dib2/P+vXr6datG1u2bKF06dLEx8fj5OSU6rh7rxMTE4mLi0vTDuDs7ExCQgKARfrICjs7A97e7lk+/t94ero+ln4l65QT26J82Bblw7YoHyIiOd8TUTD6+fmxc+fOB7YXKFCAY8eO4erqiqOjIwCVKlXizJkzrFu3jokTJ+Ls7ExiYmKq4+69dnV1xcXFJU07pKx66uqa8gPREn1kRXKyiejo2Cwfnx57ezs8PV2Jjo7DaEy2aN+SNcqJbVE+bIvyYVuUj4fz9HTVCKyI5AhPRMHo6Oj4r/cnAnh6eqZ6bWdnR6lSpQgPDwegYMGCREREpNonIiICNzc3PDw88Pf3JyoqisTExFSjhBEREfj5+Vmsj6xKSno8P5CNxuTH1rdkjXJiW5QP26J82BblQ0Qk58sVH23t37+fwMBALl26ZN6WlJTEuXPnKF26NAA1atTg6NGjqY47fPgw1apVw87OjurVq5OcnGxeuAYgNDSU8PBwatasabE+REREREREbEWuKBirVauGt7c3o0aN4tSpU/z222+MGjWKqKgoevbsCUD37t355ZdfmDVrFiEhIaxcuZJvvvmG3r17AynTXtu0acPYsWM5cuQIv/zyC8OGDaNWrVpUrVrVYn2IiIiIiIjYCoPJZDJZO4jscPHiRWbNmsWRI0dISEigevXqjBo1irJly5r32b9/PzNnzuTChQsUKVKEgQMH0rp1a3N7bGwsU6dOZdeuXQA0bNiQsWPH4u3tbdE+MstoTObmzZgsH58eBwc7vL3diYyM0XQiG6Gc2Bblw7YoH7ZF+Xg4Hx933cMoIjlCrikYn2QqGHMH5cS2KB+2RfmwLcrHw6lgFJGcQv9TiYiIiGWZDNyOjsdgsHYgIiLyqFQwioiIiMXYGewIPvQXG5YfIdmIikYRkRxOBaOIiIhYhJ3BjhOHL3JwbwgRV2/zyarjGDCoaBQRycFUMIqIiMgjMxeL34WYt0Vcu82nq4NVNIqI5GAqGEVEROSRODjYEXsnIVWxeE/Etdsc2ReKg729FSITEZFHpYJRREREHklSUjJueZxo1bFCmrbipX2p06gkd5OMVohMREQelQpGEREReWTJJhOlyudPVTQWL+1L25cqY0zWozVERHIqFYwiIiJiEfcXjcVL+9LuZRWLIiI5nYO1AxAREZEnR7LJRJmnC/B0lULcTUqydjgiIvKINMIoIiIilmWAPB7O1o5CREQsQAWjiIiIiIiIpEsFo4iIiIiIiKRLBaOIiIiIiIikSwWjiIiIiIiIpEsFo4iIiIiIiKRLBaOIiIiIiIikSwWjiIiIiIiIpEsFo4iIiIiIiKRLBaOIiIiIiIikSwWjiIiIiIiIpMtgMplM1g5CHo3JZCI52fJptLe3w2hMtni/knXKiW1RPmyL8mFblI9/Z2dnwGAwWDsMEZGHUsEoIiIiIiIi6dKUVBEREREREUmXCkYRERERERFJlwpGERERERERSZcKRhEREREREUmXCkYRERERERFJlwpGERERERERSZcKRhEREREREUmXCkYRERERERFJlwpGERERERERSZcKRhEREREREUmXCkYRERERERFJlwpGERERERERSZcKRhEREREREUmXCkZJIzk5maCgIBo0aEDVqlXp06cPly5dsnZYuVZUVBTjxo2jYcOGVKtWjf/7v//j+PHj1g5LgNDQUAIDA9myZYu1Q8nVtm7dSuvWralUqRJt2rTh66+/tnZIuVpSUhLz58+ncePGBAYG0rVrV37++WdrhyUiIlmkglHSWLx4MRs3buT9999n06ZNJCcn07t3bxITE60dWq40bNgwTpw4wZw5c/j888956qmneP311zl//ry1Q8vV7t69y9tvv01sbKy1Q8nVvvzyS8aMGUPXrl3ZsWMHbdu2Nf+bEetYsmQJn376Ke+//z5bt26lRIkS9O7dm4iICGuHJiIiWaCCUVJJTExk5cqVDBo0iEaNGlG+fHnmzp1LWFgYu3fvtnZ4uc5ff/3FgQMHmDBhAjVq1KBEiRK89957FChQgG3btlk7vFxtwYIF5MmTx9ph5Gomk4n58+fz6quv0rVrVwICAujfvz/PPPMMR48etXZ4udaePXto27Yt9evXp1ixYrzzzjvcvn1bo4wiIjmUCkZJ5dy5c8TExFC3bl3zNk9PT55++mmOHTtmxchyJ29vb5YtW0alSpXM2wwGAwaDgejoaCtGlrsdO3aMzZs3M336dGuHkquFhoZy5coV2rVrl2r7Rx99RL9+/awUlfj6+vLdd99x+fJljEYjmzdvxsnJifLly1s7NBERyQIVjJJKWFgYAAULFky1vUCBAuY2yT6enp48++yzODk5mbft2rWLv/76iwYNGlgxstwrOjqakSNHMnbs2DT/TiR7hYaGAhAbG8vrr79O3bp1efHFF9m7d6+V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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from optunaz.utils.preprocessing.transform import VectorFromColumn\n", "\n", "custom_mixed_config = OptimizationConfig(\n", " data=Dataset(\n", " input_column=\"canonical\",\n", " response_column=\"molwt\",\n", " response_type=\"regression\",\n", " training_dataset_file=\"../tests/data/precomputed_descriptor/train_with_fp.csv\",\n", " aux_column=\"fp\", # use a comma separated co-variate vector in column `fp`\n", " aux_transform=VectorFromColumn.new(), # split the comma separated values into a vector\n", " split_strategy=Stratified(fraction=0.2),\n", " ),\n", " descriptors=[\n", " ECFP.new(), \n", " ECFP_counts.new(), \n", " MACCS_keys.new(),\n", " ],\n", " algorithms=[\n", " SVR.new(),\n", " RandomForestRegressor.new(n_estimators={\"low\": 5, \"high\": 10}),\n", " Ridge.new(),\n", " Lasso.new(),\n", " PLSRegression.new(),\n", " CustomRegressionModel.new(preexisting_model=\"../target/regmodel_convert_example.pkl\", refit_model=0)\n", " ],\n", " settings=OptimizationConfig.Settings(\n", " mode=ModelMode.REGRESSION,\n", " cross_validation=3,\n", " n_trials=10,\n", " n_startup_trials=0,\n", " direction=OptimizationDirection.MAXIMIZATION,\n", " track_to_mlflow=False,\n", " random_seed=42,\n", " ),\n", ")\n", "custom_study = optimize(custom_mixed_config, study_name=\"custom_mixed_example\")\n", "\n", "sns.set_theme(style=\"darkgrid\")\n", "ax = sns.scatterplot(data=custom_study.trials_dataframe(), x=\"number\", \n", " y=\"value\",style='params_algorithm_name',hue='params_algorithm_name')\n", "ax.set(xlabel=\"Trial number\",ylabel=f\"Ojbective value\\n({default_reg_scoring})\")\n", "sns.move_legend(ax, \"upper right\", bbox_to_anchor=(1.6, 1), ncol=1, title=\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# AutoML (Automated model retraining)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The AutoML daemon functionaility in QSARtuna automates the process of preparing data for model training, including data cleaning, feature extraction, and data formatting, streamlining the data preprocessing stage. The main aspects of this workflow are the following:\n", "\n", "* __Automated Data Preparation__: Automated process of preparing data for model training, including cleaning, feature extraction, formatting and quorum checks, streamlining data preprocessing\n", "\n", "* __Model Training with SLURM__: Integration with SLURM to dispatch tasks, leveraging distributed computing resources for efficient and scalable model training\n", "\n", "* __Scalable and Efficient with Dynamic Resource Allocation__: Workflow designed to handle large datasets (with multiple prediction tasks) and dynamically utilize CPU/GPU/memory HPC resources\n", "\n", "* __Customizable SLURM and QSARtuna Templates__: SLURM templates can be tailored for different use cases. Both initial training and retraining QSARtuna JSON configurations are used, allowing users customise which algorithms and descriptors should be trialed. The default configuration will for e.g. train an initial ChemProp model, and subsequent models will automatically trial Transfer Learning (TL) from previous models for new data, when appropriate\n", "\n", "* __Metadata, Prediction and Model Tracking__: The code includes functionality for tracking temporal performance, raw test predictions, active learning predictions and exported QSARtuna models, aiding monitoring and evaluating pseudo-prospective model performance over time\n", "\n", "* __Automatic Job Resubmission__: In case of SLURM job failures, the code provides functionality to automatically resubmit failed jobs with modified resource allocations, enhancing the robustness of the model training process\n", "\n", "* __Parallel Task Processing__: Supports for parallel processing training tasks, allowing for efficient handling of multiple retraining tasks simultaneously, reducing overall processing time\n", "\n", "* __Dry Run Mode__: Dry run mode option enables users to simulate the process without actually submitting jobs, useful for verifying configurations and testing the workflow\n", "\n", "The following is an example from the QSARtuna unit tests:" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: prog [-h] --output-path OUTPUT_PATH --email EMAIL --user_name USER_NAME\n", " --input-data INPUT_DATA --input-smiles-csv-column\n", " INPUT_SMILES_CSV_COLUMN --input-activity-csv-column\n", " INPUT_ACTIVITY_CSV_COLUMN --input-task-csv-column\n", " INPUT_TASK_CSV_COLUMN --input-initial-template\n", " INPUT_INITIAL_TEMPLATE --input-retrain-template\n", " INPUT_RETRAIN_TEMPLATE --input-slurm-template INPUT_SLURM_TEMPLATE\n", " [--quorum QUORUM] [--n-cores N_CORES] [--dry-run] [-v]\n", " [--slurm-req-cores SLURM_REQ_CORES]\n", " [--slurm-req-mem SLURM_REQ_MEM] --slurm-req-partition\n", " SLURM_REQ_PARTITION --slurm-al-pool SLURM_AL_POOL\n", " --slurm-al-smiles-csv-column SLURM_AL_SMILES_CSV_COLUMN\n", " --slurm-job-prefix SLURM_JOB_PREFIX\n", " [--slurm-failure-cores-increment SLURM_FAILURE_CORES_INCREMENT]\n", " [--slurm-failure-mem-increment SLURM_FAILURE_MEM_INCREMENT]\n", " [--slurm-failure-mins-increment SLURM_FAILURE_MINS_INCREMENT]\n", " [--slurm-failure-max-retries SLURM_FAILURE_MAX_RETRIES]\n", " [--slurm-failure-max-mem SLURM_FAILURE_MAX_MEM]\n", " [--slurm-failure-max-cpu SLURM_FAILURE_MAX_CPU]\n", " [--save-previous-models]\n", "\n", "AutoML scheduling for temporal automatic retraining of QSARtuna models\n", "\n", "options:\n", " -h, --help show this help message and exit\n", " --quorum QUORUM\n", " --n-cores N_CORES\n", " --dry-run\n", " -v, --verbose\n", " --slurm-req-cores SLURM_REQ_CORES\n", " --slurm-req-mem SLURM_REQ_MEM\n", " --slurm-failure-cores-increment SLURM_FAILURE_CORES_INCREMENT\n", " --slurm-failure-mem-increment SLURM_FAILURE_MEM_INCREMENT\n", " --slurm-failure-mins-increment SLURM_FAILURE_MINS_INCREMENT\n", " --slurm-failure-max-retries SLURM_FAILURE_MAX_RETRIES\n", " --slurm-failure-max-mem SLURM_FAILURE_MAX_MEM\n", " --slurm-failure-max-cpu SLURM_FAILURE_MAX_CPU\n", " --save-previous-models\n", "\n", "required named arguments:\n", " --output-path OUTPUT_PATH\n", " Path to the output AutoML directory\n", " --email EMAIL Email for SLURM job notifications\n", " --user_name USER_NAME\n", " HPC 'username' for the AutoML user\n", " --input-data INPUT_DATA\n", " Name of the input file[s]. For multiple files use '*'\n", " in wildcard expression\n", " --input-smiles-csv-column INPUT_SMILES_CSV_COLUMN\n", " Column name of SMILES column in csv file\n", " --input-activity-csv-column INPUT_ACTIVITY_CSV_COLUMN\n", " Column name of activity column in data file\n", " --input-task-csv-column INPUT_TASK_CSV_COLUMN\n", " Column name of task column in data file\n", " --input-initial-template INPUT_INITIAL_TEMPLATE\n", " --input-retrain-template INPUT_RETRAIN_TEMPLATE\n", " --input-slurm-template INPUT_SLURM_TEMPLATE\n", " --slurm-req-partition SLURM_REQ_PARTITION\n", " --slurm-al-pool SLURM_AL_POOL\n", " --slurm-al-smiles-csv-column SLURM_AL_SMILES_CSV_COLUMN\n", " --slurm-job-prefix SLURM_JOB_PREFIX\n" ] } ], "source": [ "from optunaz import automl\n", "import sys\n", "\n", "aml_args = [\n", " \"prog\",\n", " \"-h\",\n", "]\n", "with patch.object(sys, \"argv\", aml_args):\n", " try:\n", " automl.main()\n", " except SystemExit:\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Note on High-Performance Computing (HPC) Setup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This workflow is designed for use with one particular SLURM setup used in-house. If you intend to functionilaity with a different job scheduling system, significant modifications to the SLURM-specific components are necessary. Please ensure thorough understanding and necessary adaptations. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data extraction options" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QSARtuna AutoML expects temporal data (`--input-data`) to have been exported from warehouses/databases in a flat file structure in CSV format (which can also be gz compressed), containing SMILES, activity and task (which denotes each distinct property to be modelled) CSV columns. \n", "\n", "Exports are expected to be temporal in nature, with the naming convention `%Y-%m-%d` (see [here](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior) for details). Data can be exported in two ways:\n", "\n", "* 1.) __Multiple files__: Each extraction date gets an distinct/unique file with `%Y-%m-%d` format within the filename, which denotes that point in temporal train time, like so:" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total 128\r\n", "-rw-r--r--@ 1 kljk345 staff 9.2K Aug 27 12:08 2024-01-01.csv\r\n", "-rw-r--r--@ 1 kljk345 staff 12K Aug 27 12:08 2024-02-01.csv\r\n", "-rw-r--r--@ 1 kljk345 staff 12K Aug 27 12:08 2024-03-01.csv\r\n", "-rw-r--r--@ 1 kljk345 staff 12K Aug 27 12:08 2024-04-01.csv\r\n", "-rw-r--r--@ 1 kljk345 staff 438B Aug 27 12:08 2024-05-01.csv\r\n" ] } ], "source": [ "ls -lrth ../tests/data/automl/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* 2.) __Single file__: Data extraction is written to a single file (with any naming convention). The last modified date of the file is compared to the most recent round of AutoML training. If the file has undergone an update, then a new model building procedure is triggered." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Walkthough running an AutoML pipeline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The main files that should be configured by users are the following:\n", "\n", "* `--input-initial-template` dictates the first optimisation configuration for a property\n", "* `--input-retrain-template` defines any further optimisation configurations, which e.g. could be configured to perform transfer learning on a compatible model from the `--input-initial-template`\n", "* `--input-slurm-template` is the bash script to orchestrate model [re]-training. The default provided in `../examples/slurm-scripts/automl.template` is setup to use singularity commands, and for easy configuration within our current HPC setup (e.g. different partitions/memory allocations can be easily modified)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us consider the following AutoML setup:\n", "\n", "* Training data is located in `../tests/data/automl/`\n", "* The config for an initial round of model training is in `../examples/automl/config.initial.template`\n", "* A config for any subsequent models is in `../examples/automl/config.retrain.template`\n", "* Our slurm template is in `../examples/slurm-scripts/automl.template`\n", "* HPC environment dictates our maximum requested resources should not exceed 50G of memory and 26 cpu\n", "* We would like to retain all previous models\n", "* A pool of compounds that could be added tested and added to a future model is in `../tests/data/DRD2/subset-1000/train.csv `\n", "\n", "Then our configuration would be:\n", "\n", "```\n", "qsartuna-automl \n", " --input-data \"../tests/data/automl/*\" \\\n", " --email @.com --user_name \\ # username should be accurate to monitor jobs\n", " --input-smiles-csv-column canonical --input-activity-csv-column molwt \\\n", " --input-task-csv-column one_taskid \\ # one_taskid in the toy data set has only one example task \n", " --input-initial-template ../examples/automl/config.initial.template \\\n", " --input-retrain-template ../examples/automl/config.retrain.template \\\n", " --input-slurm-template ../examples/slurm-scripts/automl.template \\\n", " --n-cores 1 -vvv --slurm-al-pool ../tests/data/DRD2/subset-1000/train.csv \\\n", " --slurm-al-smiles-csv-column canonical --output-path ../example_automl \\\n", " --slurm-failure-max-cpu 26 --slurm-failure-max-mem 50 --save-previous-models \\\n", " --slurm-job-prefix testaml --slurm-req-partition testpartition\n", "```\n", "\n", "and we can perform a test dry-run of this command from within our workbook like so:" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:35,723.723 INFO automl - main: Namespace(output_path='../target/automl_example', email='test@test.com', user_name='test', input_data='../tests/data/automl/*', input_smiles_csv_column='canonical', input_activity_csv_column='molwt', input_task_csv_column='one_taskid', input_initial_template='../examples/automl/config.initial.template', input_retrain_template='../examples/automl/config.retrain.template', input_slurm_template='../examples/slurm-scripts/automl.template', quorum=25, n_cores=1, dry_run=True, verbose=2, slurm_req_cores=12, slurm_req_mem=None, slurm_req_partition='testpartition', slurm_al_pool='../tests/data/DRD2/subset-1000/train.csv', slurm_al_smiles_csv_column='canonical', slurm_job_prefix='testaml', slurm_failure_cores_increment=4, slurm_failure_mem_increment=20, slurm_failure_mins_increment=720, slurm_failure_max_retries=5, slurm_failure_max_mem=200, slurm_failure_max_cpu=20, save_previous_models=False)\n", "2024-10-02 18:21:35,729.729 DEBUG automl - main: Processing timepoint 24_01_01\n", "2024-10-02 18:21:35,730.730 DEBUG automl - first_run: ../target/automl_example does not exist, creating it\n", "2024-10-02 18:21:35,731.731 DEBUG automl - first_run: ../target/automl_example/processed_timepoints.json not set\n", "2024-10-02 18:21:35,731.731 DEBUG automl - initProcessedTimepoints: Init first processed timepoint to: ../target/automl_example/processed_timepoints.json\n", "2024-10-02 18:21:35,733.733 DEBUG automl - checkSkipped: ../target/automl_example/data/TID1/.skip not present\n", "2024-10-02 18:21:35,733.733 DEBUG automl - checkisLocked: 24_01_01: Lockfile [../target/automl_example/data/TID1/.24_01_01] not set; no lock for taskcode [TID1]\n", "2024-10-02 18:21:35,737.737 DEBUG automl - processRetraining: TID1: Dynamic resource allocation mem: 60G\n", "2024-10-02 18:21:35,740.740 DEBUG automl - processRetraining: TID1: 24_01_01: No temporal predictions since [No previous model found for [../target/automl_example/data/TID1/TID1.pkl]]\n", "2024-10-02 18:21:35,742.742 DEBUG automl - writeDataset: wrote dataset to ../target/automl_example/data/TID1/TID1.csv\n", "2024-10-02 18:21:35,746.746 DEBUG automl - writeSlurm: wrote slurm to ../target/automl_example/data/TID1/TID1.sh\n", "2024-10-02 18:21:35,749.749 DEBUG automl - writeJson: wrote json to ../target/automl_example/data/TID1/TID1.json\n", "2024-10-02 18:21:35,750.750 DEBUG automl - setJobLocked: lock_file for ../target/automl_example/data/TID1/.24_01_01 was set\n", "2024-10-02 18:21:35,750.750 DEBUG automl - submitJob: Dry run of /usr/bin/sbatch ../target/automl_example/data/TID1/TID1.sh\n", "2024-10-02 18:21:35,751.751 INFO automl - main: Exiting at this timepoint since there is work to do\n", "2024-10-02 18:21:35,751.751 DEBUG automl - main: Work: ['TID1']\n", "2024-10-02 18:21:35,751.751 INFO automl - main: AutoML script took [0.030505419] seconds.\n", "2024-10-02 18:21:35,752.752 DEBUG base - close: closing pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n" ] } ], "source": [ "aml_args = [\n", " \"prog\",\n", " \"--output-path\",\n", " \"../target/automl_example\",\n", " \"--email\",\n", " \"test@test.com\",\n", " \"--user_name\",\n", " \"test\",\n", " \"--input-data\",\n", " \"../tests/data/automl/*\",\n", " \"--input-smiles-csv-column\",\n", " \"canonical\",\n", " \"--input-activity-csv-column\",\n", " \"molwt\",\n", " \"--input-task-csv-column\",\n", " \"one_taskid\",\n", " \"--input-initial-template\",\n", " \"../examples/automl/config.initial.template\",\n", " \"--input-retrain-template\",\n", " \"../examples/automl/config.retrain.template\",\n", " \"--input-slurm-template\",\n", " \"../examples/slurm-scripts/automl.template\",\n", " \"--n-cores\",\n", " \"1\",\n", " \"--dry-run\", # The dry-run option is enabled, so the AutoML pipeline does not submit to SLURM\n", " \"-vv\", # Use this CLI option to enable detailed debugging logging to observe QSARtuna AutoML behaviour \n", " \"--slurm-al-pool\",\n", " \"../tests/data/DRD2/subset-1000/train.csv\",\n", " \"--slurm-al-smiles-csv-column\",\n", " \"canonical\",\n", " \"--slurm-job-prefix\",\n", " \"testaml\",\n", " \"--slurm-req-partition\",\n", " \"testpartition\"\n", "]\n", "with patch.object(sys, \"argv\", aml_args):\n", " automl.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the verbose `-vv` enables us to see what the automl script did behind the scenes.\n", "\n", "Let's check the `testaml` directory to see what the automl script has generated in the `../target/automl_example` output directory:" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " | | |\r\n", " | | |-/processed_timepoints.json\r\n", " | | |-/data\r\n", " | | | |-TID1\r\n", " | | | | |-TID1.csv\r\n", " | | | | |-TID1.sh\r\n", " | | | | |-.24_01_01\r\n", " | | | | |-TID1.json\r\n" ] } ], "source": [ "!find ../target/automl_example/ | sed -e \"s/[^-][^\\/]*\\// |/g\" -e \"s/|\\([^ ]\\)/|-\\1/\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Taken together, the above log and directory structure of `automl_example` shows that the:\n", "\n", "* first temporal point of training data has been correctly ingested (`24_01_01`)\n", "* one available task in this example (for which data is available) at the `24_01_01` timepoint, denoted as `TID1` (for `molwt` prediction) meets quourum and is hence indexed at `../tests/data/automl/data/TID1/`\n", "* resulting folder `data/TID1` comprises the following processed data:\n", " * `TID1.csv` : molecular property data set ready for modelling\n", " * `TID1.json`: config for an initial round of model training\n", " * `TID1.sh`: used to run run QSARtuna AutoML via an `sbatch` command, though `-- dry-run` prevented this happening\n", " * `.24_01_01` lock file initiated to track the status of the training at this timepoint\n", "* `processed_timepoints.json` is created to track which timepoints are processed\n", "\n", "The script stopped at this point, to allow for HPC resources to submit the initial optimisation job. Subsequent runs of the QSARtuna AutoML are required to progress past the initial optimisation run, and so could be scheduled (e.g. using `cron` or similar).\n", "\n", "Running the AutoML workflow does a dry-run check of the status of the run:" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:36,148.148 DEBUG base - setup: entering setup\n", "2024-10-02 18:21:36,149.149 DEBUG base - create: create pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n", "2024-10-02 18:21:36,151.151 DEBUG base - check: check pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n", "2024-10-02 18:21:36,153.153 INFO automl - main: Namespace(output_path='../target/automl_example', email='test@test.com', user_name='test', input_data='../tests/data/automl/*', input_smiles_csv_column='canonical', input_activity_csv_column='molwt', input_task_csv_column='one_taskid', input_initial_template='../examples/automl/config.initial.template', input_retrain_template='../examples/automl/config.retrain.template', input_slurm_template='../examples/slurm-scripts/automl.template', quorum=25, n_cores=1, dry_run=True, verbose=2, slurm_req_cores=12, slurm_req_mem=None, slurm_req_partition='testpartition', slurm_al_pool='../tests/data/DRD2/subset-1000/train.csv', slurm_al_smiles_csv_column='canonical', slurm_job_prefix='testaml', slurm_failure_cores_increment=4, slurm_failure_mem_increment=20, slurm_failure_mins_increment=720, slurm_failure_max_retries=5, slurm_failure_max_mem=200, slurm_failure_max_cpu=20, save_previous_models=False)\n", "2024-10-02 18:21:36,159.159 DEBUG automl - main: Processing timepoint 24_01_01\n", "2024-10-02 18:21:36,160.160 DEBUG automl - first_run: ../target/automl_example/processed_timepoints.json exists\n", "2024-10-02 18:21:36,162.162 DEBUG automl - checkSkipped: ../target/automl_example/data/TID1/.skip not present\n", "2024-10-02 18:21:36,162.162 DEBUG automl - checkisLocked: 24_01_01: Lockfile [../target/automl_example/data/TID1/.24_01_01] locks the taskcode [TID1]\n", "2024-10-02 18:21:36,164.164 DEBUG automl - checkRunningSlurmJobs: Dry run of /usr/bin/squeue\n", "2024-10-02 18:21:36,164.164 WARNING automl - resubmitAnyFailedJobs: ../target/automl_example/data/TID1/TID1.sh never ran, so will be resubmit\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-10-02 18:21:36,164.164 WARNING automl - resubmitAnyFailedJobs: ../target/automl_example/data/TID1/TID1.sh never ran, so will be resubmit\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:36,167.167 DEBUG automl - submitJob: Dry run of /usr/bin/sbatch ../target/automl_example/data/TID1/TID1.sh\n", "2024-10-02 18:21:36,167.167 INFO automl - resubmitAnyFailedJobs: ../target/automl_example/data/TID1/TID1.sh resubmit (0 retrys)\n", "2024-10-02 18:21:36,168.168 INFO automl - resubmitAnyFailedJobs: Some jobs were resubmitted: ['TID1']\n", "2024-10-02 18:21:36,168.168 INFO automl - main: Exiting: 24_01_01 lock(s) indicate(s) work ongoing\n", "2024-10-02 18:21:36,168.168 INFO automl - main: AutoML script took [0.016326904] seconds.\n", "2024-10-02 18:21:36,168.168 DEBUG base - close: closing pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n" ] } ], "source": [ "with patch.object(sys, \"argv\", aml_args):\n", " automl.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The subsequent run of the code above correctly identifies the job was never correctly submitted to the SLURM queue (due to the dry-run), and correctly assessed the previous number of retires: \"`resubmitAnyFailedJobs: ... resubmit (0 retrys)`\".\n", "\n", "NB: if an acutal job fails with a reported reason, dynamic resource allocation will attempt to increase job time/mem/cpu and resubmit to slurm, in an attempt to facilitate a successful run due to insufficient resources.\n", "\n", "We can now emulate a sucessful run by copying an example trained model to the directory:" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-10-02 18:21:36,175.175 DEBUG base - setup: entering setup\n", "2024-10-02 18:21:36,175.175 DEBUG base - create: create pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n", "2024-10-02 18:21:36,176.176 DEBUG base - check: check pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n", "2024-10-02 18:21:36,178.178 INFO automl - main: Namespace(output_path='../target/automl_example', email='test@test.com', user_name='test', input_data='../tests/data/automl/*', input_smiles_csv_column='canonical', input_activity_csv_column='molwt', input_task_csv_column='one_taskid', input_initial_template='../examples/automl/config.initial.template', input_retrain_template='../examples/automl/config.retrain.template', input_slurm_template='../examples/slurm-scripts/automl.template', quorum=25, n_cores=1, dry_run=True, verbose=2, slurm_req_cores=12, slurm_req_mem=None, slurm_req_partition='testpartition', slurm_al_pool='../tests/data/DRD2/subset-1000/train.csv', slurm_al_smiles_csv_column='canonical', slurm_job_prefix='testaml', slurm_failure_cores_increment=4, slurm_failure_mem_increment=20, slurm_failure_mins_increment=720, slurm_failure_max_retries=5, slurm_failure_max_mem=200, slurm_failure_max_cpu=20, save_previous_models=False)\n", "2024-10-02 18:21:36,181.181 DEBUG automl - main: Processing timepoint 24_01_01\n", "2024-10-02 18:21:36,182.182 DEBUG automl - first_run: ../target/automl_example/processed_timepoints.json exists\n", "2024-10-02 18:21:36,183.183 DEBUG automl - checkSkipped: ../target/automl_example/data/TID1/.skip not present\n", "2024-10-02 18:21:36,183.183 DEBUG automl - checkisLocked: 24_01_01: Lockfile [../target/automl_example/data/TID1/.24_01_01] not set; no lock for taskcode [TID1]\n", "2024-10-02 18:21:36,188.188 DEBUG automl - processRetraining: TID1: Fist timepoint\n", "2024-10-02 18:21:36,189.189 INFO automl - main: Work appears complete for timepoint 24_01_01\n", "2024-10-02 18:21:36,189.189 DEBUG automl - setProcessedTimepoints: Appended processed timepoint 24_01_01 to ../target/automl_example/processed_timepoints.json\n", "2024-10-02 18:21:36,192.192 DEBUG automl - getRetrainingData: 24_01_01 is in processed_timepoints.json\n", "2024-10-02 18:21:36,194.194 DEBUG automl - main: Processing timepoint 24_02_01\n", "2024-10-02 18:21:36,195.195 DEBUG automl - first_run: ../target/automl_example/processed_timepoints.json exists\n", "2024-10-02 18:21:36,196.196 DEBUG automl - checkSkipped: ../target/automl_example/data/TID1/.skip not present\n", "2024-10-02 18:21:36,197.197 DEBUG automl - checkisLocked: 24_02_01: Lockfile [../target/automl_example/data/TID1/.24_02_01] not set; no lock for taskcode [TID1]\n", "2024-10-02 18:21:36,201.201 DEBUG automl - processTrain: TID1: 152 new data points found\n", "2024-10-02 18:21:36,204.204 DEBUG automl - processRetraining: TID1: Dynamic resource allocation mem: 60G\n", "2024-10-02 18:21:36,206.206 DEBUG automl - processRetraining: TID1: 24_02_01: No temporal predictions since [No previous model found for [../target/automl_example/data/TID1/TID1.pkl]]\n", "2024-10-02 18:21:36,208.208 DEBUG automl - writeDataset: wrote dataset to ../target/automl_example/data/TID1/TID1.csv\n", "2024-10-02 18:21:36,209.209 DEBUG automl - writeSlurm: wrote slurm to ../target/automl_example/data/TID1/TID1.sh\n", "2024-10-02 18:21:36,209.209 DEBUG automl - writeJson: wrote json to ../target/automl_example/data/TID1/TID1.json\n", "2024-10-02 18:21:36,210.210 DEBUG automl - setJobLocked: lock_file for ../target/automl_example/data/TID1/.24_02_01 was set\n", "2024-10-02 18:21:36,210.210 DEBUG automl - submitJob: Dry run of /usr/bin/sbatch ../target/automl_example/data/TID1/TID1.sh\n", "2024-10-02 18:21:36,211.211 INFO automl - main: Exiting at this timepoint since there is work to do\n", "2024-10-02 18:21:36,212.212 DEBUG automl - main: Work: ['TID1']\n", "2024-10-02 18:21:36,212.212 INFO automl - main: AutoML script took [0.035192013] seconds.\n", "2024-10-02 18:21:36,212.212 DEBUG base - close: closing pidfile: /Users/kljk345/PycharmProjects/Public_QSARtuna/D/QSARtuna/notebooks/prog.pid\n" ] } ], "source": [ "import shutil\n", "import os\n", "\n", "os.remove('../target/automl_example/data/TID1/.24_01_01') # Remove the lock\n", "shutil.copy('../tests/data/DRD2/drd2_reg.pkl', '../target/automl_example/data/TID1/') # Add the example model\n", "\n", "with patch.object(sys, \"argv\", aml_args):\n", " automl.main()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We observe that after lock file removal and emulation of a trained model, the AutoML pipeline correctly identifies that \" Work appears complete for timepoint 24_01_01\". \n", "\n", "The output shows how the pipeline proceeds to the next timepoint, `24_02_01`, which has 152 new datapoints and is allocated dynamically allocated 60G of requested SLURM memory. A dry run to generate predictions for the pseodu-prospective performance of a \"24_01_01\" model vs. new data from \"24_02_01\" timepoint is now initiated.\n", "\n", "Upon generation of pseodu-prospective performance, the next next round of optimisation, build and active learning predictions are initiated for the next timepoint, and the process continues like so." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Schedule AutoML as a daemon for up-to-date models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This pipeline is intented to be run frequently to monitor input data and ensure models are trained and tested. How often this should occur will depend on the size/numer of prediction tasks to be processed. As an example you could create a `slurm_update_models_parallel.sh` file with the following:\n", "\n", "```\n", "#!/bin/bash\n", "#SBATCH --job-name=qsartuna_automl-%j\n", "#SBATCH -N 1\n", "#SBATCH -c 1\n", "#SBATCH --time=24:00:00\n", "#SBATCH --mem=12G\n", "#SBATCH --output=/logs/update_it-%j.log\n", "#SBATCH --error=/logs/update_it-%j.log\n", "\n", "\n", "ml Miniconda3\n", "conda activate my_env_with_qsartuna\n", "\n", "qsartuna-automl \n", " --input-data \"/tests/data/automl/*\" \\\n", " --email @.com --user_name \\\n", " --input-smiles-csv-column canonical --input-activity-csv-column molwt \\\n", " --input-task-csv-column one_taskid \\\n", " --input-initial-template /examples/automl/config.initial.template \\\n", " --input-retrain-template /examples/automl/config.retrain.template \\\n", " --input-slurm-template /examples/slurm-scripts/automl.template \\\n", " --n-cores 1 -vvv --slurm-al-pool /tests/data/DRD2/subset-1000/train.csv \\\n", " --slurm-al-smiles-csv-column canonical --output-path /example_automl \\\n", " --slurm-failure-max-cpu 26 --slurm-failure-max-mem 50\n", "```\n", "\n", "and the following may be added to cron to run e.g. hourly:\n", "\n", "`@hourly /usr/bin/sbatch /slurm_update_models_parallel.sh`" ] } ], "metadata": { "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.10.10" } }, "nbformat": 4, "nbformat_minor": 2 }