diff --git a/examples/automl_example/callibration.py b/examples/automl_example/callibration.py
index 43d5dcd7c..1a9089a55 100644
--- a/examples/automl_example/callibration.py
+++ b/examples/automl_example/callibration.py
@@ -6,7 +6,7 @@
from fedot_ind.api.main import FedotIndustrial
from fedot_ind.api.utils.data import init_input_data
from fedot_ind.tools.loader import DataLoader
-
+from sktime.transformations.panel.signature_based import SignatureTransformer
# sklearn-compatible interface
class SklearnCompatibleClassifier(BaseEstimator, ClassifierMixin):
diff --git a/examples/benchmark_example/analysis of results/analysis_multi_clf.ipynb b/examples/benchmark_example/analysis of results/analysis_multi_clf.ipynb
index e35dfa2a3..93c164ec4 100644
--- a/examples/benchmark_example/analysis of results/analysis_multi_clf.ipynb
+++ b/examples/benchmark_example/analysis of results/analysis_multi_clf.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 1,
"id": "366f5ea1-3ff8-4dd3-9fc3-583cdc133b5c",
"metadata": {
"pycharm": {
@@ -20,7 +20,7 @@
},
{
"cell_type": "code",
- "execution_count": 29,
+ "execution_count": 2,
"outputs": [],
"source": [
"path_to_datasets = PROJECT_PATH + '/benchmark/results/ts_multi_classification'\n",
@@ -37,7 +37,7 @@
},
{
"cell_type": "code",
- "execution_count": 30,
+ "execution_count": 3,
"id": "44f3a1af-9b8d-49ea-9d23-8a386e3f2fcf",
"metadata": {
"pycharm": {
@@ -49,6 +49,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
+ "-----------------------------------------------------\n",
+ "Result for dataset - AtrialFibrillation\n",
+ "old_metric - 0.267\n",
+ "new metric - 0.3333333333333333\n",
+ "new metric_tuned - 0\n",
+ "server metric - 0.1333333333333333\n",
+ "best_metric - 0.3333333333333333\n",
+ "-----------------------------------------------------\n",
+ "\n",
"-----------------------------------------------------\n",
"Result for dataset - DuckDuckGeese\n",
"old_metric - 0.4\n",
@@ -59,6 +68,15 @@
"-----------------------------------------------------\n",
"\n",
"-----------------------------------------------------\n",
+ "Result for dataset - EigenWorms\n",
+ "old_metric - 0.786\n",
+ "new metric - 0.8931297709923665\n",
+ "new metric_tuned - 0\n",
+ "server metric - 0\n",
+ "best_metric - 0.8931297709923665\n",
+ "-----------------------------------------------------\n",
+ "\n",
+ "-----------------------------------------------------\n",
"Result for dataset - ERing\n",
"old_metric - 0.926\n",
"new metric - 0.9222222222222224\n",
@@ -70,10 +88,19 @@
"-----------------------------------------------------\n",
"Result for dataset - EthanolConcentration\n",
"old_metric - 0.281\n",
- "new metric - 0.4866920152091255\n",
+ "new metric - 0.3155893536121673\n",
"new metric_tuned - 0\n",
"server metric - 0.2965779467680608\n",
- "best_metric - 0.4866920152091255\n",
+ "best_metric - 0.3155893536121673\n",
+ "-----------------------------------------------------\n",
+ "\n",
+ "-----------------------------------------------------\n",
+ "Result for dataset - Handwriting\n",
+ "old_metric - 0.408\n",
+ "new metric - 0.4682352941176471\n",
+ "new metric_tuned - 0\n",
+ "server metric - 0.3317647058823529\n",
+ "best_metric - 0.4682352941176471\n",
"-----------------------------------------------------\n",
"\n",
"-----------------------------------------------------\n",
@@ -85,6 +112,8 @@
"best_metric - 0.56\n",
"-----------------------------------------------------\n",
"\n",
+ "[Errno 2] No such file or directory: 'D:\\\\WORK\\\\Repo\\\\Industiral\\\\IndustrialTS\\\\benchmark\\\\results\\\\ts_multi_classification\\\\PhonemeSpectra\\\\metrics_report.csv'\n",
+ "PhonemeSpectra\n",
"-----------------------------------------------------\n",
"Result for dataset - SelfRegulationSCP1\n",
"old_metric - 0.785\n",
@@ -93,6 +122,24 @@
"server metric - 0.8464163822525598\n",
"best_metric - 0.8532423208191127\n",
"-----------------------------------------------------\n",
+ "\n",
+ "-----------------------------------------------------\n",
+ "Result for dataset - StandWalkJump\n",
+ "old_metric - 0.333\n",
+ "new metric - 0.0666666666666666\n",
+ "new metric_tuned - 0\n",
+ "server metric - 0.2\n",
+ "best_metric - 0.333\n",
+ "-----------------------------------------------------\n",
+ "\n",
+ "-----------------------------------------------------\n",
+ "Result for dataset - UWaveGestureLibrary\n",
+ "old_metric - 0.833\n",
+ "new metric - 0.846875\n",
+ "new metric_tuned - 0\n",
+ "server metric - 0\n",
+ "best_metric - 0.846875\n",
+ "-----------------------------------------------------\n",
"\n"
]
}
@@ -132,7 +179,7 @@
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": 4,
"outputs": [],
"source": [
"clf_comp['Fedot_Industrial_best'] = clf_comp.apply(lambda row: max(row.loc['Fedot_Industrial'],row.loc['Fedot_Industrial_finetuned']), axis=1)\n",
@@ -147,7 +194,7 @@
},
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": 5,
"outputs": [],
"source": [
"def categorize_dataset(metric):\n",
@@ -169,13 +216,13 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 6,
"outputs": [
{
"data": {
- "text/plain": "DTW_I 0.592154\nRISE 0.650269\nTSF 0.651077\nDTW_D 0.653808\nCBOSS 0.656500\nDTW_A 0.663680\nResNet 0.668462\ngRSF 0.675269\nTapNet 0.679450\nSTC 0.700885\nTDE 0.703115\nHC1 0.710692\nArsenal 0.715462\nInceptionTime 0.716700\nROCKET 0.724269\nmrseql 0.724600\nCIF 0.726000\nFedot_Industrial_best 0.728921\nDrCIF 0.732385\nMUSE 0.736350\nHC2 0.747846\ndtype: float64"
+ "text/plain": "DTW_I 0.592154\nRISE 0.650269\nTSF 0.651077\nDTW_D 0.653808\nCBOSS 0.656500\nDTW_A 0.663680\nResNet 0.668462\ngRSF 0.675269\nTapNet 0.679450\nSTC 0.700885\nTDE 0.703115\nHC1 0.710692\nArsenal 0.715462\nInceptionTime 0.716700\nROCKET 0.724269\nmrseql 0.724600\nCIF 0.726000\nFedot_Industrial_best 0.731862\nDrCIF 0.732385\nMUSE 0.736350\nHC2 0.747846\ndtype: float64"
},
- "execution_count": 33,
+ "execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@@ -193,7 +240,7 @@
},
{
"cell_type": "code",
- "execution_count": 34,
+ "execution_count": 7,
"outputs": [],
"source": [
"not_stable_models = []"
@@ -207,7 +254,7 @@
},
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": 8,
"outputs": [],
"source": [
"stable_models = [x for x in clf_comp.columns if x not in not_stable_models]\n",
@@ -225,14 +272,14 @@
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": 10,
"outputs": [
{
"data": {
- "text/plain": " Arsenal CBOSS CIF DrCIF DTW_A DTW_D DTW_I \\\nBasicMotions 1.000 1.000 1.000 1.000 1.000 0.975 0.725 \nCricket 1.000 0.986 0.986 0.986 1.000 1.000 0.958 \nLSST 0.642 0.435 0.573 0.556 0.567 0.551 0.490 \nFingerMovements 0.530 0.480 0.520 0.600 0.510 0.530 0.510 \nHandMovementDirection 0.473 0.189 0.595 0.527 0.203 0.189 0.189 \nNATOPS 0.883 0.861 0.856 0.844 0.883 0.883 0.817 \nPenDigits 0.983 0.908 0.967 0.977 0.977 0.977 0.973 \nRacketSports 0.901 0.882 0.882 0.901 0.842 0.803 0.849 \nHeartbeat 0.741 0.722 0.780 0.790 0.693 0.717 0.615 \nAtrialFibrillation 0.133 0.267 0.333 0.333 0.267 0.200 0.267 \nSelfRegulationSCP2 0.494 0.489 0.500 0.494 0.522 0.539 0.472 \nStandWalkJump 0.533 0.333 0.400 0.533 0.333 0.200 0.267 \nEigenWorms 0.901 0.618 0.916 0.924 NaN 0.618 0.595 \nPEMS-SF 0.827 0.983 1.000 1.000 0.734 0.711 0.740 \nDuckDuckGeese 0.460 0.380 0.440 0.540 0.500 0.580 0.300 \nERing 0.981 0.907 0.981 0.993 0.926 0.915 0.911 \nPhonemeSpectra 0.277 0.195 0.265 0.308 0.151 0.151 0.105 \nHandwriting 0.541 0.472 0.356 0.346 0.607 0.607 0.376 \nEpilepsy 0.986 1.000 0.986 0.978 0.978 0.964 0.630 \nMotorImagery 0.530 0.590 0.500 0.440 0.500 0.500 0.360 \nSelfRegulationSCP1 0.846 0.805 0.860 0.877 0.785 0.775 0.775 \nArticularyWordRecognition 0.993 0.990 0.983 0.980 0.987 0.987 0.953 \nFaceDetection 0.653 0.516 0.627 0.620 0.528 0.529 0.516 \nLibras 0.906 0.844 0.911 0.894 0.883 0.872 0.833 \nEthanolConcentration 0.460 0.361 0.734 0.692 0.316 0.323 0.304 \nUWaveGestureLibrary 0.928 0.856 0.925 0.909 0.900 0.903 0.866 \n\n gRSF HC1 HC2 ... RISE ROCKET STC \\\nBasicMotions 1.000 1.000 1.000 ... 1.000 1.000 0.975 \nCricket 0.986 0.986 1.000 ... 0.986 1.000 0.986 \nLSST 0.588 0.575 0.643 ... 0.509 0.637 0.587 \nFingerMovements 0.580 0.550 0.530 ... 0.560 0.540 0.510 \nHandMovementDirection 0.419 0.446 0.473 ... 0.297 0.514 0.392 \nNATOPS 0.844 0.889 0.894 ... 0.839 0.889 0.872 \nPenDigits 0.935 0.934 0.979 ... 0.832 0.983 0.941 \nRacketSports 0.882 0.888 0.908 ... 0.809 0.895 0.888 \nHeartbeat 0.761 0.722 0.732 ... 0.732 0.746 0.722 \nAtrialFibrillation 0.267 0.133 0.267 ... 0.267 0.067 0.267 \nSelfRegulationSCP2 0.517 0.461 0.500 ... 0.494 0.572 0.533 \nStandWalkJump 0.333 0.333 0.467 ... 0.267 0.533 0.467 \nEigenWorms 0.817 0.634 0.947 ... 0.817 0.908 0.779 \nPEMS-SF 0.908 0.983 1.000 ... 0.994 0.832 0.971 \nDuckDuckGeese 0.400 0.480 0.560 ... 0.460 0.520 0.360 \nERing 0.952 0.970 0.989 ... 0.859 0.985 0.889 \nPhonemeSpectra 0.224 0.321 0.290 ... 0.269 0.276 0.295 \nHandwriting 0.375 0.482 0.548 ... 0.194 0.595 0.288 \nEpilepsy 0.978 1.000 1.000 ... 1.000 0.993 0.993 \nMotorImagery 0.500 0.610 0.540 ... 0.550 0.580 0.500 \nSelfRegulationSCP1 0.823 0.853 0.891 ... 0.724 0.843 0.840 \nArticularyWordRecognition 0.983 0.990 0.993 ... 0.963 0.993 0.990 \nFaceDetection 0.548 0.656 0.660 ... 0.508 0.644 0.646 \nLibras 0.694 0.900 0.933 ... 0.806 0.900 0.861 \nEthanolConcentration 0.346 0.791 0.772 ... 0.487 0.445 0.821 \nUWaveGestureLibrary 0.897 0.891 0.928 ... 0.684 0.941 0.850 \n\n TapNet TDE TSF Fedot_Industrial_best \\\nBasicMotions 1.000 1.000 1.000 1.000000 \nCricket 1.000 0.986 0.931 1.000000 \nLSST 0.513 0.570 0.350 0.688000 \nFingerMovements 0.470 0.560 0.580 0.590000 \nHandMovementDirection 0.338 0.378 0.486 0.541000 \nNATOPS 0.811 0.839 0.800 0.961000 \nPenDigits 0.856 0.935 0.892 0.986000 \nRacketSports 0.875 0.836 0.888 0.908000 \nHeartbeat 0.790 0.746 0.741 0.780000 \nAtrialFibrillation 0.200 0.267 0.200 0.267000 \nSelfRegulationSCP2 0.483 0.500 0.483 0.500000 \nStandWalkJump 0.133 0.333 0.333 0.333000 \nEigenWorms NaN 0.939 0.740 0.786000 \nPEMS-SF NaN 1.000 0.983 0.954000 \nDuckDuckGeese NaN 0.340 0.220 0.660000 \nERing 0.904 0.963 0.881 0.926000 \nPhonemeSpectra NaN 0.246 0.137 0.222000 \nHandwriting 0.281 0.561 0.366 0.408000 \nEpilepsy 0.957 0.993 0.978 0.978000 \nMotorImagery NaN 0.590 0.480 0.560000 \nSelfRegulationSCP1 0.935 0.812 0.840 0.853242 \nArticularyWordRecognition 0.957 0.993 0.953 0.977000 \nFaceDetection NaN 0.564 0.640 0.877000 \nLibras 0.878 0.850 0.806 0.877000 \nEthanolConcentration 0.308 0.555 0.445 0.486692 \nUWaveGestureLibrary 0.900 0.925 0.775 0.833000 \n\n Difference % Metric dispersion by dataset \\\nBasicMotions -0.000000 6.261831 \nCricket -0.000000 1.619771 \nLSST 4.500000 11.632272 \nFingerMovements -1.000000 5.657759 \nHandMovementDirection -5.400000 21.047922 \nNATOPS -1.700000 4.559055 \nPenDigits -0.200000 4.494429 \nRacketSports -2.000000 3.546466 \nHeartbeat -1.000000 6.502006 \nAtrialFibrillation -13.300000 19.569692 \nSelfRegulationSCP2 -7.200000 4.979902 \nStandWalkJump -20.000000 20.396578 \nEigenWorms -16.100000 21.703985 \nPEMS-SF -4.600000 11.063032 \nDuckDuckGeese 4.000000 17.545343 \nERing -6.700000 4.616256 \nPhonemeSpectra -9.900000 21.489720 \nHandwriting -23.400000 20.371838 \nEpilepsy -2.200000 8.077395 \nMotorImagery -5.000000 10.244262 \nSelfRegulationSCP1 -8.175768 6.150232 \nArticularyWordRecognition -1.600000 1.395131 \nFaceDetection 21.700000 8.897818 \nLibras -6.700000 5.853756 \nEthanolConcentration -33.430798 23.028829 \nUWaveGestureLibrary -10.800000 6.456548 \n\n dataset_category \nBasicMotions Normal to solve dataset \nCricket Easy to solve dataset \nLSST Hard to solve dataset \nFingerMovements Normal to solve dataset \nHandMovementDirection Extraordinary Hard to solve dataset \nNATOPS Easy to solve dataset \nPenDigits Easy to solve dataset \nRacketSports Easy to solve dataset \nHeartbeat Normal to solve dataset \nAtrialFibrillation Extraordinary Hard to solve dataset \nSelfRegulationSCP2 Easy to solve dataset \nStandWalkJump Extraordinary Hard to solve dataset \nEigenWorms Extraordinary Hard to solve dataset \nPEMS-SF Hard to solve dataset \nDuckDuckGeese Extraordinary Hard to solve dataset \nERing Easy to solve dataset \nPhonemeSpectra Extraordinary Hard to solve dataset \nHandwriting Extraordinary Hard to solve dataset \nEpilepsy Normal to solve dataset \nMotorImagery Hard to solve dataset \nSelfRegulationSCP1 Normal to solve dataset \nArticularyWordRecognition Easy to solve dataset \nFaceDetection Normal to solve dataset \nLibras Normal to solve dataset \nEthanolConcentration Extraordinary Hard to solve dataset \nUWaveGestureLibrary Normal to solve dataset \n\n[26 rows x 24 columns]",
- "text/html": "
\n\n
\n \n \n \n Arsenal \n CBOSS \n CIF \n DrCIF \n DTW_A \n DTW_D \n DTW_I \n gRSF \n HC1 \n HC2 \n ... \n RISE \n ROCKET \n STC \n TapNet \n TDE \n TSF \n Fedot_Industrial_best \n Difference % \n Metric dispersion by dataset \n dataset_category \n \n \n \n \n BasicMotions \n 1.000 \n 1.000 \n 1.000 \n 1.000 \n 1.000 \n 0.975 \n 0.725 \n 1.000 \n 1.000 \n 1.000 \n ... \n 1.000 \n 1.000 \n 0.975 \n 1.000 \n 1.000 \n 1.000 \n 1.000000 \n -0.000000 \n 6.261831 \n Normal to solve dataset \n \n \n Cricket \n 1.000 \n 0.986 \n 0.986 \n 0.986 \n 1.000 \n 1.000 \n 0.958 \n 0.986 \n 0.986 \n 1.000 \n ... \n 0.986 \n 1.000 \n 0.986 \n 1.000 \n 0.986 \n 0.931 \n 1.000000 \n -0.000000 \n 1.619771 \n Easy to solve dataset \n \n \n LSST \n 0.642 \n 0.435 \n 0.573 \n 0.556 \n 0.567 \n 0.551 \n 0.490 \n 0.588 \n 0.575 \n 0.643 \n ... \n 0.509 \n 0.637 \n 0.587 \n 0.513 \n 0.570 \n 0.350 \n 0.688000 \n 4.500000 \n 11.632272 \n Hard to solve dataset \n \n \n FingerMovements \n 0.530 \n 0.480 \n 0.520 \n 0.600 \n 0.510 \n 0.530 \n 0.510 \n 0.580 \n 0.550 \n 0.530 \n ... \n 0.560 \n 0.540 \n 0.510 \n 0.470 \n 0.560 \n 0.580 \n 0.590000 \n -1.000000 \n 5.657759 \n Normal to solve dataset \n \n \n HandMovementDirection \n 0.473 \n 0.189 \n 0.595 \n 0.527 \n 0.203 \n 0.189 \n 0.189 \n 0.419 \n 0.446 \n 0.473 \n ... \n 0.297 \n 0.514 \n 0.392 \n 0.338 \n 0.378 \n 0.486 \n 0.541000 \n -5.400000 \n 21.047922 \n Extraordinary Hard to solve dataset \n \n \n NATOPS \n 0.883 \n 0.861 \n 0.856 \n 0.844 \n 0.883 \n 0.883 \n 0.817 \n 0.844 \n 0.889 \n 0.894 \n ... \n 0.839 \n 0.889 \n 0.872 \n 0.811 \n 0.839 \n 0.800 \n 0.961000 \n -1.700000 \n 4.559055 \n Easy to solve dataset \n \n \n PenDigits \n 0.983 \n 0.908 \n 0.967 \n 0.977 \n 0.977 \n 0.977 \n 0.973 \n 0.935 \n 0.934 \n 0.979 \n ... \n 0.832 \n 0.983 \n 0.941 \n 0.856 \n 0.935 \n 0.892 \n 0.986000 \n -0.200000 \n 4.494429 \n Easy to solve dataset \n \n \n RacketSports \n 0.901 \n 0.882 \n 0.882 \n 0.901 \n 0.842 \n 0.803 \n 0.849 \n 0.882 \n 0.888 \n 0.908 \n ... \n 0.809 \n 0.895 \n 0.888 \n 0.875 \n 0.836 \n 0.888 \n 0.908000 \n -2.000000 \n 3.546466 \n Easy to solve dataset \n \n \n Heartbeat \n 0.741 \n 0.722 \n 0.780 \n 0.790 \n 0.693 \n 0.717 \n 0.615 \n 0.761 \n 0.722 \n 0.732 \n ... \n 0.732 \n 0.746 \n 0.722 \n 0.790 \n 0.746 \n 0.741 \n 0.780000 \n -1.000000 \n 6.502006 \n Normal to solve dataset \n \n \n AtrialFibrillation \n 0.133 \n 0.267 \n 0.333 \n 0.333 \n 0.267 \n 0.200 \n 0.267 \n 0.267 \n 0.133 \n 0.267 \n ... \n 0.267 \n 0.067 \n 0.267 \n 0.200 \n 0.267 \n 0.200 \n 0.267000 \n -13.300000 \n 19.569692 \n Extraordinary Hard to solve dataset \n \n \n SelfRegulationSCP2 \n 0.494 \n 0.489 \n 0.500 \n 0.494 \n 0.522 \n 0.539 \n 0.472 \n 0.517 \n 0.461 \n 0.500 \n ... \n 0.494 \n 0.572 \n 0.533 \n 0.483 \n 0.500 \n 0.483 \n 0.500000 \n -7.200000 \n 4.979902 \n Easy to solve dataset \n \n \n StandWalkJump \n 0.533 \n 0.333 \n 0.400 \n 0.533 \n 0.333 \n 0.200 \n 0.267 \n 0.333 \n 0.333 \n 0.467 \n ... \n 0.267 \n 0.533 \n 0.467 \n 0.133 \n 0.333 \n 0.333 \n 0.333000 \n -20.000000 \n 20.396578 \n Extraordinary Hard to solve dataset \n \n \n EigenWorms \n 0.901 \n 0.618 \n 0.916 \n 0.924 \n NaN \n 0.618 \n 0.595 \n 0.817 \n 0.634 \n 0.947 \n ... \n 0.817 \n 0.908 \n 0.779 \n NaN \n 0.939 \n 0.740 \n 0.786000 \n -16.100000 \n 21.703985 \n Extraordinary Hard to solve dataset \n \n \n PEMS-SF \n 0.827 \n 0.983 \n 1.000 \n 1.000 \n 0.734 \n 0.711 \n 0.740 \n 0.908 \n 0.983 \n 1.000 \n ... \n 0.994 \n 0.832 \n 0.971 \n NaN \n 1.000 \n 0.983 \n 0.954000 \n -4.600000 \n 11.063032 \n Hard to solve dataset \n \n \n DuckDuckGeese \n 0.460 \n 0.380 \n 0.440 \n 0.540 \n 0.500 \n 0.580 \n 0.300 \n 0.400 \n 0.480 \n 0.560 \n ... \n 0.460 \n 0.520 \n 0.360 \n NaN \n 0.340 \n 0.220 \n 0.660000 \n 4.000000 \n 17.545343 \n Extraordinary Hard to solve dataset \n \n \n ERing \n 0.981 \n 0.907 \n 0.981 \n 0.993 \n 0.926 \n 0.915 \n 0.911 \n 0.952 \n 0.970 \n 0.989 \n ... \n 0.859 \n 0.985 \n 0.889 \n 0.904 \n 0.963 \n 0.881 \n 0.926000 \n -6.700000 \n 4.616256 \n Easy to solve dataset \n \n \n PhonemeSpectra \n 0.277 \n 0.195 \n 0.265 \n 0.308 \n 0.151 \n 0.151 \n 0.105 \n 0.224 \n 0.321 \n 0.290 \n ... \n 0.269 \n 0.276 \n 0.295 \n NaN \n 0.246 \n 0.137 \n 0.222000 \n -9.900000 \n 21.489720 \n Extraordinary Hard to solve dataset \n \n \n Handwriting \n 0.541 \n 0.472 \n 0.356 \n 0.346 \n 0.607 \n 0.607 \n 0.376 \n 0.375 \n 0.482 \n 0.548 \n ... \n 0.194 \n 0.595 \n 0.288 \n 0.281 \n 0.561 \n 0.366 \n 0.408000 \n -23.400000 \n 20.371838 \n Extraordinary Hard to solve dataset \n \n \n Epilepsy \n 0.986 \n 1.000 \n 0.986 \n 0.978 \n 0.978 \n 0.964 \n 0.630 \n 0.978 \n 1.000 \n 1.000 \n ... \n 1.000 \n 0.993 \n 0.993 \n 0.957 \n 0.993 \n 0.978 \n 0.978000 \n -2.200000 \n 8.077395 \n Normal to solve dataset \n \n \n MotorImagery \n 0.530 \n 0.590 \n 0.500 \n 0.440 \n 0.500 \n 0.500 \n 0.360 \n 0.500 \n 0.610 \n 0.540 \n ... \n 0.550 \n 0.580 \n 0.500 \n NaN \n 0.590 \n 0.480 \n 0.560000 \n -5.000000 \n 10.244262 \n Hard to solve dataset \n \n \n SelfRegulationSCP1 \n 0.846 \n 0.805 \n 0.860 \n 0.877 \n 0.785 \n 0.775 \n 0.775 \n 0.823 \n 0.853 \n 0.891 \n ... \n 0.724 \n 0.843 \n 0.840 \n 0.935 \n 0.812 \n 0.840 \n 0.853242 \n -8.175768 \n 6.150232 \n Normal to solve dataset \n \n \n ArticularyWordRecognition \n 0.993 \n 0.990 \n 0.983 \n 0.980 \n 0.987 \n 0.987 \n 0.953 \n 0.983 \n 0.990 \n 0.993 \n ... \n 0.963 \n 0.993 \n 0.990 \n 0.957 \n 0.993 \n 0.953 \n 0.977000 \n -1.600000 \n 1.395131 \n Easy to solve dataset \n \n \n FaceDetection \n 0.653 \n 0.516 \n 0.627 \n 0.620 \n 0.528 \n 0.529 \n 0.516 \n 0.548 \n 0.656 \n 0.660 \n ... \n 0.508 \n 0.644 \n 0.646 \n NaN \n 0.564 \n 0.640 \n 0.877000 \n 21.700000 \n 8.897818 \n Normal to solve dataset \n \n \n Libras \n 0.906 \n 0.844 \n 0.911 \n 0.894 \n 0.883 \n 0.872 \n 0.833 \n 0.694 \n 0.900 \n 0.933 \n ... \n 0.806 \n 0.900 \n 0.861 \n 0.878 \n 0.850 \n 0.806 \n 0.877000 \n -6.700000 \n 5.853756 \n Normal to solve dataset \n \n \n EthanolConcentration \n 0.460 \n 0.361 \n 0.734 \n 0.692 \n 0.316 \n 0.323 \n 0.304 \n 0.346 \n 0.791 \n 0.772 \n ... \n 0.487 \n 0.445 \n 0.821 \n 0.308 \n 0.555 \n 0.445 \n 0.486692 \n -33.430798 \n 23.028829 \n Extraordinary Hard to solve dataset \n \n \n UWaveGestureLibrary \n 0.928 \n 0.856 \n 0.925 \n 0.909 \n 0.900 \n 0.903 \n 0.866 \n 0.897 \n 0.891 \n 0.928 \n ... \n 0.684 \n 0.941 \n 0.850 \n 0.900 \n 0.925 \n 0.775 \n 0.833000 \n -10.800000 \n 6.456548 \n Normal to solve dataset \n \n \n
\n
26 rows × 24 columns
\n
"
+ "text/plain": " Arsenal CBOSS CIF DrCIF DTW_A DTW_D DTW_I \\\nBasicMotions 1.000 1.000 1.000 1.000 1.000 0.975 0.725 \nCricket 1.000 0.986 0.986 0.986 1.000 1.000 0.958 \nLSST 0.642 0.435 0.573 0.556 0.567 0.551 0.490 \nFingerMovements 0.530 0.480 0.520 0.600 0.510 0.530 0.510 \nHandMovementDirection 0.473 0.189 0.595 0.527 0.203 0.189 0.189 \nNATOPS 0.883 0.861 0.856 0.844 0.883 0.883 0.817 \nPenDigits 0.983 0.908 0.967 0.977 0.977 0.977 0.973 \nRacketSports 0.901 0.882 0.882 0.901 0.842 0.803 0.849 \nHeartbeat 0.741 0.722 0.780 0.790 0.693 0.717 0.615 \nAtrialFibrillation 0.133 0.267 0.333 0.333 0.267 0.200 0.267 \nSelfRegulationSCP2 0.494 0.489 0.500 0.494 0.522 0.539 0.472 \nStandWalkJump 0.533 0.333 0.400 0.533 0.333 0.200 0.267 \nEigenWorms 0.901 0.618 0.916 0.924 NaN 0.618 0.595 \nPEMS-SF 0.827 0.983 1.000 1.000 0.734 0.711 0.740 \nDuckDuckGeese 0.460 0.380 0.440 0.540 0.500 0.580 0.300 \nERing 0.981 0.907 0.981 0.993 0.926 0.915 0.911 \nPhonemeSpectra 0.277 0.195 0.265 0.308 0.151 0.151 0.105 \nHandwriting 0.541 0.472 0.356 0.346 0.607 0.607 0.376 \nEpilepsy 0.986 1.000 0.986 0.978 0.978 0.964 0.630 \nMotorImagery 0.530 0.590 0.500 0.440 0.500 0.500 0.360 \nSelfRegulationSCP1 0.846 0.805 0.860 0.877 0.785 0.775 0.775 \nArticularyWordRecognition 0.993 0.990 0.983 0.980 0.987 0.987 0.953 \nFaceDetection 0.653 0.516 0.627 0.620 0.528 0.529 0.516 \nLibras 0.906 0.844 0.911 0.894 0.883 0.872 0.833 \nEthanolConcentration 0.460 0.361 0.734 0.692 0.316 0.323 0.304 \nUWaveGestureLibrary 0.928 0.856 0.925 0.909 0.900 0.903 0.866 \n\n gRSF HC1 HC2 ... RISE ROCKET STC \\\nBasicMotions 1.000 1.000 1.000 ... 1.000 1.000 0.975 \nCricket 0.986 0.986 1.000 ... 0.986 1.000 0.986 \nLSST 0.588 0.575 0.643 ... 0.509 0.637 0.587 \nFingerMovements 0.580 0.550 0.530 ... 0.560 0.540 0.510 \nHandMovementDirection 0.419 0.446 0.473 ... 0.297 0.514 0.392 \nNATOPS 0.844 0.889 0.894 ... 0.839 0.889 0.872 \nPenDigits 0.935 0.934 0.979 ... 0.832 0.983 0.941 \nRacketSports 0.882 0.888 0.908 ... 0.809 0.895 0.888 \nHeartbeat 0.761 0.722 0.732 ... 0.732 0.746 0.722 \nAtrialFibrillation 0.267 0.133 0.267 ... 0.267 0.067 0.267 \nSelfRegulationSCP2 0.517 0.461 0.500 ... 0.494 0.572 0.533 \nStandWalkJump 0.333 0.333 0.467 ... 0.267 0.533 0.467 \nEigenWorms 0.817 0.634 0.947 ... 0.817 0.908 0.779 \nPEMS-SF 0.908 0.983 1.000 ... 0.994 0.832 0.971 \nDuckDuckGeese 0.400 0.480 0.560 ... 0.460 0.520 0.360 \nERing 0.952 0.970 0.989 ... 0.859 0.985 0.889 \nPhonemeSpectra 0.224 0.321 0.290 ... 0.269 0.276 0.295 \nHandwriting 0.375 0.482 0.548 ... 0.194 0.595 0.288 \nEpilepsy 0.978 1.000 1.000 ... 1.000 0.993 0.993 \nMotorImagery 0.500 0.610 0.540 ... 0.550 0.580 0.500 \nSelfRegulationSCP1 0.823 0.853 0.891 ... 0.724 0.843 0.840 \nArticularyWordRecognition 0.983 0.990 0.993 ... 0.963 0.993 0.990 \nFaceDetection 0.548 0.656 0.660 ... 0.508 0.644 0.646 \nLibras 0.694 0.900 0.933 ... 0.806 0.900 0.861 \nEthanolConcentration 0.346 0.791 0.772 ... 0.487 0.445 0.821 \nUWaveGestureLibrary 0.897 0.891 0.928 ... 0.684 0.941 0.850 \n\n TapNet TDE TSF Fedot_Industrial_best \\\nBasicMotions 1.000 1.000 1.000 1.000000 \nCricket 1.000 0.986 0.931 1.000000 \nLSST 0.513 0.570 0.350 0.688000 \nFingerMovements 0.470 0.560 0.580 0.590000 \nHandMovementDirection 0.338 0.378 0.486 0.541000 \nNATOPS 0.811 0.839 0.800 0.961000 \nPenDigits 0.856 0.935 0.892 0.986000 \nRacketSports 0.875 0.836 0.888 0.908000 \nHeartbeat 0.790 0.746 0.741 0.780000 \nAtrialFibrillation 0.200 0.267 0.200 0.333333 \nSelfRegulationSCP2 0.483 0.500 0.483 0.500000 \nStandWalkJump 0.133 0.333 0.333 0.333000 \nEigenWorms NaN 0.939 0.740 0.893130 \nPEMS-SF NaN 1.000 0.983 0.954000 \nDuckDuckGeese NaN 0.340 0.220 0.660000 \nERing 0.904 0.963 0.881 0.926000 \nPhonemeSpectra NaN 0.246 0.137 0.222000 \nHandwriting 0.281 0.561 0.366 0.468235 \nEpilepsy 0.957 0.993 0.978 0.978000 \nMotorImagery NaN 0.590 0.480 0.560000 \nSelfRegulationSCP1 0.935 0.812 0.840 0.853242 \nArticularyWordRecognition 0.957 0.993 0.953 0.977000 \nFaceDetection NaN 0.564 0.640 0.877000 \nLibras 0.878 0.850 0.806 0.877000 \nEthanolConcentration 0.308 0.555 0.445 0.315589 \nUWaveGestureLibrary 0.900 0.925 0.775 0.846875 \n\n Difference % Metric dispersion by dataset \\\nBasicMotions -0.000000 6.261831 \nCricket -0.000000 1.619771 \nLSST 4.500000 11.632272 \nFingerMovements -1.000000 5.657759 \nHandMovementDirection -5.400000 21.047922 \nNATOPS -1.700000 4.559055 \nPenDigits -0.200000 4.494429 \nRacketSports -2.000000 3.546466 \nHeartbeat -1.000000 6.502006 \nAtrialFibrillation -6.666667 19.569692 \nSelfRegulationSCP2 -7.200000 4.979902 \nStandWalkJump -20.000000 20.396578 \nEigenWorms -5.387023 21.703985 \nPEMS-SF -4.600000 11.063032 \nDuckDuckGeese 4.000000 17.545343 \nERing -6.700000 4.616256 \nPhonemeSpectra -9.900000 21.489720 \nHandwriting -17.376471 20.371838 \nEpilepsy -2.200000 8.077395 \nMotorImagery -5.000000 10.244262 \nSelfRegulationSCP1 -8.175768 6.150232 \nArticularyWordRecognition -1.600000 1.395131 \nFaceDetection 21.700000 8.897818 \nLibras -6.700000 5.853756 \nEthanolConcentration -50.541065 23.028829 \nUWaveGestureLibrary -9.412500 6.456548 \n\n dataset_category \nBasicMotions Normal to solve dataset \nCricket Easy to solve dataset \nLSST Hard to solve dataset \nFingerMovements Normal to solve dataset \nHandMovementDirection Extraordinary Hard to solve dataset \nNATOPS Easy to solve dataset \nPenDigits Easy to solve dataset \nRacketSports Easy to solve dataset \nHeartbeat Normal to solve dataset \nAtrialFibrillation Extraordinary Hard to solve dataset \nSelfRegulationSCP2 Easy to solve dataset \nStandWalkJump Extraordinary Hard to solve dataset \nEigenWorms Extraordinary Hard to solve dataset \nPEMS-SF Hard to solve dataset \nDuckDuckGeese Extraordinary Hard to solve dataset \nERing Easy to solve dataset \nPhonemeSpectra Extraordinary Hard to solve dataset \nHandwriting Extraordinary Hard to solve dataset \nEpilepsy Normal to solve dataset \nMotorImagery Hard to solve dataset \nSelfRegulationSCP1 Normal to solve dataset \nArticularyWordRecognition Easy to solve dataset \nFaceDetection Normal to solve dataset \nLibras Normal to solve dataset \nEthanolConcentration Extraordinary Hard to solve dataset \nUWaveGestureLibrary Normal to solve dataset \n\n[26 rows x 24 columns]",
+ "text/html": "\n\n
\n \n \n \n Arsenal \n CBOSS \n CIF \n DrCIF \n DTW_A \n DTW_D \n DTW_I \n gRSF \n HC1 \n HC2 \n ... \n RISE \n ROCKET \n STC \n TapNet \n TDE \n TSF \n Fedot_Industrial_best \n Difference % \n Metric dispersion by dataset \n dataset_category \n \n \n \n \n BasicMotions \n 1.000 \n 1.000 \n 1.000 \n 1.000 \n 1.000 \n 0.975 \n 0.725 \n 1.000 \n 1.000 \n 1.000 \n ... \n 1.000 \n 1.000 \n 0.975 \n 1.000 \n 1.000 \n 1.000 \n 1.000000 \n -0.000000 \n 6.261831 \n Normal to solve dataset \n \n \n Cricket \n 1.000 \n 0.986 \n 0.986 \n 0.986 \n 1.000 \n 1.000 \n 0.958 \n 0.986 \n 0.986 \n 1.000 \n ... \n 0.986 \n 1.000 \n 0.986 \n 1.000 \n 0.986 \n 0.931 \n 1.000000 \n -0.000000 \n 1.619771 \n Easy to solve dataset \n \n \n LSST \n 0.642 \n 0.435 \n 0.573 \n 0.556 \n 0.567 \n 0.551 \n 0.490 \n 0.588 \n 0.575 \n 0.643 \n ... \n 0.509 \n 0.637 \n 0.587 \n 0.513 \n 0.570 \n 0.350 \n 0.688000 \n 4.500000 \n 11.632272 \n Hard to solve dataset \n \n \n FingerMovements \n 0.530 \n 0.480 \n 0.520 \n 0.600 \n 0.510 \n 0.530 \n 0.510 \n 0.580 \n 0.550 \n 0.530 \n ... \n 0.560 \n 0.540 \n 0.510 \n 0.470 \n 0.560 \n 0.580 \n 0.590000 \n -1.000000 \n 5.657759 \n Normal to solve dataset \n \n \n HandMovementDirection \n 0.473 \n 0.189 \n 0.595 \n 0.527 \n 0.203 \n 0.189 \n 0.189 \n 0.419 \n 0.446 \n 0.473 \n ... \n 0.297 \n 0.514 \n 0.392 \n 0.338 \n 0.378 \n 0.486 \n 0.541000 \n -5.400000 \n 21.047922 \n Extraordinary Hard to solve dataset \n \n \n NATOPS \n 0.883 \n 0.861 \n 0.856 \n 0.844 \n 0.883 \n 0.883 \n 0.817 \n 0.844 \n 0.889 \n 0.894 \n ... \n 0.839 \n 0.889 \n 0.872 \n 0.811 \n 0.839 \n 0.800 \n 0.961000 \n -1.700000 \n 4.559055 \n Easy to solve dataset \n \n \n PenDigits \n 0.983 \n 0.908 \n 0.967 \n 0.977 \n 0.977 \n 0.977 \n 0.973 \n 0.935 \n 0.934 \n 0.979 \n ... \n 0.832 \n 0.983 \n 0.941 \n 0.856 \n 0.935 \n 0.892 \n 0.986000 \n -0.200000 \n 4.494429 \n Easy to solve dataset \n \n \n RacketSports \n 0.901 \n 0.882 \n 0.882 \n 0.901 \n 0.842 \n 0.803 \n 0.849 \n 0.882 \n 0.888 \n 0.908 \n ... \n 0.809 \n 0.895 \n 0.888 \n 0.875 \n 0.836 \n 0.888 \n 0.908000 \n -2.000000 \n 3.546466 \n Easy to solve dataset \n \n \n Heartbeat \n 0.741 \n 0.722 \n 0.780 \n 0.790 \n 0.693 \n 0.717 \n 0.615 \n 0.761 \n 0.722 \n 0.732 \n ... \n 0.732 \n 0.746 \n 0.722 \n 0.790 \n 0.746 \n 0.741 \n 0.780000 \n -1.000000 \n 6.502006 \n Normal to solve dataset \n \n \n AtrialFibrillation \n 0.133 \n 0.267 \n 0.333 \n 0.333 \n 0.267 \n 0.200 \n 0.267 \n 0.267 \n 0.133 \n 0.267 \n ... \n 0.267 \n 0.067 \n 0.267 \n 0.200 \n 0.267 \n 0.200 \n 0.333333 \n -6.666667 \n 19.569692 \n Extraordinary Hard to solve dataset \n \n \n SelfRegulationSCP2 \n 0.494 \n 0.489 \n 0.500 \n 0.494 \n 0.522 \n 0.539 \n 0.472 \n 0.517 \n 0.461 \n 0.500 \n ... \n 0.494 \n 0.572 \n 0.533 \n 0.483 \n 0.500 \n 0.483 \n 0.500000 \n -7.200000 \n 4.979902 \n Easy to solve dataset \n \n \n StandWalkJump \n 0.533 \n 0.333 \n 0.400 \n 0.533 \n 0.333 \n 0.200 \n 0.267 \n 0.333 \n 0.333 \n 0.467 \n ... \n 0.267 \n 0.533 \n 0.467 \n 0.133 \n 0.333 \n 0.333 \n 0.333000 \n -20.000000 \n 20.396578 \n Extraordinary Hard to solve dataset \n \n \n EigenWorms \n 0.901 \n 0.618 \n 0.916 \n 0.924 \n NaN \n 0.618 \n 0.595 \n 0.817 \n 0.634 \n 0.947 \n ... \n 0.817 \n 0.908 \n 0.779 \n NaN \n 0.939 \n 0.740 \n 0.893130 \n -5.387023 \n 21.703985 \n Extraordinary Hard to solve dataset \n \n \n PEMS-SF \n 0.827 \n 0.983 \n 1.000 \n 1.000 \n 0.734 \n 0.711 \n 0.740 \n 0.908 \n 0.983 \n 1.000 \n ... \n 0.994 \n 0.832 \n 0.971 \n NaN \n 1.000 \n 0.983 \n 0.954000 \n -4.600000 \n 11.063032 \n Hard to solve dataset \n \n \n DuckDuckGeese \n 0.460 \n 0.380 \n 0.440 \n 0.540 \n 0.500 \n 0.580 \n 0.300 \n 0.400 \n 0.480 \n 0.560 \n ... \n 0.460 \n 0.520 \n 0.360 \n NaN \n 0.340 \n 0.220 \n 0.660000 \n 4.000000 \n 17.545343 \n Extraordinary Hard to solve dataset \n \n \n ERing \n 0.981 \n 0.907 \n 0.981 \n 0.993 \n 0.926 \n 0.915 \n 0.911 \n 0.952 \n 0.970 \n 0.989 \n ... \n 0.859 \n 0.985 \n 0.889 \n 0.904 \n 0.963 \n 0.881 \n 0.926000 \n -6.700000 \n 4.616256 \n Easy to solve dataset \n \n \n PhonemeSpectra \n 0.277 \n 0.195 \n 0.265 \n 0.308 \n 0.151 \n 0.151 \n 0.105 \n 0.224 \n 0.321 \n 0.290 \n ... \n 0.269 \n 0.276 \n 0.295 \n NaN \n 0.246 \n 0.137 \n 0.222000 \n -9.900000 \n 21.489720 \n Extraordinary Hard to solve dataset \n \n \n Handwriting \n 0.541 \n 0.472 \n 0.356 \n 0.346 \n 0.607 \n 0.607 \n 0.376 \n 0.375 \n 0.482 \n 0.548 \n ... \n 0.194 \n 0.595 \n 0.288 \n 0.281 \n 0.561 \n 0.366 \n 0.468235 \n -17.376471 \n 20.371838 \n Extraordinary Hard to solve dataset \n \n \n Epilepsy \n 0.986 \n 1.000 \n 0.986 \n 0.978 \n 0.978 \n 0.964 \n 0.630 \n 0.978 \n 1.000 \n 1.000 \n ... \n 1.000 \n 0.993 \n 0.993 \n 0.957 \n 0.993 \n 0.978 \n 0.978000 \n -2.200000 \n 8.077395 \n Normal to solve dataset \n \n \n MotorImagery \n 0.530 \n 0.590 \n 0.500 \n 0.440 \n 0.500 \n 0.500 \n 0.360 \n 0.500 \n 0.610 \n 0.540 \n ... \n 0.550 \n 0.580 \n 0.500 \n NaN \n 0.590 \n 0.480 \n 0.560000 \n -5.000000 \n 10.244262 \n Hard to solve dataset \n \n \n SelfRegulationSCP1 \n 0.846 \n 0.805 \n 0.860 \n 0.877 \n 0.785 \n 0.775 \n 0.775 \n 0.823 \n 0.853 \n 0.891 \n ... \n 0.724 \n 0.843 \n 0.840 \n 0.935 \n 0.812 \n 0.840 \n 0.853242 \n -8.175768 \n 6.150232 \n Normal to solve dataset \n \n \n ArticularyWordRecognition \n 0.993 \n 0.990 \n 0.983 \n 0.980 \n 0.987 \n 0.987 \n 0.953 \n 0.983 \n 0.990 \n 0.993 \n ... \n 0.963 \n 0.993 \n 0.990 \n 0.957 \n 0.993 \n 0.953 \n 0.977000 \n -1.600000 \n 1.395131 \n Easy to solve dataset \n \n \n FaceDetection \n 0.653 \n 0.516 \n 0.627 \n 0.620 \n 0.528 \n 0.529 \n 0.516 \n 0.548 \n 0.656 \n 0.660 \n ... \n 0.508 \n 0.644 \n 0.646 \n NaN \n 0.564 \n 0.640 \n 0.877000 \n 21.700000 \n 8.897818 \n Normal to solve dataset \n \n \n Libras \n 0.906 \n 0.844 \n 0.911 \n 0.894 \n 0.883 \n 0.872 \n 0.833 \n 0.694 \n 0.900 \n 0.933 \n ... \n 0.806 \n 0.900 \n 0.861 \n 0.878 \n 0.850 \n 0.806 \n 0.877000 \n -6.700000 \n 5.853756 \n Normal to solve dataset \n \n \n EthanolConcentration \n 0.460 \n 0.361 \n 0.734 \n 0.692 \n 0.316 \n 0.323 \n 0.304 \n 0.346 \n 0.791 \n 0.772 \n ... \n 0.487 \n 0.445 \n 0.821 \n 0.308 \n 0.555 \n 0.445 \n 0.315589 \n -50.541065 \n 23.028829 \n Extraordinary Hard to solve dataset \n \n \n UWaveGestureLibrary \n 0.928 \n 0.856 \n 0.925 \n 0.909 \n 0.900 \n 0.903 \n 0.866 \n 0.897 \n 0.891 \n 0.928 \n ... \n 0.684 \n 0.941 \n 0.850 \n 0.900 \n 0.925 \n 0.775 \n 0.846875 \n -9.412500 \n 6.456548 \n Normal to solve dataset \n \n \n
\n
26 rows × 24 columns
\n
"
},
- "execution_count": 37,
+ "execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
diff --git a/examples/benchmark_example/analysis of results/analysis_regr.ipynb b/examples/benchmark_example/analysis of results/analysis_regr.ipynb
index 9cb510c07..7e7b7e21a 100644
--- a/examples/benchmark_example/analysis of results/analysis_regr.ipynb
+++ b/examples/benchmark_example/analysis of results/analysis_regr.ipynb
@@ -25,7 +25,7 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 2,
"outputs": [],
"source": [
"path_to_datasets = PROJECT_PATH + '/benchmark/results/ts_regression'\n",
@@ -44,7 +44,7 @@
},
{
"cell_type": "code",
- "execution_count": 34,
+ "execution_count": 3,
"id": "ef009804-6aa8-4bf0-911a-35c917e1238e",
"metadata": {
"pycharm": {
@@ -564,7 +564,7 @@
},
{
"cell_type": "code",
- "execution_count": 35,
+ "execution_count": 4,
"outputs": [],
"source": [
"reg_comp = reg_comp[reg_comp['Fedot_Industrial_best']!=empty_result]"
@@ -578,14 +578,14 @@
},
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": 5,
"outputs": [
{
"data": {
"text/plain": " 1NN-DTW_RMSE 1NN-ED_RMSE 5NN-DTW_RMSE \\\nHouseholdPowerConsumption1 417.520861 534.266678 363.106601 \nAppliancesEnergy 5.739470 5.768104 4.504958 \nHouseholdPowerConsumption2 53.429559 76.024116 43.287550 \nIEEEPPG 23.987240 27.769715 20.452884 \nFloodModeling1 0.013817 0.018511 0.013124 \nBeijingPM25Quality 71.066726 73.245699 59.503839 \nBenzeneConcentration 4.402315 4.858189 5.053820 \nFloodModeling3 0.013074 0.017028 0.011562 \nBeijingPM10Quality 118.230571 119.246110 95.318785 \nFloodModeling2 0.011092 0.012949 0.012064 \nAustraliaRainfall 17.084390 17.477663 16.120195 \nNewsHeadlineSentiment 0.197916 0.199315 0.154958 \nNewsTitleSentiment 0.192523 0.192805 0.149818 \nLiveFuelMoistureContent 56.145576 56.685415 44.220169 \nBIDMC32SpO2 0.525750 2.508360 0.531987 \nBIDMC32HR 1.944837 6.544297 1.904489 \nBIDMC32RR 1.233577 2.136593 1.229752 \nCovid3Month 0.054553 0.053302 0.041270 \nHotwaterPredictor 1819.103151 1906.032299 1337.373398 \nSteamPredictor 42924.761750 55239.471520 34168.975130 \nChilledWaterPredictor 3350.285304 2224.276368 2420.350041 \nElectricityPredictor 666.809599 684.484545 469.378018 \nGasSensorArrayEthanol 0.342482 0.282927 0.268868 \nGasSensorArrayAcetone 0.317429 0.307368 0.259960 \nSierraNevadaMountainsSnow 63.580655 75.131205 53.707346 \nBitcoinSentiment 0.260328 0.264244 0.207365 \nEthereumSentiment 0.318791 0.333878 0.241217 \nCardanoSentiment 0.393083 0.421637 0.316565 \nBinanceCoinSentiment 0.484438 0.500171 0.372489 \nElectricMotorTemperature 8.840429 9.023510 7.604740 \nSolarRadiationAndalusia 0.823649 0.844081 0.645187 \nPrecipitationAndalusia 0.490903 0.503864 0.410596 \nAcousticContaminationMadrid 5.440282 6.591085 5.046155 \nVentilatorPressure 1.135626 0.983354 1.000072 \nOccupancyDetectionLight 185.122574 184.640670 155.141891 \nWindTurbinePower 276.399699 586.730016 238.769740 \nDhakaHourlyAirQuality 7.448274 6.442643 5.133465 \nDailyOilGasPrices 2.742105 2.822595 2.055256 \nWaveDataTension 21.337284 21.051859 16.516183 \nNaturalGasPricesSentiment 0.074277 0.074651 0.057354 \nDailyTemperatureLatitude 2.274194 2.930519 2.158074 \nMethaneMonitoringHomeActivity 0.693400 0.694371 0.540157 \nLPGasMonitoringHomeActivity 1.699540 1.696243 1.334805 \nAluminiumConcentration 382.557872 358.169450 324.538120 \nBoronConcentration 1.993851 1.861265 1.909409 \nCopperConcentration 2.481286 2.413716 1.934787 \nIronConcentration 88.669240 83.835078 77.742182 \nManganeseConcentration 121.990065 118.427219 101.108313 \nSodiumConcentration 659.380735 620.198671 453.954204 \nPhosphorusConcentration 22.153652 21.424030 24.305616 \nPotassiumConcentration 242.027142 221.960612 223.386480 \nMagnesiumConcentration 298.216850 228.529714 277.321165 \nSulphurConcentration 251.901880 251.159147 221.083366 \nZincConcentration 1.828631 1.889708 1.540422 \nCalciumConcentration 4236.151380 3027.549129 3446.114173 \n\n 5NN-ED_RMSE CNN_RMSE DrCIF_RMSE \\\nHouseholdPowerConsumption1 507.796826 6.045497e+02 1.657667e+02 \nAppliancesEnergy 4.470334 4.097874e+00 2.404670e+00 \nHouseholdPowerConsumption2 57.685928 5.152938e+01 3.063533e+01 \nIEEEPPG 23.655007 2.242689e+01 1.247458e+01 \nFloodModeling1 0.019009 1.723553e-02 9.462636e-03 \nBeijingPM25Quality 60.872956 9.988757e+01 4.712755e+01 \nBenzeneConcentration 4.240799 7.543093e+00 3.666043e+00 \nFloodModeling3 0.017738 1.096383e-02 6.438931e-03 \nBeijingPM10Quality 97.130645 1.275990e+02 7.057271e+01 \nFloodModeling2 0.013299 1.852107e-02 5.180100e-03 \nAustraliaRainfall 15.419262 1.000000e+10 1.000000e+10 \nNewsHeadlineSentiment 0.154884 1.196766e+01 1.455912e-01 \nNewsTitleSentiment 0.149231 2.308311e+01 1.405348e-01 \nLiveFuelMoistureContent 44.678597 4.147725e+01 4.061007e+01 \nBIDMC32SpO2 2.493010 1.717190e+00 4.198496e-01 \nBIDMC32HR 6.990050 5.229133e+00 1.270281e+00 \nBIDMC32RR 1.986163 3.536865e+00 9.154016e-01 \nCovid3Month 0.040783 6.759766e-02 3.977303e-02 \nHotwaterPredictor 1458.866739 1.174256e+03 1.246468e+03 \nSteamPredictor 38081.062240 3.061124e+04 3.113187e+04 \nChilledWaterPredictor 2200.831018 2.215134e+03 2.241064e+03 \nElectricityPredictor 493.478164 4.846374e+02 5.874044e+02 \nGasSensorArrayEthanol 0.265737 2.017014e-01 1.517741e-01 \nGasSensorArrayAcetone 0.262321 2.389416e-01 1.845477e-01 \nSierraNevadaMountainsSnow 66.961454 5.431997e+01 4.300014e+01 \nBitcoinSentiment 0.207243 2.462431e-01 1.970548e-01 \nEthereumSentiment 0.246046 2.716099e-01 2.234477e-01 \nCardanoSentiment 0.315416 4.370255e-01 2.973890e-01 \nBinanceCoinSentiment 0.383144 4.094964e-01 3.448162e-01 \nElectricMotorTemperature 7.833623 1.760786e+01 4.656284e+00 \nSolarRadiationAndalusia 0.655481 1.042590e+00 6.216146e-01 \nPrecipitationAndalusia 0.453094 9.854324e-01 3.851207e-01 \nAcousticContaminationMadrid 5.726287 6.712051e+00 4.119996e+00 \nVentilatorPressure 0.894525 2.163210e+00 6.166132e-01 \nOccupancyDetectionLight 157.236274 2.386848e+02 8.054537e+01 \nWindTurbinePower 466.186615 9.515196e+02 9.785142e+01 \nDhakaHourlyAirQuality 4.632155 8.680293e+00 3.171020e+00 \nDailyOilGasPrices 2.251424 2.150854e+00 1.594442e+00 \nWaveDataTension 16.544666 1.816305e+01 1.517911e+01 \nNaturalGasPricesSentiment 0.056623 6.482931e-02 5.968074e-02 \nDailyTemperatureLatitude 3.021106 5.427370e+00 1.950407e+00 \nMethaneMonitoringHomeActivity 0.541140 6.367615e-01 5.052408e-01 \nLPGasMonitoringHomeActivity 1.338572 1.339258e+00 1.262008e+00 \nAluminiumConcentration 306.064290 2.737297e+02 2.451929e+02 \nBoronConcentration 1.982375 3.608769e+00 1.762709e+00 \nCopperConcentration 1.953789 2.343641e+00 1.826204e+00 \nIronConcentration 72.378913 7.232745e+01 6.213210e+01 \nManganeseConcentration 98.898216 9.280130e+01 8.128308e+01 \nSodiumConcentration 444.132225 3.993961e+02 3.127763e+02 \nPhosphorusConcentration 23.357350 2.783047e+01 1.906393e+01 \nPotassiumConcentration 224.239115 2.614602e+02 1.676802e+02 \nMagnesiumConcentration 248.002202 2.983644e+02 1.608196e+02 \nSulphurConcentration 217.302684 2.465601e+02 2.060873e+02 \nZincConcentration 1.540109 1.496162e+00 1.429352e+00 \nCalciumConcentration 3095.929708 3.247370e+03 1.938747e+03 \n\n FCN_RMSE FPCR-Bs_RMSE FPCR_RMSE \\\nHouseholdPowerConsumption1 353.211342 110.606270 107.061828 \nAppliancesEnergy 4.452677 4.500813 4.419099 \nHouseholdPowerConsumption2 172.601053 41.344814 40.829072 \nIEEEPPG 7.190419 26.398372 26.395514 \nFloodModeling1 0.009510 0.020827 0.021319 \nBeijingPM25Quality 45.523481 61.336023 62.028248 \nBenzeneConcentration 0.596533 4.884306 5.241220 \nFloodModeling3 0.009331 0.018776 0.019448 \nBeijingPM10Quality 70.596483 92.628381 93.047781 \nFloodModeling2 0.004745 0.014591 0.013853 \nAustraliaRainfall 14.820553 14.822390 14.821999 \nNewsHeadlineSentiment 1.206852 0.141583 0.141565 \nNewsTitleSentiment 1.007102 0.136684 0.136614 \nLiveFuelMoistureContent 47.763911 41.467245 41.448372 \nBIDMC32SpO2 0.482227 3.252909 3.273603 \nBIDMC32HR 1.120176 13.043557 13.032991 \nBIDMC32RR 0.771526 2.952190 2.952411 \nCovid3Month 0.067899 199.920486 0.048775 \nHotwaterPredictor 1072.502657 1427.171255 1331.504687 \nSteamPredictor 29315.721000 32018.746920 31246.608530 \nChilledWaterPredictor 2215.939738 2364.754528 2332.364049 \nElectricityPredictor 609.970047 465.844347 455.941085 \nGasSensorArrayEthanol 0.306066 0.209465 0.207139 \nGasSensorArrayAcetone 0.294932 0.232775 0.244260 \nSierraNevadaMountainsSnow 36.415663 46.966215 47.103784 \nBitcoinSentiment 0.220598 0.215564 0.211556 \nEthereumSentiment 0.252702 0.235169 0.231336 \nCardanoSentiment 0.304449 0.342885 0.333628 \nBinanceCoinSentiment 0.366414 0.380741 0.383121 \nElectricMotorTemperature 6.593876 11.969364 11.979490 \nSolarRadiationAndalusia 0.670086 0.673903 0.657212 \nPrecipitationAndalusia 0.397996 0.415940 0.388695 \nAcousticContaminationMadrid 64.512385 5.664351 5.620265 \nVentilatorPressure 0.935243 2.225154 2.182645 \nOccupancyDetectionLight 129.605793 118.989563 114.206848 \nWindTurbinePower 1191.209810 891.458761 888.944783 \nDhakaHourlyAirQuality 10.265259 12.384106 12.368746 \nDailyOilGasPrices 2.069046 2.097964 2.052389 \nWaveDataTension 21.100020 14.107994 14.110484 \nNaturalGasPricesSentiment 0.099374 0.113517 0.112670 \nDailyTemperatureLatitude 6.156039 10.660307 10.700298 \nMethaneMonitoringHomeActivity 0.535491 0.589072 0.589213 \nLPGasMonitoringHomeActivity 1.297673 1.306738 1.306077 \nAluminiumConcentration 985.815086 277.958777 274.385013 \nBoronConcentration 5.724229 1.834673 1.814600 \nCopperConcentration 5.178149 1.900740 1.925904 \nIronConcentration 197.801726 75.611945 72.223676 \nManganeseConcentration 229.354966 98.033724 99.584134 \nSodiumConcentration 469.649236 399.916772 410.500936 \nPhosphorusConcentration 42.623989 26.104236 25.922738 \nPotassiumConcentration 497.219697 272.228356 262.982471 \nMagnesiumConcentration 1112.378767 324.661186 293.109564 \nSulphurConcentration 279.789674 201.620532 201.470538 \nZincConcentration 4.265433 1.436632 1.454666 \nCalciumConcentration 3539.993435 3094.429853 2983.270751 \n\n FreshPRINCE_RMSE ... ROCKET_RMSE \\\nHouseholdPowerConsumption1 1.040404e+02 ... 214.812814 \nAppliancesEnergy 2.053976e+00 ... 2.768555 \nHouseholdPowerConsumption2 2.939287e+01 ... 30.675485 \nIEEEPPG 1.011591e+01 ... 7.159721 \nFloodModeling1 8.750739e-03 ... 0.017304 \nBeijingPM25Quality 4.341873e+01 ... 67.005211 \nBenzeneConcentration 2.132254e+00 ... 2.217476 \nFloodModeling3 5.582533e-03 ... 0.017291 \nBeijingPM10Quality 6.650945e+01 ... 94.557863 \nFloodModeling2 5.027746e-03 ... 0.009274 \nAustraliaRainfall 1.000000e+10 ... 17.878905 \nNewsHeadlineSentiment 1.456120e-01 ... 0.146838 \nNewsTitleSentiment 1.406148e-01 ... 0.141759 \nLiveFuelMoistureContent 4.117283e+01 ... 44.509484 \nBIDMC32SpO2 3.407657e-01 ... 0.300322 \nBIDMC32HR 1.039876e+00 ... 0.656318 \nBIDMC32RR 6.882746e-01 ... 0.526479 \nCovid3Month 3.829917e-02 ... 0.042819 \nHotwaterPredictor 1.240377e+03 ... 1236.408458 \nSteamPredictor 3.101483e+04 ... 30813.803720 \nChilledWaterPredictor 2.479203e+03 ... 2517.901417 \nElectricityPredictor 5.826548e+02 ... 575.695827 \nGasSensorArrayEthanol 1.859832e-01 ... 0.213550 \nGasSensorArrayAcetone 2.010619e-01 ... 0.194288 \nSierraNevadaMountainsSnow 3.692058e+01 ... 68.547775 \nBitcoinSentiment 2.011734e-01 ... 0.268838 \nEthereumSentiment 2.258759e-01 ... 0.287077 \nCardanoSentiment 3.017266e-01 ... 0.306467 \nBinanceCoinSentiment 3.460515e-01 ... 0.387179 \nElectricMotorTemperature 4.650170e+00 ... 12.270972 \nSolarRadiationAndalusia 6.195325e-01 ... 0.644610 \nPrecipitationAndalusia 3.612930e-01 ... 0.345239 \nAcousticContaminationMadrid 3.281021e+00 ... 4.632819 \nVentilatorPressure 6.015145e-01 ... 0.852913 \nOccupancyDetectionLight 6.710728e+01 ... 111.422905 \nWindTurbinePower 4.465780e+01 ... 611.429184 \nDhakaHourlyAirQuality 1.784270e+00 ... 46.896156 \nDailyOilGasPrices 1.490442e+00 ... 2.275254 \nWaveDataTension 1.491209e+01 ... 15.143283 \nNaturalGasPricesSentiment 5.923535e-02 ... 0.090880 \nDailyTemperatureLatitude 1.782911e+00 ... 4.734260 \nMethaneMonitoringHomeActivity 5.305011e-01 ... 0.623893 \nLPGasMonitoringHomeActivity 1.295706e+00 ... 1.349483 \nAluminiumConcentration 2.699899e+02 ... 247.129053 \nBoronConcentration 1.880072e+00 ... 2.131067 \nCopperConcentration 1.845851e+00 ... 2.042072 \nIronConcentration 6.535273e+01 ... 59.652667 \nManganeseConcentration 8.462758e+01 ... 87.290996 \nSodiumConcentration 4.079309e+02 ... 1009.654912 \nPhosphorusConcentration 1.914935e+01 ... 23.400360 \nPotassiumConcentration 1.748586e+02 ... 209.230873 \nMagnesiumConcentration 1.679659e+02 ... 144.878976 \nSulphurConcentration 2.224243e+02 ... 272.034096 \nZincConcentration 1.589329e+00 ... 1.489652 \nCalciumConcentration 2.189777e+03 ... 2487.968147 \n\n RandF_RMSE ResNet_RMSE Ridge_RMSE \\\nHouseholdPowerConsumption1 239.492621 108.828881 2.035437e+02 \nAppliancesEnergy 3.986324 3.957921 4.695629e+00 \nHouseholdPowerConsumption2 39.071698 33.304921 5.771092e+01 \nIEEEPPG 21.655840 5.051279 4.750275e+01 \nFloodModeling1 0.018997 0.009046 2.095060e-02 \nBeijingPM25Quality 46.711947 44.166483 6.091479e+01 \nBenzeneConcentration 0.283166 0.302587 1.132592e+00 \nFloodModeling3 0.016680 0.007282 1.903150e-02 \nBeijingPM10Quality 71.712571 68.418040 9.235021e+01 \nFloodModeling2 0.009483 0.007550 1.416184e-02 \nAustraliaRainfall 15.191093 19.032231 1.000000e+10 \nNewsHeadlineSentiment 0.146199 0.147673 1.435795e-01 \nNewsTitleSentiment 0.141116 0.141528 1.388921e-01 \nLiveFuelMoistureContent 41.094026 47.347938 8.350272e+02 \nBIDMC32SpO2 1.851714 0.277936 3.357586e+00 \nBIDMC32HR 5.900761 0.768738 1.375567e+01 \nBIDMC32RR 1.943142 0.481028 3.017642e+00 \nCovid3Month 0.040183 0.124416 4.646435e-01 \nHotwaterPredictor 1310.439205 1145.645542 2.719383e+03 \nSteamPredictor 32219.241800 29429.960450 7.616053e+04 \nChilledWaterPredictor 2449.605008 2202.908042 4.346009e+03 \nElectricityPredictor 527.343198 589.427954 5.745584e+02 \nGasSensorArrayEthanol 0.254922 0.654548 1.848965e-01 \nGasSensorArrayAcetone 0.259360 0.548682 2.623136e-01 \nSierraNevadaMountainsSnow 52.216070 39.732449 5.227692e+01 \nBitcoinSentiment 0.199306 0.226852 2.324026e-01 \nEthereumSentiment 0.233020 0.255854 2.621682e-01 \nCardanoSentiment 0.295906 0.324041 3.881151e-01 \nBinanceCoinSentiment 0.350101 0.371933 5.139279e-01 \nElectricMotorTemperature 5.241818 5.911347 1.198277e+01 \nSolarRadiationAndalusia 0.630443 0.654886 7.698799e-01 \nPrecipitationAndalusia 0.394483 0.409187 7.985268e-01 \nAcousticContaminationMadrid 5.071709 5.127297 5.387562e+00 \nVentilatorPressure 0.671745 0.492728 2.072326e+00 \nOccupancyDetectionLight 100.189621 89.718024 2.249267e+02 \nWindTurbinePower 103.784273 1033.868527 6.220624e+04 \nDhakaHourlyAirQuality 5.571973 5.915342 1.245697e+01 \nDailyOilGasPrices 1.708196 1.938074 2.363609e+00 \nWaveDataTension 15.356970 18.332223 1.408012e+01 \nNaturalGasPricesSentiment 0.055981 0.143140 7.955113e-02 \nDailyTemperatureLatitude 3.116088 4.985807 1.003086e+01 \nMethaneMonitoringHomeActivity 0.525422 1.558559 5.887444e-01 \nLPGasMonitoringHomeActivity 1.303421 1.344633 1.304916e+00 \nAluminiumConcentration 293.337887 316.411353 2.370224e+02 \nBoronConcentration 2.315727 2.765997 1.802806e+00 \nCopperConcentration 1.951352 2.096999 1.819889e+00 \nIronConcentration 72.907851 73.217837 6.058250e+01 \nManganeseConcentration 93.774650 97.229102 8.461378e+01 \nSodiumConcentration 470.035579 478.427281 4.154721e+02 \nPhosphorusConcentration 23.611200 20.737713 2.274373e+01 \nPotassiumConcentration 227.961272 182.300959 2.112084e+02 \nMagnesiumConcentration 244.734176 166.348644 1.404055e+02 \nSulphurConcentration 223.069451 208.013712 2.136158e+02 \nZincConcentration 1.533721 1.638925 1.440314e+00 \nCalciumConcentration 2963.172908 3026.672964 2.103223e+03 \n\n RotF_RMSE SingleInception_RMSE \\\nHouseholdPowerConsumption1 1.992346e+02 116.202251 \nAppliancesEnergy 2.557591e+00 4.399413 \nHouseholdPowerConsumption2 3.759094e+01 34.585894 \nIEEEPPG 2.021281e+01 4.119866 \nFloodModeling1 1.798786e-02 0.010004 \nBeijingPM25Quality 4.283921e+01 42.008177 \nBenzeneConcentration 7.287375e-01 0.276406 \nFloodModeling3 1.568419e-02 0.010451 \nBeijingPM10Quality 6.631563e+01 66.519288 \nFloodModeling2 7.900159e-03 0.007653 \nAustraliaRainfall 1.000000e+10 15.299189 \nNewsHeadlineSentiment 1.494606e-01 0.148587 \nNewsTitleSentiment 1.441636e-01 0.142814 \nLiveFuelMoistureContent 4.133734e+01 47.022444 \nBIDMC32SpO2 1.644120e+00 0.314609 \nBIDMC32HR 4.884870e+00 0.765547 \nBIDMC32RR 1.711275e+00 0.550188 \nCovid3Month 4.169759e-02 0.074202 \nHotwaterPredictor 1.383306e+03 1162.325568 \nSteamPredictor 3.152469e+04 29823.924800 \nChilledWaterPredictor 2.437387e+03 2138.914979 \nElectricityPredictor 6.066627e+02 588.659847 \nGasSensorArrayEthanol 1.499463e-01 0.504130 \nGasSensorArrayAcetone 1.930651e-01 0.304125 \nSierraNevadaMountainsSnow 4.869493e+01 34.691728 \nBitcoinSentiment 2.014305e-01 0.224385 \nEthereumSentiment 2.294233e-01 0.257753 \nCardanoSentiment 3.052854e-01 0.357882 \nBinanceCoinSentiment 3.538278e-01 0.385787 \nElectricMotorTemperature 4.698074e+00 5.163396 \nSolarRadiationAndalusia 6.238755e-01 0.695240 \nPrecipitationAndalusia 3.690052e-01 0.388841 \nAcousticContaminationMadrid 5.126173e+00 4.429513 \nVentilatorPressure 5.685455e-01 0.406689 \nOccupancyDetectionLight 7.528684e+01 95.353950 \nWindTurbinePower 7.424638e+01 274.187508 \nDhakaHourlyAirQuality 2.702426e+00 5.476823 \nDailyOilGasPrices 1.559385e+00 2.149368 \nWaveDataTension 1.521209e+01 17.793210 \nNaturalGasPricesSentiment 5.858841e-02 0.341370 \nDailyTemperatureLatitude 2.677904e+00 1.780762 \nMethaneMonitoringHomeActivity 5.244137e-01 0.634288 \nLPGasMonitoringHomeActivity 1.289305e+00 1.385517 \nAluminiumConcentration 2.340929e+02 250.411638 \nBoronConcentration 1.885018e+00 1.801264 \nCopperConcentration 1.863294e+00 1.918499 \nIronConcentration 6.192114e+01 66.516998 \nManganeseConcentration 7.991396e+01 88.303869 \nSodiumConcentration 6.527057e+02 431.525344 \nPhosphorusConcentration 2.063641e+01 18.550513 \nPotassiumConcentration 1.862390e+02 177.300333 \nMagnesiumConcentration 1.665049e+02 135.343967 \nSulphurConcentration 2.150779e+02 210.114434 \nZincConcentration 1.509911e+00 1.659296 \nCalciumConcentration 1.783895e+03 2478.981119 \n\n TSF_RMSE XGBoost_RMSE \\\nHouseholdPowerConsumption1 2.761883e+02 227.507324 \nAppliancesEnergy 3.752866e+00 4.045985 \nHouseholdPowerConsumption2 3.601573e+01 38.955683 \nIEEEPPG 2.047200e+01 21.033698 \nFloodModeling1 1.102917e-02 0.019334 \nBeijingPM25Quality 6.167426e+01 42.147228 \nBenzeneConcentration 4.189510e+00 0.218806 \nFloodModeling3 8.546052e-03 0.017007 \nBeijingPM10Quality 8.465717e+01 66.474818 \nFloodModeling2 5.379332e-03 0.012971 \nAustraliaRainfall 1.000000e+10 16.282844 \nNewsHeadlineSentiment 1.422297e-01 0.142740 \nNewsTitleSentiment 1.371251e-01 0.137670 \nLiveFuelMoistureContent 4.074238e+01 42.553580 \nBIDMC32SpO2 1.275249e+00 1.674734 \nBIDMC32HR 3.986727e+00 4.975369 \nBIDMC32RR 1.417203e+00 1.812002 \nCovid3Month 3.895102e-02 0.044934 \nHotwaterPredictor 1.401285e+03 1424.823440 \nSteamPredictor 3.135775e+04 35238.808060 \nChilledWaterPredictor 2.286958e+03 3137.416197 \nElectricityPredictor 6.041935e+02 618.172663 \nGasSensorArrayEthanol 1.941129e-01 0.268107 \nGasSensorArrayAcetone 2.117950e-01 0.275739 \nSierraNevadaMountainsSnow 5.180834e+01 56.066891 \nBitcoinSentiment 2.097271e-01 0.208650 \nEthereumSentiment 2.344765e-01 0.252351 \nCardanoSentiment 2.998514e-01 0.324627 \nBinanceCoinSentiment 3.479485e-01 0.377766 \nElectricMotorTemperature 8.869247e+00 5.312691 \nSolarRadiationAndalusia 6.255512e-01 0.656600 \nPrecipitationAndalusia 4.023337e-01 0.401574 \nAcousticContaminationMadrid 4.602419e+00 5.255653 \nVentilatorPressure 1.848328e+00 0.704912 \nOccupancyDetectionLight 1.024337e+02 103.161750 \nWindTurbinePower 1.170780e+02 104.971863 \nDhakaHourlyAirQuality 4.813817e+00 4.946151 \nDailyOilGasPrices 1.684828e+00 1.716903 \nWaveDataTension 1.543533e+01 16.094344 \nNaturalGasPricesSentiment 5.479847e-02 0.060197 \nDailyTemperatureLatitude 2.151806e+00 2.942073 \nMethaneMonitoringHomeActivity 5.170912e-01 0.556360 \nLPGasMonitoringHomeActivity 1.280573e+00 1.383632 \nAluminiumConcentration 2.450510e+02 295.733413 \nBoronConcentration 2.038787e+00 2.895465 \nCopperConcentration 1.902307e+00 2.014370 \nIronConcentration 6.382449e+01 74.123936 \nManganeseConcentration 8.410939e+01 96.531621 \nSodiumConcentration 3.970369e+02 850.978348 \nPhosphorusConcentration 2.034701e+01 24.225030 \nPotassiumConcentration 1.838792e+02 230.535312 \nMagnesiumConcentration 1.930456e+02 237.257738 \nSulphurConcentration 2.131277e+02 309.202107 \nZincConcentration 1.508128e+00 1.662117 \nCalciumConcentration 2.343738e+03 3533.258208 \n\n Fedot_Industrial_best \\\nHouseholdPowerConsumption1 99.972746 \nAppliancesEnergy 1.924000 \nHouseholdPowerConsumption2 34.370000 \nIEEEPPG 29.105472 \nFloodModeling1 0.004626 \nBeijingPM25Quality 60.750000 \nBenzeneConcentration 1.637000 \nFloodModeling3 0.006690 \nBeijingPM10Quality 96.149556 \nFloodModeling2 0.006991 \nAustraliaRainfall 8.663000 \nNewsHeadlineSentiment 0.142000 \nNewsTitleSentiment 0.138000 \nLiveFuelMoistureContent 43.000000 \nBIDMC32SpO2 4.791000 \nBIDMC32HR 10.831000 \nBIDMC32RR 3.496000 \nCovid3Month 0.014000 \nHotwaterPredictor 1139.292599 \nSteamPredictor 29813.888024 \nChilledWaterPredictor 1022.114716 \nElectricityPredictor 439.365941 \nGasSensorArrayEthanol 0.206536 \nGasSensorArrayAcetone 0.227163 \nSierraNevadaMountainsSnow 29.778091 \nBitcoinSentiment 0.220253 \nEthereumSentiment 0.226023 \nCardanoSentiment 0.300261 \nBinanceCoinSentiment 0.373925 \nElectricMotorTemperature 4.206348 \nSolarRadiationAndalusia 0.633310 \nPrecipitationAndalusia 0.461973 \nAcousticContaminationMadrid 3.231754 \nVentilatorPressure 0.972656 \nOccupancyDetectionLight 71.678605 \nWindTurbinePower 46.843659 \nDhakaHourlyAirQuality 0.996620 \nDailyOilGasPrices 1.097276 \nWaveDataTension 15.578184 \nNaturalGasPricesSentiment 0.050170 \nDailyTemperatureLatitude 2.330602 \nMethaneMonitoringHomeActivity 0.510272 \nLPGasMonitoringHomeActivity 1.227710 \nAluminiumConcentration 293.353253 \nBoronConcentration 0.935570 \nCopperConcentration 1.778302 \nIronConcentration 80.240398 \nManganeseConcentration 91.551196 \nSodiumConcentration 464.905752 \nPhosphorusConcentration 19.546838 \nPotassiumConcentration 171.181679 \nMagnesiumConcentration 236.562421 \nSulphurConcentration 313.827026 \nZincConcentration 2.102851 \nCalciumConcentration 2511.154578 \n\n Fedot_Industrial_finetuned \nHouseholdPowerConsumption1 1.000000e+10 \nAppliancesEnergy 1.000000e+10 \nHouseholdPowerConsumption2 1.000000e+10 \nIEEEPPG 1.000000e+10 \nFloodModeling1 1.000000e+10 \nBeijingPM25Quality 6.431978e+01 \nBenzeneConcentration 1.000000e+10 \nFloodModeling3 1.000000e+10 \nBeijingPM10Quality 9.645160e+01 \nFloodModeling2 1.000000e+10 \nAustraliaRainfall NaN \nNewsHeadlineSentiment 1.000000e+10 \nNewsTitleSentiment 1.000000e+10 \nLiveFuelMoistureContent 4.622938e+01 \nBIDMC32SpO2 1.000000e+10 \nBIDMC32HR NaN \nBIDMC32RR NaN \nCovid3Month 1.000000e+10 \nHotwaterPredictor 1.000000e+10 \nSteamPredictor 1.000000e+10 \nChilledWaterPredictor 1.000000e+10 \nElectricityPredictor 1.000000e+10 \nGasSensorArrayEthanol 1.000000e+10 \nGasSensorArrayAcetone 1.000000e+10 \nSierraNevadaMountainsSnow 1.000000e+10 \nBitcoinSentiment 1.000000e+10 \nEthereumSentiment 1.000000e+10 \nCardanoSentiment 1.000000e+10 \nBinanceCoinSentiment 1.000000e+10 \nElectricMotorTemperature 1.000000e+10 \nSolarRadiationAndalusia 1.000000e+10 \nPrecipitationAndalusia 1.000000e+10 \nAcousticContaminationMadrid 1.000000e+10 \nVentilatorPressure 1.000000e+10 \nOccupancyDetectionLight 1.000000e+10 \nWindTurbinePower 1.000000e+10 \nDhakaHourlyAirQuality 1.000000e+10 \nDailyOilGasPrices 1.000000e+10 \nWaveDataTension 1.000000e+10 \nNaturalGasPricesSentiment 1.000000e+10 \nDailyTemperatureLatitude 1.000000e+10 \nMethaneMonitoringHomeActivity 1.000000e+10 \nLPGasMonitoringHomeActivity 1.000000e+10 \nAluminiumConcentration 2.962362e+02 \nBoronConcentration 1.013848e+00 \nCopperConcentration 1.758711e+00 \nIronConcentration 1.000000e+10 \nManganeseConcentration 8.893625e+01 \nSodiumConcentration 9.942167e+01 \nPhosphorusConcentration 1.961884e+01 \nPotassiumConcentration 1.720064e+02 \nMagnesiumConcentration 2.427799e+02 \nSulphurConcentration 3.160448e+02 \nZincConcentration 1.000000e+10 \nCalciumConcentration 1.000000e+10 \n\n[55 rows x 25 columns]",
"text/html": "\n\n
\n \n \n \n 1NN-DTW_RMSE \n 1NN-ED_RMSE \n 5NN-DTW_RMSE \n 5NN-ED_RMSE \n CNN_RMSE \n DrCIF_RMSE \n FCN_RMSE \n FPCR-Bs_RMSE \n FPCR_RMSE \n FreshPRINCE_RMSE \n ... \n ROCKET_RMSE \n RandF_RMSE \n ResNet_RMSE \n Ridge_RMSE \n RotF_RMSE \n SingleInception_RMSE \n TSF_RMSE \n XGBoost_RMSE \n Fedot_Industrial_best \n Fedot_Industrial_finetuned \n \n \n \n \n HouseholdPowerConsumption1 \n 417.520861 \n 534.266678 \n 363.106601 \n 507.796826 \n 6.045497e+02 \n 1.657667e+02 \n 353.211342 \n 110.606270 \n 107.061828 \n 1.040404e+02 \n ... \n 214.812814 \n 239.492621 \n 108.828881 \n 2.035437e+02 \n 1.992346e+02 \n 116.202251 \n 2.761883e+02 \n 227.507324 \n 99.972746 \n 1.000000e+10 \n \n \n AppliancesEnergy \n 5.739470 \n 5.768104 \n 4.504958 \n 4.470334 \n 4.097874e+00 \n 2.404670e+00 \n 4.452677 \n 4.500813 \n 4.419099 \n 2.053976e+00 \n ... \n 2.768555 \n 3.986324 \n 3.957921 \n 4.695629e+00 \n 2.557591e+00 \n 4.399413 \n 3.752866e+00 \n 4.045985 \n 1.924000 \n 1.000000e+10 \n \n \n HouseholdPowerConsumption2 \n 53.429559 \n 76.024116 \n 43.287550 \n 57.685928 \n 5.152938e+01 \n 3.063533e+01 \n 172.601053 \n 41.344814 \n 40.829072 \n 2.939287e+01 \n ... \n 30.675485 \n 39.071698 \n 33.304921 \n 5.771092e+01 \n 3.759094e+01 \n 34.585894 \n 3.601573e+01 \n 38.955683 \n 34.370000 \n 1.000000e+10 \n \n \n IEEEPPG \n 23.987240 \n 27.769715 \n 20.452884 \n 23.655007 \n 2.242689e+01 \n 1.247458e+01 \n 7.190419 \n 26.398372 \n 26.395514 \n 1.011591e+01 \n ... \n 7.159721 \n 21.655840 \n 5.051279 \n 4.750275e+01 \n 2.021281e+01 \n 4.119866 \n 2.047200e+01 \n 21.033698 \n 29.105472 \n 1.000000e+10 \n \n \n FloodModeling1 \n 0.013817 \n 0.018511 \n 0.013124 \n 0.019009 \n 1.723553e-02 \n 9.462636e-03 \n 0.009510 \n 0.020827 \n 0.021319 \n 8.750739e-03 \n ... \n 0.017304 \n 0.018997 \n 0.009046 \n 2.095060e-02 \n 1.798786e-02 \n 0.010004 \n 1.102917e-02 \n 0.019334 \n 0.004626 \n 1.000000e+10 \n \n \n BeijingPM25Quality \n 71.066726 \n 73.245699 \n 59.503839 \n 60.872956 \n 9.988757e+01 \n 4.712755e+01 \n 45.523481 \n 61.336023 \n 62.028248 \n 4.341873e+01 \n ... \n 67.005211 \n 46.711947 \n 44.166483 \n 6.091479e+01 \n 4.283921e+01 \n 42.008177 \n 6.167426e+01 \n 42.147228 \n 60.750000 \n 6.431978e+01 \n \n \n BenzeneConcentration \n 4.402315 \n 4.858189 \n 5.053820 \n 4.240799 \n 7.543093e+00 \n 3.666043e+00 \n 0.596533 \n 4.884306 \n 5.241220 \n 2.132254e+00 \n ... \n 2.217476 \n 0.283166 \n 0.302587 \n 1.132592e+00 \n 7.287375e-01 \n 0.276406 \n 4.189510e+00 \n 0.218806 \n 1.637000 \n 1.000000e+10 \n \n \n FloodModeling3 \n 0.013074 \n 0.017028 \n 0.011562 \n 0.017738 \n 1.096383e-02 \n 6.438931e-03 \n 0.009331 \n 0.018776 \n 0.019448 \n 5.582533e-03 \n ... \n 0.017291 \n 0.016680 \n 0.007282 \n 1.903150e-02 \n 1.568419e-02 \n 0.010451 \n 8.546052e-03 \n 0.017007 \n 0.006690 \n 1.000000e+10 \n \n \n BeijingPM10Quality \n 118.230571 \n 119.246110 \n 95.318785 \n 97.130645 \n 1.275990e+02 \n 7.057271e+01 \n 70.596483 \n 92.628381 \n 93.047781 \n 6.650945e+01 \n ... \n 94.557863 \n 71.712571 \n 68.418040 \n 9.235021e+01 \n 6.631563e+01 \n 66.519288 \n 8.465717e+01 \n 66.474818 \n 96.149556 \n 9.645160e+01 \n \n \n FloodModeling2 \n 0.011092 \n 0.012949 \n 0.012064 \n 0.013299 \n 1.852107e-02 \n 5.180100e-03 \n 0.004745 \n 0.014591 \n 0.013853 \n 5.027746e-03 \n ... \n 0.009274 \n 0.009483 \n 0.007550 \n 1.416184e-02 \n 7.900159e-03 \n 0.007653 \n 5.379332e-03 \n 0.012971 \n 0.006991 \n 1.000000e+10 \n \n \n AustraliaRainfall \n 17.084390 \n 17.477663 \n 16.120195 \n 15.419262 \n 1.000000e+10 \n 1.000000e+10 \n 14.820553 \n 14.822390 \n 14.821999 \n 1.000000e+10 \n ... \n 17.878905 \n 15.191093 \n 19.032231 \n 1.000000e+10 \n 1.000000e+10 \n 15.299189 \n 1.000000e+10 \n 16.282844 \n 8.663000 \n NaN \n \n \n NewsHeadlineSentiment \n 0.197916 \n 0.199315 \n 0.154958 \n 0.154884 \n 1.196766e+01 \n 1.455912e-01 \n 1.206852 \n 0.141583 \n 0.141565 \n 1.456120e-01 \n ... \n 0.146838 \n 0.146199 \n 0.147673 \n 1.435795e-01 \n 1.494606e-01 \n 0.148587 \n 1.422297e-01 \n 0.142740 \n 0.142000 \n 1.000000e+10 \n \n \n NewsTitleSentiment \n 0.192523 \n 0.192805 \n 0.149818 \n 0.149231 \n 2.308311e+01 \n 1.405348e-01 \n 1.007102 \n 0.136684 \n 0.136614 \n 1.406148e-01 \n ... \n 0.141759 \n 0.141116 \n 0.141528 \n 1.388921e-01 \n 1.441636e-01 \n 0.142814 \n 1.371251e-01 \n 0.137670 \n 0.138000 \n 1.000000e+10 \n \n \n LiveFuelMoistureContent \n 56.145576 \n 56.685415 \n 44.220169 \n 44.678597 \n 4.147725e+01 \n 4.061007e+01 \n 47.763911 \n 41.467245 \n 41.448372 \n 4.117283e+01 \n ... \n 44.509484 \n 41.094026 \n 47.347938 \n 8.350272e+02 \n 4.133734e+01 \n 47.022444 \n 4.074238e+01 \n 42.553580 \n 43.000000 \n 4.622938e+01 \n \n \n BIDMC32SpO2 \n 0.525750 \n 2.508360 \n 0.531987 \n 2.493010 \n 1.717190e+00 \n 4.198496e-01 \n 0.482227 \n 3.252909 \n 3.273603 \n 3.407657e-01 \n ... \n 0.300322 \n 1.851714 \n 0.277936 \n 3.357586e+00 \n 1.644120e+00 \n 0.314609 \n 1.275249e+00 \n 1.674734 \n 4.791000 \n 1.000000e+10 \n \n \n BIDMC32HR \n 1.944837 \n 6.544297 \n 1.904489 \n 6.990050 \n 5.229133e+00 \n 1.270281e+00 \n 1.120176 \n 13.043557 \n 13.032991 \n 1.039876e+00 \n ... \n 0.656318 \n 5.900761 \n 0.768738 \n 1.375567e+01 \n 4.884870e+00 \n 0.765547 \n 3.986727e+00 \n 4.975369 \n 10.831000 \n NaN \n \n \n BIDMC32RR \n 1.233577 \n 2.136593 \n 1.229752 \n 1.986163 \n 3.536865e+00 \n 9.154016e-01 \n 0.771526 \n 2.952190 \n 2.952411 \n 6.882746e-01 \n ... \n 0.526479 \n 1.943142 \n 0.481028 \n 3.017642e+00 \n 1.711275e+00 \n 0.550188 \n 1.417203e+00 \n 1.812002 \n 3.496000 \n NaN \n \n \n Covid3Month \n 0.054553 \n 0.053302 \n 0.041270 \n 0.040783 \n 6.759766e-02 \n 3.977303e-02 \n 0.067899 \n 199.920486 \n 0.048775 \n 3.829917e-02 \n ... \n 0.042819 \n 0.040183 \n 0.124416 \n 4.646435e-01 \n 4.169759e-02 \n 0.074202 \n 3.895102e-02 \n 0.044934 \n 0.014000 \n 1.000000e+10 \n \n \n HotwaterPredictor \n 1819.103151 \n 1906.032299 \n 1337.373398 \n 1458.866739 \n 1.174256e+03 \n 1.246468e+03 \n 1072.502657 \n 1427.171255 \n 1331.504687 \n 1.240377e+03 \n ... \n 1236.408458 \n 1310.439205 \n 1145.645542 \n 2.719383e+03 \n 1.383306e+03 \n 1162.325568 \n 1.401285e+03 \n 1424.823440 \n 1139.292599 \n 1.000000e+10 \n \n \n SteamPredictor \n 42924.761750 \n 55239.471520 \n 34168.975130 \n 38081.062240 \n 3.061124e+04 \n 3.113187e+04 \n 29315.721000 \n 32018.746920 \n 31246.608530 \n 3.101483e+04 \n ... \n 30813.803720 \n 32219.241800 \n 29429.960450 \n 7.616053e+04 \n 3.152469e+04 \n 29823.924800 \n 3.135775e+04 \n 35238.808060 \n 29813.888024 \n 1.000000e+10 \n \n \n ChilledWaterPredictor \n 3350.285304 \n 2224.276368 \n 2420.350041 \n 2200.831018 \n 2.215134e+03 \n 2.241064e+03 \n 2215.939738 \n 2364.754528 \n 2332.364049 \n 2.479203e+03 \n ... \n 2517.901417 \n 2449.605008 \n 2202.908042 \n 4.346009e+03 \n 2.437387e+03 \n 2138.914979 \n 2.286958e+03 \n 3137.416197 \n 1022.114716 \n 1.000000e+10 \n \n \n ElectricityPredictor \n 666.809599 \n 684.484545 \n 469.378018 \n 493.478164 \n 4.846374e+02 \n 5.874044e+02 \n 609.970047 \n 465.844347 \n 455.941085 \n 5.826548e+02 \n ... \n 575.695827 \n 527.343198 \n 589.427954 \n 5.745584e+02 \n 6.066627e+02 \n 588.659847 \n 6.041935e+02 \n 618.172663 \n 439.365941 \n 1.000000e+10 \n \n \n GasSensorArrayEthanol \n 0.342482 \n 0.282927 \n 0.268868 \n 0.265737 \n 2.017014e-01 \n 1.517741e-01 \n 0.306066 \n 0.209465 \n 0.207139 \n 1.859832e-01 \n ... \n 0.213550 \n 0.254922 \n 0.654548 \n 1.848965e-01 \n 1.499463e-01 \n 0.504130 \n 1.941129e-01 \n 0.268107 \n 0.206536 \n 1.000000e+10 \n \n \n GasSensorArrayAcetone \n 0.317429 \n 0.307368 \n 0.259960 \n 0.262321 \n 2.389416e-01 \n 1.845477e-01 \n 0.294932 \n 0.232775 \n 0.244260 \n 2.010619e-01 \n ... \n 0.194288 \n 0.259360 \n 0.548682 \n 2.623136e-01 \n 1.930651e-01 \n 0.304125 \n 2.117950e-01 \n 0.275739 \n 0.227163 \n 1.000000e+10 \n \n \n SierraNevadaMountainsSnow \n 63.580655 \n 75.131205 \n 53.707346 \n 66.961454 \n 5.431997e+01 \n 4.300014e+01 \n 36.415663 \n 46.966215 \n 47.103784 \n 3.692058e+01 \n ... \n 68.547775 \n 52.216070 \n 39.732449 \n 5.227692e+01 \n 4.869493e+01 \n 34.691728 \n 5.180834e+01 \n 56.066891 \n 29.778091 \n 1.000000e+10 \n \n \n BitcoinSentiment \n 0.260328 \n 0.264244 \n 0.207365 \n 0.207243 \n 2.462431e-01 \n 1.970548e-01 \n 0.220598 \n 0.215564 \n 0.211556 \n 2.011734e-01 \n ... \n 0.268838 \n 0.199306 \n 0.226852 \n 2.324026e-01 \n 2.014305e-01 \n 0.224385 \n 2.097271e-01 \n 0.208650 \n 0.220253 \n 1.000000e+10 \n \n \n EthereumSentiment \n 0.318791 \n 0.333878 \n 0.241217 \n 0.246046 \n 2.716099e-01 \n 2.234477e-01 \n 0.252702 \n 0.235169 \n 0.231336 \n 2.258759e-01 \n ... \n 0.287077 \n 0.233020 \n 0.255854 \n 2.621682e-01 \n 2.294233e-01 \n 0.257753 \n 2.344765e-01 \n 0.252351 \n 0.226023 \n 1.000000e+10 \n \n \n CardanoSentiment \n 0.393083 \n 0.421637 \n 0.316565 \n 0.315416 \n 4.370255e-01 \n 2.973890e-01 \n 0.304449 \n 0.342885 \n 0.333628 \n 3.017266e-01 \n ... \n 0.306467 \n 0.295906 \n 0.324041 \n 3.881151e-01 \n 3.052854e-01 \n 0.357882 \n 2.998514e-01 \n 0.324627 \n 0.300261 \n 1.000000e+10 \n \n \n BinanceCoinSentiment \n 0.484438 \n 0.500171 \n 0.372489 \n 0.383144 \n 4.094964e-01 \n 3.448162e-01 \n 0.366414 \n 0.380741 \n 0.383121 \n 3.460515e-01 \n ... \n 0.387179 \n 0.350101 \n 0.371933 \n 5.139279e-01 \n 3.538278e-01 \n 0.385787 \n 3.479485e-01 \n 0.377766 \n 0.373925 \n 1.000000e+10 \n \n \n ElectricMotorTemperature \n 8.840429 \n 9.023510 \n 7.604740 \n 7.833623 \n 1.760786e+01 \n 4.656284e+00 \n 6.593876 \n 11.969364 \n 11.979490 \n 4.650170e+00 \n ... \n 12.270972 \n 5.241818 \n 5.911347 \n 1.198277e+01 \n 4.698074e+00 \n 5.163396 \n 8.869247e+00 \n 5.312691 \n 4.206348 \n 1.000000e+10 \n \n \n SolarRadiationAndalusia \n 0.823649 \n 0.844081 \n 0.645187 \n 0.655481 \n 1.042590e+00 \n 6.216146e-01 \n 0.670086 \n 0.673903 \n 0.657212 \n 6.195325e-01 \n ... \n 0.644610 \n 0.630443 \n 0.654886 \n 7.698799e-01 \n 6.238755e-01 \n 0.695240 \n 6.255512e-01 \n 0.656600 \n 0.633310 \n 1.000000e+10 \n \n \n PrecipitationAndalusia \n 0.490903 \n 0.503864 \n 0.410596 \n 0.453094 \n 9.854324e-01 \n 3.851207e-01 \n 0.397996 \n 0.415940 \n 0.388695 \n 3.612930e-01 \n ... \n 0.345239 \n 0.394483 \n 0.409187 \n 7.985268e-01 \n 3.690052e-01 \n 0.388841 \n 4.023337e-01 \n 0.401574 \n 0.461973 \n 1.000000e+10 \n \n \n AcousticContaminationMadrid \n 5.440282 \n 6.591085 \n 5.046155 \n 5.726287 \n 6.712051e+00 \n 4.119996e+00 \n 64.512385 \n 5.664351 \n 5.620265 \n 3.281021e+00 \n ... \n 4.632819 \n 5.071709 \n 5.127297 \n 5.387562e+00 \n 5.126173e+00 \n 4.429513 \n 4.602419e+00 \n 5.255653 \n 3.231754 \n 1.000000e+10 \n \n \n VentilatorPressure \n 1.135626 \n 0.983354 \n 1.000072 \n 0.894525 \n 2.163210e+00 \n 6.166132e-01 \n 0.935243 \n 2.225154 \n 2.182645 \n 6.015145e-01 \n ... \n 0.852913 \n 0.671745 \n 0.492728 \n 2.072326e+00 \n 5.685455e-01 \n 0.406689 \n 1.848328e+00 \n 0.704912 \n 0.972656 \n 1.000000e+10 \n \n \n OccupancyDetectionLight \n 185.122574 \n 184.640670 \n 155.141891 \n 157.236274 \n 2.386848e+02 \n 8.054537e+01 \n 129.605793 \n 118.989563 \n 114.206848 \n 6.710728e+01 \n ... \n 111.422905 \n 100.189621 \n 89.718024 \n 2.249267e+02 \n 7.528684e+01 \n 95.353950 \n 1.024337e+02 \n 103.161750 \n 71.678605 \n 1.000000e+10 \n \n \n WindTurbinePower \n 276.399699 \n 586.730016 \n 238.769740 \n 466.186615 \n 9.515196e+02 \n 9.785142e+01 \n 1191.209810 \n 891.458761 \n 888.944783 \n 4.465780e+01 \n ... \n 611.429184 \n 103.784273 \n 1033.868527 \n 6.220624e+04 \n 7.424638e+01 \n 274.187508 \n 1.170780e+02 \n 104.971863 \n 46.843659 \n 1.000000e+10 \n \n \n DhakaHourlyAirQuality \n 7.448274 \n 6.442643 \n 5.133465 \n 4.632155 \n 8.680293e+00 \n 3.171020e+00 \n 10.265259 \n 12.384106 \n 12.368746 \n 1.784270e+00 \n ... \n 46.896156 \n 5.571973 \n 5.915342 \n 1.245697e+01 \n 2.702426e+00 \n 5.476823 \n 4.813817e+00 \n 4.946151 \n 0.996620 \n 1.000000e+10 \n \n \n DailyOilGasPrices \n 2.742105 \n 2.822595 \n 2.055256 \n 2.251424 \n 2.150854e+00 \n 1.594442e+00 \n 2.069046 \n 2.097964 \n 2.052389 \n 1.490442e+00 \n ... \n 2.275254 \n 1.708196 \n 1.938074 \n 2.363609e+00 \n 1.559385e+00 \n 2.149368 \n 1.684828e+00 \n 1.716903 \n 1.097276 \n 1.000000e+10 \n \n \n WaveDataTension \n 21.337284 \n 21.051859 \n 16.516183 \n 16.544666 \n 1.816305e+01 \n 1.517911e+01 \n 21.100020 \n 14.107994 \n 14.110484 \n 1.491209e+01 \n ... \n 15.143283 \n 15.356970 \n 18.332223 \n 1.408012e+01 \n 1.521209e+01 \n 17.793210 \n 1.543533e+01 \n 16.094344 \n 15.578184 \n 1.000000e+10 \n \n \n NaturalGasPricesSentiment \n 0.074277 \n 0.074651 \n 0.057354 \n 0.056623 \n 6.482931e-02 \n 5.968074e-02 \n 0.099374 \n 0.113517 \n 0.112670 \n 5.923535e-02 \n ... \n 0.090880 \n 0.055981 \n 0.143140 \n 7.955113e-02 \n 5.858841e-02 \n 0.341370 \n 5.479847e-02 \n 0.060197 \n 0.050170 \n 1.000000e+10 \n \n \n DailyTemperatureLatitude \n 2.274194 \n 2.930519 \n 2.158074 \n 3.021106 \n 5.427370e+00 \n 1.950407e+00 \n 6.156039 \n 10.660307 \n 10.700298 \n 1.782911e+00 \n ... \n 4.734260 \n 3.116088 \n 4.985807 \n 1.003086e+01 \n 2.677904e+00 \n 1.780762 \n 2.151806e+00 \n 2.942073 \n 2.330602 \n 1.000000e+10 \n \n \n MethaneMonitoringHomeActivity \n 0.693400 \n 0.694371 \n 0.540157 \n 0.541140 \n 6.367615e-01 \n 5.052408e-01 \n 0.535491 \n 0.589072 \n 0.589213 \n 5.305011e-01 \n ... \n 0.623893 \n 0.525422 \n 1.558559 \n 5.887444e-01 \n 5.244137e-01 \n 0.634288 \n 5.170912e-01 \n 0.556360 \n 0.510272 \n 1.000000e+10 \n \n \n LPGasMonitoringHomeActivity \n 1.699540 \n 1.696243 \n 1.334805 \n 1.338572 \n 1.339258e+00 \n 1.262008e+00 \n 1.297673 \n 1.306738 \n 1.306077 \n 1.295706e+00 \n ... \n 1.349483 \n 1.303421 \n 1.344633 \n 1.304916e+00 \n 1.289305e+00 \n 1.385517 \n 1.280573e+00 \n 1.383632 \n 1.227710 \n 1.000000e+10 \n \n \n AluminiumConcentration \n 382.557872 \n 358.169450 \n 324.538120 \n 306.064290 \n 2.737297e+02 \n 2.451929e+02 \n 985.815086 \n 277.958777 \n 274.385013 \n 2.699899e+02 \n ... \n 247.129053 \n 293.337887 \n 316.411353 \n 2.370224e+02 \n 2.340929e+02 \n 250.411638 \n 2.450510e+02 \n 295.733413 \n 293.353253 \n 2.962362e+02 \n \n \n BoronConcentration \n 1.993851 \n 1.861265 \n 1.909409 \n 1.982375 \n 3.608769e+00 \n 1.762709e+00 \n 5.724229 \n 1.834673 \n 1.814600 \n 1.880072e+00 \n ... \n 2.131067 \n 2.315727 \n 2.765997 \n 1.802806e+00 \n 1.885018e+00 \n 1.801264 \n 2.038787e+00 \n 2.895465 \n 0.935570 \n 1.013848e+00 \n \n \n CopperConcentration \n 2.481286 \n 2.413716 \n 1.934787 \n 1.953789 \n 2.343641e+00 \n 1.826204e+00 \n 5.178149 \n 1.900740 \n 1.925904 \n 1.845851e+00 \n ... \n 2.042072 \n 1.951352 \n 2.096999 \n 1.819889e+00 \n 1.863294e+00 \n 1.918499 \n 1.902307e+00 \n 2.014370 \n 1.778302 \n 1.758711e+00 \n \n \n IronConcentration \n 88.669240 \n 83.835078 \n 77.742182 \n 72.378913 \n 7.232745e+01 \n 6.213210e+01 \n 197.801726 \n 75.611945 \n 72.223676 \n 6.535273e+01 \n ... \n 59.652667 \n 72.907851 \n 73.217837 \n 6.058250e+01 \n 6.192114e+01 \n 66.516998 \n 6.382449e+01 \n 74.123936 \n 80.240398 \n 1.000000e+10 \n \n \n ManganeseConcentration \n 121.990065 \n 118.427219 \n 101.108313 \n 98.898216 \n 9.280130e+01 \n 8.128308e+01 \n 229.354966 \n 98.033724 \n 99.584134 \n 8.462758e+01 \n ... \n 87.290996 \n 93.774650 \n 97.229102 \n 8.461378e+01 \n 7.991396e+01 \n 88.303869 \n 8.410939e+01 \n 96.531621 \n 91.551196 \n 8.893625e+01 \n \n \n SodiumConcentration \n 659.380735 \n 620.198671 \n 453.954204 \n 444.132225 \n 3.993961e+02 \n 3.127763e+02 \n 469.649236 \n 399.916772 \n 410.500936 \n 4.079309e+02 \n ... \n 1009.654912 \n 470.035579 \n 478.427281 \n 4.154721e+02 \n 6.527057e+02 \n 431.525344 \n 3.970369e+02 \n 850.978348 \n 464.905752 \n 9.942167e+01 \n \n \n PhosphorusConcentration \n 22.153652 \n 21.424030 \n 24.305616 \n 23.357350 \n 2.783047e+01 \n 1.906393e+01 \n 42.623989 \n 26.104236 \n 25.922738 \n 1.914935e+01 \n ... \n 23.400360 \n 23.611200 \n 20.737713 \n 2.274373e+01 \n 2.063641e+01 \n 18.550513 \n 2.034701e+01 \n 24.225030 \n 19.546838 \n 1.961884e+01 \n \n \n PotassiumConcentration \n 242.027142 \n 221.960612 \n 223.386480 \n 224.239115 \n 2.614602e+02 \n 1.676802e+02 \n 497.219697 \n 272.228356 \n 262.982471 \n 1.748586e+02 \n ... \n 209.230873 \n 227.961272 \n 182.300959 \n 2.112084e+02 \n 1.862390e+02 \n 177.300333 \n 1.838792e+02 \n 230.535312 \n 171.181679 \n 1.720064e+02 \n \n \n MagnesiumConcentration \n 298.216850 \n 228.529714 \n 277.321165 \n 248.002202 \n 2.983644e+02 \n 1.608196e+02 \n 1112.378767 \n 324.661186 \n 293.109564 \n 1.679659e+02 \n ... \n 144.878976 \n 244.734176 \n 166.348644 \n 1.404055e+02 \n 1.665049e+02 \n 135.343967 \n 1.930456e+02 \n 237.257738 \n 236.562421 \n 2.427799e+02 \n \n \n SulphurConcentration \n 251.901880 \n 251.159147 \n 221.083366 \n 217.302684 \n 2.465601e+02 \n 2.060873e+02 \n 279.789674 \n 201.620532 \n 201.470538 \n 2.224243e+02 \n ... \n 272.034096 \n 223.069451 \n 208.013712 \n 2.136158e+02 \n 2.150779e+02 \n 210.114434 \n 2.131277e+02 \n 309.202107 \n 313.827026 \n 3.160448e+02 \n \n \n ZincConcentration \n 1.828631 \n 1.889708 \n 1.540422 \n 1.540109 \n 1.496162e+00 \n 1.429352e+00 \n 4.265433 \n 1.436632 \n 1.454666 \n 1.589329e+00 \n ... \n 1.489652 \n 1.533721 \n 1.638925 \n 1.440314e+00 \n 1.509911e+00 \n 1.659296 \n 1.508128e+00 \n 1.662117 \n 2.102851 \n 1.000000e+10 \n \n \n CalciumConcentration \n 4236.151380 \n 3027.549129 \n 3446.114173 \n 3095.929708 \n 3.247370e+03 \n 1.938747e+03 \n 3539.993435 \n 3094.429853 \n 2983.270751 \n 2.189777e+03 \n ... \n 2487.968147 \n 2963.172908 \n 3026.672964 \n 2.103223e+03 \n 1.783895e+03 \n 2478.981119 \n 2.343738e+03 \n 3533.258208 \n 2511.154578 \n 1.000000e+10 \n \n \n
\n
55 rows × 25 columns
\n
"
},
- "execution_count": 36,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@@ -602,7 +602,7 @@
},
{
"cell_type": "code",
- "execution_count": 37,
+ "execution_count": 6,
"outputs": [],
"source": [
"reg_comp['Fedot_Industrial_best'] = reg_comp.apply(lambda row: min(row.loc['Fedot_Industrial_best'],row.loc['Fedot_Industrial_finetuned']), axis=1)\n",
@@ -629,13 +629,13 @@
},
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 7,
"outputs": [
{
"data": {
"text/plain": "['RDST_RMSE', 'RIST_RMSE', 'Ridge_RMSE', 'CNN_RMSE', 'TSF_RMSE']"
},
- "execution_count": 38,
+ "execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@@ -654,7 +654,7 @@
},
{
"cell_type": "code",
- "execution_count": 39,
+ "execution_count": 8,
"outputs": [],
"source": [
"def categorize_dataset(metric):\n",
@@ -676,7 +676,7 @@
},
{
"cell_type": "code",
- "execution_count": 40,
+ "execution_count": 9,
"outputs": [],
"source": [
"stable_models = [x for x in reg_comp.columns if x not in not_stable_models]\n",
@@ -694,14 +694,14 @@
},
{
"cell_type": "code",
- "execution_count": 41,
+ "execution_count": 10,
"outputs": [
{
"data": {
"text/plain": " 1NN-DTW_RMSE 1NN-ED_RMSE 5NN-DTW_RMSE \\\nHouseholdPowerConsumption1 417.520861 534.266678 363.106601 \nAppliancesEnergy 5.739470 5.768104 4.504958 \nHouseholdPowerConsumption2 53.429559 76.024116 43.287550 \nIEEEPPG 23.987240 27.769715 20.452884 \nFloodModeling1 0.013817 0.018511 0.013124 \nBeijingPM25Quality 71.066726 73.245699 59.503839 \nBenzeneConcentration 4.402315 4.858189 5.053820 \nFloodModeling3 0.013074 0.017028 0.011562 \nBeijingPM10Quality 118.230571 119.246110 95.318785 \nFloodModeling2 0.011092 0.012949 0.012064 \nAustraliaRainfall 17.084390 17.477663 16.120195 \nNewsHeadlineSentiment 0.197916 0.199315 0.154958 \nNewsTitleSentiment 0.192523 0.192805 0.149818 \nLiveFuelMoistureContent 56.145576 56.685415 44.220169 \nBIDMC32SpO2 0.525750 2.508360 0.531987 \nBIDMC32HR 1.944837 6.544297 1.904489 \nBIDMC32RR 1.233577 2.136593 1.229752 \nCovid3Month 0.054553 0.053302 0.041270 \nHotwaterPredictor 1819.103151 1906.032299 1337.373398 \nSteamPredictor 42924.761750 55239.471520 34168.975130 \nChilledWaterPredictor 3350.285304 2224.276368 2420.350041 \nElectricityPredictor 666.809599 684.484545 469.378018 \nGasSensorArrayEthanol 0.342482 0.282927 0.268868 \nGasSensorArrayAcetone 0.317429 0.307368 0.259960 \nSierraNevadaMountainsSnow 63.580655 75.131205 53.707346 \nBitcoinSentiment 0.260328 0.264244 0.207365 \nEthereumSentiment 0.318791 0.333878 0.241217 \nCardanoSentiment 0.393083 0.421637 0.316565 \nBinanceCoinSentiment 0.484438 0.500171 0.372489 \nElectricMotorTemperature 8.840429 9.023510 7.604740 \nSolarRadiationAndalusia 0.823649 0.844081 0.645187 \nPrecipitationAndalusia 0.490903 0.503864 0.410596 \nAcousticContaminationMadrid 5.440282 6.591085 5.046155 \nVentilatorPressure 1.135626 0.983354 1.000072 \nOccupancyDetectionLight 185.122574 184.640670 155.141891 \nWindTurbinePower 276.399699 586.730016 238.769740 \nDhakaHourlyAirQuality 7.448274 6.442643 5.133465 \nDailyOilGasPrices 2.742105 2.822595 2.055256 \nWaveDataTension 21.337284 21.051859 16.516183 \nNaturalGasPricesSentiment 0.074277 0.074651 0.057354 \nDailyTemperatureLatitude 2.274194 2.930519 2.158074 \nMethaneMonitoringHomeActivity 0.693400 0.694371 0.540157 \nLPGasMonitoringHomeActivity 1.699540 1.696243 1.334805 \nAluminiumConcentration 382.557872 358.169450 324.538120 \nBoronConcentration 1.993851 1.861265 1.909409 \nCopperConcentration 2.481286 2.413716 1.934787 \nIronConcentration 88.669240 83.835078 77.742182 \nManganeseConcentration 121.990065 118.427219 101.108313 \nSodiumConcentration 659.380735 620.198671 453.954204 \nPhosphorusConcentration 22.153652 21.424030 24.305616 \nPotassiumConcentration 242.027142 221.960612 223.386480 \nMagnesiumConcentration 298.216850 228.529714 277.321165 \nSulphurConcentration 251.901880 251.159147 221.083366 \nZincConcentration 1.828631 1.889708 1.540422 \nCalciumConcentration 4236.151380 3027.549129 3446.114173 \n\n 5NN-ED_RMSE CNN_RMSE DrCIF_RMSE \\\nHouseholdPowerConsumption1 507.796826 6.045497e+02 1.657667e+02 \nAppliancesEnergy 4.470334 4.097874e+00 2.404670e+00 \nHouseholdPowerConsumption2 57.685928 5.152938e+01 3.063533e+01 \nIEEEPPG 23.655007 2.242689e+01 1.247458e+01 \nFloodModeling1 0.019009 1.723553e-02 9.462636e-03 \nBeijingPM25Quality 60.872956 9.988757e+01 4.712755e+01 \nBenzeneConcentration 4.240799 7.543093e+00 3.666043e+00 \nFloodModeling3 0.017738 1.096383e-02 6.438931e-03 \nBeijingPM10Quality 97.130645 1.275990e+02 7.057271e+01 \nFloodModeling2 0.013299 1.852107e-02 5.180100e-03 \nAustraliaRainfall 15.419262 1.000000e+10 1.000000e+10 \nNewsHeadlineSentiment 0.154884 1.196766e+01 1.455912e-01 \nNewsTitleSentiment 0.149231 2.308311e+01 1.405348e-01 \nLiveFuelMoistureContent 44.678597 4.147725e+01 4.061007e+01 \nBIDMC32SpO2 2.493010 1.717190e+00 4.198496e-01 \nBIDMC32HR 6.990050 5.229133e+00 1.270281e+00 \nBIDMC32RR 1.986163 3.536865e+00 9.154016e-01 \nCovid3Month 0.040783 6.759766e-02 3.977303e-02 \nHotwaterPredictor 1458.866739 1.174256e+03 1.246468e+03 \nSteamPredictor 38081.062240 3.061124e+04 3.113187e+04 \nChilledWaterPredictor 2200.831018 2.215134e+03 2.241064e+03 \nElectricityPredictor 493.478164 4.846374e+02 5.874044e+02 \nGasSensorArrayEthanol 0.265737 2.017014e-01 1.517741e-01 \nGasSensorArrayAcetone 0.262321 2.389416e-01 1.845477e-01 \nSierraNevadaMountainsSnow 66.961454 5.431997e+01 4.300014e+01 \nBitcoinSentiment 0.207243 2.462431e-01 1.970548e-01 \nEthereumSentiment 0.246046 2.716099e-01 2.234477e-01 \nCardanoSentiment 0.315416 4.370255e-01 2.973890e-01 \nBinanceCoinSentiment 0.383144 4.094964e-01 3.448162e-01 \nElectricMotorTemperature 7.833623 1.760786e+01 4.656284e+00 \nSolarRadiationAndalusia 0.655481 1.042590e+00 6.216146e-01 \nPrecipitationAndalusia 0.453094 9.854324e-01 3.851207e-01 \nAcousticContaminationMadrid 5.726287 6.712051e+00 4.119996e+00 \nVentilatorPressure 0.894525 2.163210e+00 6.166132e-01 \nOccupancyDetectionLight 157.236274 2.386848e+02 8.054537e+01 \nWindTurbinePower 466.186615 9.515196e+02 9.785142e+01 \nDhakaHourlyAirQuality 4.632155 8.680293e+00 3.171020e+00 \nDailyOilGasPrices 2.251424 2.150854e+00 1.594442e+00 \nWaveDataTension 16.544666 1.816305e+01 1.517911e+01 \nNaturalGasPricesSentiment 0.056623 6.482931e-02 5.968074e-02 \nDailyTemperatureLatitude 3.021106 5.427370e+00 1.950407e+00 \nMethaneMonitoringHomeActivity 0.541140 6.367615e-01 5.052408e-01 \nLPGasMonitoringHomeActivity 1.338572 1.339258e+00 1.262008e+00 \nAluminiumConcentration 306.064290 2.737297e+02 2.451929e+02 \nBoronConcentration 1.982375 3.608769e+00 1.762709e+00 \nCopperConcentration 1.953789 2.343641e+00 1.826204e+00 \nIronConcentration 72.378913 7.232745e+01 6.213210e+01 \nManganeseConcentration 98.898216 9.280130e+01 8.128308e+01 \nSodiumConcentration 444.132225 3.993961e+02 3.127763e+02 \nPhosphorusConcentration 23.357350 2.783047e+01 1.906393e+01 \nPotassiumConcentration 224.239115 2.614602e+02 1.676802e+02 \nMagnesiumConcentration 248.002202 2.983644e+02 1.608196e+02 \nSulphurConcentration 217.302684 2.465601e+02 2.060873e+02 \nZincConcentration 1.540109 1.496162e+00 1.429352e+00 \nCalciumConcentration 3095.929708 3.247370e+03 1.938747e+03 \n\n FCN_RMSE FPCR-Bs_RMSE FPCR_RMSE \\\nHouseholdPowerConsumption1 353.211342 110.606270 107.061828 \nAppliancesEnergy 4.452677 4.500813 4.419099 \nHouseholdPowerConsumption2 172.601053 41.344814 40.829072 \nIEEEPPG 7.190419 26.398372 26.395514 \nFloodModeling1 0.009510 0.020827 0.021319 \nBeijingPM25Quality 45.523481 61.336023 62.028248 \nBenzeneConcentration 0.596533 4.884306 5.241220 \nFloodModeling3 0.009331 0.018776 0.019448 \nBeijingPM10Quality 70.596483 92.628381 93.047781 \nFloodModeling2 0.004745 0.014591 0.013853 \nAustraliaRainfall 14.820553 14.822390 14.821999 \nNewsHeadlineSentiment 1.206852 0.141583 0.141565 \nNewsTitleSentiment 1.007102 0.136684 0.136614 \nLiveFuelMoistureContent 47.763911 41.467245 41.448372 \nBIDMC32SpO2 0.482227 3.252909 3.273603 \nBIDMC32HR 1.120176 13.043557 13.032991 \nBIDMC32RR 0.771526 2.952190 2.952411 \nCovid3Month 0.067899 199.920486 0.048775 \nHotwaterPredictor 1072.502657 1427.171255 1331.504687 \nSteamPredictor 29315.721000 32018.746920 31246.608530 \nChilledWaterPredictor 2215.939738 2364.754528 2332.364049 \nElectricityPredictor 609.970047 465.844347 455.941085 \nGasSensorArrayEthanol 0.306066 0.209465 0.207139 \nGasSensorArrayAcetone 0.294932 0.232775 0.244260 \nSierraNevadaMountainsSnow 36.415663 46.966215 47.103784 \nBitcoinSentiment 0.220598 0.215564 0.211556 \nEthereumSentiment 0.252702 0.235169 0.231336 \nCardanoSentiment 0.304449 0.342885 0.333628 \nBinanceCoinSentiment 0.366414 0.380741 0.383121 \nElectricMotorTemperature 6.593876 11.969364 11.979490 \nSolarRadiationAndalusia 0.670086 0.673903 0.657212 \nPrecipitationAndalusia 0.397996 0.415940 0.388695 \nAcousticContaminationMadrid 64.512385 5.664351 5.620265 \nVentilatorPressure 0.935243 2.225154 2.182645 \nOccupancyDetectionLight 129.605793 118.989563 114.206848 \nWindTurbinePower 1191.209810 891.458761 888.944783 \nDhakaHourlyAirQuality 10.265259 12.384106 12.368746 \nDailyOilGasPrices 2.069046 2.097964 2.052389 \nWaveDataTension 21.100020 14.107994 14.110484 \nNaturalGasPricesSentiment 0.099374 0.113517 0.112670 \nDailyTemperatureLatitude 6.156039 10.660307 10.700298 \nMethaneMonitoringHomeActivity 0.535491 0.589072 0.589213 \nLPGasMonitoringHomeActivity 1.297673 1.306738 1.306077 \nAluminiumConcentration 985.815086 277.958777 274.385013 \nBoronConcentration 5.724229 1.834673 1.814600 \nCopperConcentration 5.178149 1.900740 1.925904 \nIronConcentration 197.801726 75.611945 72.223676 \nManganeseConcentration 229.354966 98.033724 99.584134 \nSodiumConcentration 469.649236 399.916772 410.500936 \nPhosphorusConcentration 42.623989 26.104236 25.922738 \nPotassiumConcentration 497.219697 272.228356 262.982471 \nMagnesiumConcentration 1112.378767 324.661186 293.109564 \nSulphurConcentration 279.789674 201.620532 201.470538 \nZincConcentration 4.265433 1.436632 1.454666 \nCalciumConcentration 3539.993435 3094.429853 2983.270751 \n\n FreshPRINCE_RMSE ... ResNet_RMSE \\\nHouseholdPowerConsumption1 1.040404e+02 ... 108.828881 \nAppliancesEnergy 2.053976e+00 ... 3.957921 \nHouseholdPowerConsumption2 2.939287e+01 ... 33.304921 \nIEEEPPG 1.011591e+01 ... 5.051279 \nFloodModeling1 8.750739e-03 ... 0.009046 \nBeijingPM25Quality 4.341873e+01 ... 44.166483 \nBenzeneConcentration 2.132254e+00 ... 0.302587 \nFloodModeling3 5.582533e-03 ... 0.007282 \nBeijingPM10Quality 6.650945e+01 ... 68.418040 \nFloodModeling2 5.027746e-03 ... 0.007550 \nAustraliaRainfall 1.000000e+10 ... 19.032231 \nNewsHeadlineSentiment 1.456120e-01 ... 0.147673 \nNewsTitleSentiment 1.406148e-01 ... 0.141528 \nLiveFuelMoistureContent 4.117283e+01 ... 47.347938 \nBIDMC32SpO2 3.407657e-01 ... 0.277936 \nBIDMC32HR 1.039876e+00 ... 0.768738 \nBIDMC32RR 6.882746e-01 ... 0.481028 \nCovid3Month 3.829917e-02 ... 0.124416 \nHotwaterPredictor 1.240377e+03 ... 1145.645542 \nSteamPredictor 3.101483e+04 ... 29429.960450 \nChilledWaterPredictor 2.479203e+03 ... 2202.908042 \nElectricityPredictor 5.826548e+02 ... 589.427954 \nGasSensorArrayEthanol 1.859832e-01 ... 0.654548 \nGasSensorArrayAcetone 2.010619e-01 ... 0.548682 \nSierraNevadaMountainsSnow 3.692058e+01 ... 39.732449 \nBitcoinSentiment 2.011734e-01 ... 0.226852 \nEthereumSentiment 2.258759e-01 ... 0.255854 \nCardanoSentiment 3.017266e-01 ... 0.324041 \nBinanceCoinSentiment 3.460515e-01 ... 0.371933 \nElectricMotorTemperature 4.650170e+00 ... 5.911347 \nSolarRadiationAndalusia 6.195325e-01 ... 0.654886 \nPrecipitationAndalusia 3.612930e-01 ... 0.409187 \nAcousticContaminationMadrid 3.281021e+00 ... 5.127297 \nVentilatorPressure 6.015145e-01 ... 0.492728 \nOccupancyDetectionLight 6.710728e+01 ... 89.718024 \nWindTurbinePower 4.465780e+01 ... 1033.868527 \nDhakaHourlyAirQuality 1.784270e+00 ... 5.915342 \nDailyOilGasPrices 1.490442e+00 ... 1.938074 \nWaveDataTension 1.491209e+01 ... 18.332223 \nNaturalGasPricesSentiment 5.923535e-02 ... 0.143140 \nDailyTemperatureLatitude 1.782911e+00 ... 4.985807 \nMethaneMonitoringHomeActivity 5.305011e-01 ... 1.558559 \nLPGasMonitoringHomeActivity 1.295706e+00 ... 1.344633 \nAluminiumConcentration 2.699899e+02 ... 316.411353 \nBoronConcentration 1.880072e+00 ... 2.765997 \nCopperConcentration 1.845851e+00 ... 2.096999 \nIronConcentration 6.535273e+01 ... 73.217837 \nManganeseConcentration 8.462758e+01 ... 97.229102 \nSodiumConcentration 4.079309e+02 ... 478.427281 \nPhosphorusConcentration 1.914935e+01 ... 20.737713 \nPotassiumConcentration 1.748586e+02 ... 182.300959 \nMagnesiumConcentration 1.679659e+02 ... 166.348644 \nSulphurConcentration 2.224243e+02 ... 208.013712 \nZincConcentration 1.589329e+00 ... 1.638925 \nCalciumConcentration 2.189777e+03 ... 3026.672964 \n\n Ridge_RMSE RotF_RMSE \\\nHouseholdPowerConsumption1 2.035437e+02 1.992346e+02 \nAppliancesEnergy 4.695629e+00 2.557591e+00 \nHouseholdPowerConsumption2 5.771092e+01 3.759094e+01 \nIEEEPPG 4.750275e+01 2.021281e+01 \nFloodModeling1 2.095060e-02 1.798786e-02 \nBeijingPM25Quality 6.091479e+01 4.283921e+01 \nBenzeneConcentration 1.132592e+00 7.287375e-01 \nFloodModeling3 1.903150e-02 1.568419e-02 \nBeijingPM10Quality 9.235021e+01 6.631563e+01 \nFloodModeling2 1.416184e-02 7.900159e-03 \nAustraliaRainfall 1.000000e+10 1.000000e+10 \nNewsHeadlineSentiment 1.435795e-01 1.494606e-01 \nNewsTitleSentiment 1.388921e-01 1.441636e-01 \nLiveFuelMoistureContent 8.350272e+02 4.133734e+01 \nBIDMC32SpO2 3.357586e+00 1.644120e+00 \nBIDMC32HR 1.375567e+01 4.884870e+00 \nBIDMC32RR 3.017642e+00 1.711275e+00 \nCovid3Month 4.646435e-01 4.169759e-02 \nHotwaterPredictor 2.719383e+03 1.383306e+03 \nSteamPredictor 7.616053e+04 3.152469e+04 \nChilledWaterPredictor 4.346009e+03 2.437387e+03 \nElectricityPredictor 5.745584e+02 6.066627e+02 \nGasSensorArrayEthanol 1.848965e-01 1.499463e-01 \nGasSensorArrayAcetone 2.623136e-01 1.930651e-01 \nSierraNevadaMountainsSnow 5.227692e+01 4.869493e+01 \nBitcoinSentiment 2.324026e-01 2.014305e-01 \nEthereumSentiment 2.621682e-01 2.294233e-01 \nCardanoSentiment 3.881151e-01 3.052854e-01 \nBinanceCoinSentiment 5.139279e-01 3.538278e-01 \nElectricMotorTemperature 1.198277e+01 4.698074e+00 \nSolarRadiationAndalusia 7.698799e-01 6.238755e-01 \nPrecipitationAndalusia 7.985268e-01 3.690052e-01 \nAcousticContaminationMadrid 5.387562e+00 5.126173e+00 \nVentilatorPressure 2.072326e+00 5.685455e-01 \nOccupancyDetectionLight 2.249267e+02 7.528684e+01 \nWindTurbinePower 6.220624e+04 7.424638e+01 \nDhakaHourlyAirQuality 1.245697e+01 2.702426e+00 \nDailyOilGasPrices 2.363609e+00 1.559385e+00 \nWaveDataTension 1.408012e+01 1.521209e+01 \nNaturalGasPricesSentiment 7.955113e-02 5.858841e-02 \nDailyTemperatureLatitude 1.003086e+01 2.677904e+00 \nMethaneMonitoringHomeActivity 5.887444e-01 5.244137e-01 \nLPGasMonitoringHomeActivity 1.304916e+00 1.289305e+00 \nAluminiumConcentration 2.370224e+02 2.340929e+02 \nBoronConcentration 1.802806e+00 1.885018e+00 \nCopperConcentration 1.819889e+00 1.863294e+00 \nIronConcentration 6.058250e+01 6.192114e+01 \nManganeseConcentration 8.461378e+01 7.991396e+01 \nSodiumConcentration 4.154721e+02 6.527057e+02 \nPhosphorusConcentration 2.274373e+01 2.063641e+01 \nPotassiumConcentration 2.112084e+02 1.862390e+02 \nMagnesiumConcentration 1.404055e+02 1.665049e+02 \nSulphurConcentration 2.136158e+02 2.150779e+02 \nZincConcentration 1.440314e+00 1.509911e+00 \nCalciumConcentration 2.103223e+03 1.783895e+03 \n\n SingleInception_RMSE TSF_RMSE \\\nHouseholdPowerConsumption1 116.202251 2.761883e+02 \nAppliancesEnergy 4.399413 3.752866e+00 \nHouseholdPowerConsumption2 34.585894 3.601573e+01 \nIEEEPPG 4.119866 2.047200e+01 \nFloodModeling1 0.010004 1.102917e-02 \nBeijingPM25Quality 42.008177 6.167426e+01 \nBenzeneConcentration 0.276406 4.189510e+00 \nFloodModeling3 0.010451 8.546052e-03 \nBeijingPM10Quality 66.519288 8.465717e+01 \nFloodModeling2 0.007653 5.379332e-03 \nAustraliaRainfall 15.299189 1.000000e+10 \nNewsHeadlineSentiment 0.148587 1.422297e-01 \nNewsTitleSentiment 0.142814 1.371251e-01 \nLiveFuelMoistureContent 47.022444 4.074238e+01 \nBIDMC32SpO2 0.314609 1.275249e+00 \nBIDMC32HR 0.765547 3.986727e+00 \nBIDMC32RR 0.550188 1.417203e+00 \nCovid3Month 0.074202 3.895102e-02 \nHotwaterPredictor 1162.325568 1.401285e+03 \nSteamPredictor 29823.924800 3.135775e+04 \nChilledWaterPredictor 2138.914979 2.286958e+03 \nElectricityPredictor 588.659847 6.041935e+02 \nGasSensorArrayEthanol 0.504130 1.941129e-01 \nGasSensorArrayAcetone 0.304125 2.117950e-01 \nSierraNevadaMountainsSnow 34.691728 5.180834e+01 \nBitcoinSentiment 0.224385 2.097271e-01 \nEthereumSentiment 0.257753 2.344765e-01 \nCardanoSentiment 0.357882 2.998514e-01 \nBinanceCoinSentiment 0.385787 3.479485e-01 \nElectricMotorTemperature 5.163396 8.869247e+00 \nSolarRadiationAndalusia 0.695240 6.255512e-01 \nPrecipitationAndalusia 0.388841 4.023337e-01 \nAcousticContaminationMadrid 4.429513 4.602419e+00 \nVentilatorPressure 0.406689 1.848328e+00 \nOccupancyDetectionLight 95.353950 1.024337e+02 \nWindTurbinePower 274.187508 1.170780e+02 \nDhakaHourlyAirQuality 5.476823 4.813817e+00 \nDailyOilGasPrices 2.149368 1.684828e+00 \nWaveDataTension 17.793210 1.543533e+01 \nNaturalGasPricesSentiment 0.341370 5.479847e-02 \nDailyTemperatureLatitude 1.780762 2.151806e+00 \nMethaneMonitoringHomeActivity 0.634288 5.170912e-01 \nLPGasMonitoringHomeActivity 1.385517 1.280573e+00 \nAluminiumConcentration 250.411638 2.450510e+02 \nBoronConcentration 1.801264 2.038787e+00 \nCopperConcentration 1.918499 1.902307e+00 \nIronConcentration 66.516998 6.382449e+01 \nManganeseConcentration 88.303869 8.410939e+01 \nSodiumConcentration 431.525344 3.970369e+02 \nPhosphorusConcentration 18.550513 2.034701e+01 \nPotassiumConcentration 177.300333 1.838792e+02 \nMagnesiumConcentration 135.343967 1.930456e+02 \nSulphurConcentration 210.114434 2.131277e+02 \nZincConcentration 1.659296 1.508128e+00 \nCalciumConcentration 2478.981119 2.343738e+03 \n\n XGBoost_RMSE Fedot_Industrial_best \\\nHouseholdPowerConsumption1 227.507324 99.972746 \nAppliancesEnergy 4.045985 1.924000 \nHouseholdPowerConsumption2 38.955683 34.370000 \nIEEEPPG 21.033698 29.105472 \nFloodModeling1 0.019334 0.004626 \nBeijingPM25Quality 42.147228 60.750000 \nBenzeneConcentration 0.218806 1.637000 \nFloodModeling3 0.017007 0.006690 \nBeijingPM10Quality 66.474818 96.149556 \nFloodModeling2 0.012971 0.006991 \nAustraliaRainfall 16.282844 8.663000 \nNewsHeadlineSentiment 0.142740 0.142000 \nNewsTitleSentiment 0.137670 0.138000 \nLiveFuelMoistureContent 42.553580 43.000000 \nBIDMC32SpO2 1.674734 4.791000 \nBIDMC32HR 4.975369 10.831000 \nBIDMC32RR 1.812002 3.496000 \nCovid3Month 0.044934 0.014000 \nHotwaterPredictor 1424.823440 1139.292599 \nSteamPredictor 35238.808060 29813.888024 \nChilledWaterPredictor 3137.416197 1022.114716 \nElectricityPredictor 618.172663 439.365941 \nGasSensorArrayEthanol 0.268107 0.206536 \nGasSensorArrayAcetone 0.275739 0.227163 \nSierraNevadaMountainsSnow 56.066891 29.778091 \nBitcoinSentiment 0.208650 0.220253 \nEthereumSentiment 0.252351 0.226023 \nCardanoSentiment 0.324627 0.300261 \nBinanceCoinSentiment 0.377766 0.373925 \nElectricMotorTemperature 5.312691 4.206348 \nSolarRadiationAndalusia 0.656600 0.633310 \nPrecipitationAndalusia 0.401574 0.461973 \nAcousticContaminationMadrid 5.255653 3.231754 \nVentilatorPressure 0.704912 0.972656 \nOccupancyDetectionLight 103.161750 71.678605 \nWindTurbinePower 104.971863 46.843659 \nDhakaHourlyAirQuality 4.946151 0.996620 \nDailyOilGasPrices 1.716903 1.097276 \nWaveDataTension 16.094344 15.578184 \nNaturalGasPricesSentiment 0.060197 0.050170 \nDailyTemperatureLatitude 2.942073 2.330602 \nMethaneMonitoringHomeActivity 0.556360 0.510272 \nLPGasMonitoringHomeActivity 1.383632 1.227710 \nAluminiumConcentration 295.733413 293.353253 \nBoronConcentration 2.895465 0.935570 \nCopperConcentration 2.014370 1.758711 \nIronConcentration 74.123936 80.240398 \nManganeseConcentration 96.531621 88.936249 \nSodiumConcentration 850.978348 99.421667 \nPhosphorusConcentration 24.225030 19.546838 \nPotassiumConcentration 230.535312 171.181679 \nMagnesiumConcentration 237.257738 236.562421 \nSulphurConcentration 309.202107 313.827026 \nZincConcentration 1.662117 2.102851 \nCalciumConcentration 3533.258208 2511.154578 \n\n Difference % Metric dispersion by dataset \\\nHouseholdPowerConsumption1 3.909708 27.619601 \nAppliancesEnergy 0.124929 18.433573 \nHouseholdPowerConsumption2 -5.896093 17.004424 \nIEEEPPG -24.420600 22.156923 \nFloodModeling1 0.001733 18.458389 \nBeijingPM25Quality -19.597525 15.859396 \nBenzeneConcentration -1.353166 30.551632 \nFloodModeling3 -0.001495 19.130581 \nBeijingPM10Quality -31.046866 15.590057 \nFloodModeling2 -0.002827 18.713455 \nAustraliaRainfall 5.918424 50.361015 \nNewsHeadlineSentiment -0.000418 28.232985 \nNewsTitleSentiment -0.001332 28.232985 \nLiveFuelMoistureContent -2.297114 19.333145 \nBIDMC32SpO2 -4.337798 28.232985 \nBIDMC32HR -9.854445 28.232985 \nBIDMC32RR -2.897885 28.232985 \nCovid3Month 0.023356 20.412415 \nHotwaterPredictor -64.196147 12.936500 \nSteamPredictor -478.820649 13.690419 \nChilledWaterPredictor 694.206802 13.822995 \nElectricityPredictor 15.931446 10.011093 \nGasSensorArrayEthanol -0.083125 20.406379 \nGasSensorArrayAcetone -0.080460 20.400939 \nSierraNevadaMountainsSnow 3.898200 16.307300 \nBitcoinSentiment -0.022297 8.037369 \nEthereumSentiment -0.002475 8.248480 \nCardanoSentiment -0.015981 9.648634 \nBinanceCoinSentiment -0.036581 9.403395 \nElectricMotorTemperature 0.426586 19.286989 \nSolarRadiationAndalusia -0.022433 9.556290 \nPrecipitationAndalusia -0.112200 15.151995 \nAcousticContaminationMadrid 0.047353 18.912880 \nVentilatorPressure -0.573309 28.232985 \nOccupancyDetectionLight -4.393793 20.990736 \nWindTurbinePower -2.100970 20.287725 \nDhakaHourlyAirQuality 0.757061 24.939633 \nDailyOilGasPrices 0.377897 14.066854 \nWaveDataTension -1.439890 10.047456 \nNaturalGasPricesSentiment 0.004449 17.728011 \nDailyTemperatureLatitude -0.686876 27.059306 \nMethaneMonitoringHomeActivity -0.004836 13.400291 \nLPGasMonitoringHomeActivity 0.032966 6.714723 \nAluminiumConcentration -64.741656 15.202154 \nBoronConcentration 0.663200 15.770175 \nCopperConcentration 0.058802 13.179117 \nIronConcentration -23.977095 13.974437 \nManganeseConcentration -8.850760 13.050513 \nSodiumConcentration 87.929925 19.279354 \nPhosphorusConcentration -1.711847 11.639586 \nPotassiumConcentration -3.365540 13.569614 \nMagnesiumConcentration -104.817242 17.533404 \nSulphurConcentration -111.339416 10.492794 \nZincConcentration -0.693322 13.426782 \nCalciumConcentration -699.016390 14.667538 \n\n dataset_category \nHouseholdPowerConsumption1 Hard to solve dataset \nAppliancesEnergy Normal to solve dataset \nHouseholdPowerConsumption2 Normal to solve dataset \nIEEEPPG Hard to solve dataset \nFloodModeling1 Normal to solve dataset \nBeijingPM25Quality Normal to solve dataset \nBenzeneConcentration Extraordinary Hard to solve dataset \nFloodModeling3 Normal to solve dataset \nBeijingPM10Quality Normal to solve dataset \nFloodModeling2 Normal to solve dataset \nAustraliaRainfall Extraordinary Hard to solve dataset \nNewsHeadlineSentiment Hard to solve dataset \nNewsTitleSentiment Hard to solve dataset \nLiveFuelMoistureContent Normal to solve dataset \nBIDMC32SpO2 Hard to solve dataset \nBIDMC32HR Hard to solve dataset \nBIDMC32RR Hard to solve dataset \nCovid3Month Hard to solve dataset \nHotwaterPredictor Normal to solve dataset \nSteamPredictor Normal to solve dataset \nChilledWaterPredictor Normal to solve dataset \nElectricityPredictor Normal to solve dataset \nGasSensorArrayEthanol Hard to solve dataset \nGasSensorArrayAcetone Hard to solve dataset \nSierraNevadaMountainsSnow Normal to solve dataset \nBitcoinSentiment Easy to solve dataset \nEthereumSentiment Easy to solve dataset \nCardanoSentiment Easy to solve dataset \nBinanceCoinSentiment Easy to solve dataset \nElectricMotorTemperature Normal to solve dataset \nSolarRadiationAndalusia Easy to solve dataset \nPrecipitationAndalusia Normal to solve dataset \nAcousticContaminationMadrid Normal to solve dataset \nVentilatorPressure Hard to solve dataset \nOccupancyDetectionLight Hard to solve dataset \nWindTurbinePower Hard to solve dataset \nDhakaHourlyAirQuality Hard to solve dataset \nDailyOilGasPrices Normal to solve dataset \nWaveDataTension Normal to solve dataset \nNaturalGasPricesSentiment Normal to solve dataset \nDailyTemperatureLatitude Hard to solve dataset \nMethaneMonitoringHomeActivity Normal to solve dataset \nLPGasMonitoringHomeActivity Easy to solve dataset \nAluminiumConcentration Normal to solve dataset \nBoronConcentration Normal to solve dataset \nCopperConcentration Normal to solve dataset \nIronConcentration Normal to solve dataset \nManganeseConcentration Normal to solve dataset \nSodiumConcentration Normal to solve dataset \nPhosphorusConcentration Normal to solve dataset \nPotassiumConcentration Normal to solve dataset \nMagnesiumConcentration Normal to solve dataset \nSulphurConcentration Normal to solve dataset \nZincConcentration Normal to solve dataset \nCalciumConcentration Normal to solve dataset \n\n[55 rows x 27 columns]",
"text/html": "\n\n
\n \n \n \n 1NN-DTW_RMSE \n 1NN-ED_RMSE \n 5NN-DTW_RMSE \n 5NN-ED_RMSE \n CNN_RMSE \n DrCIF_RMSE \n FCN_RMSE \n FPCR-Bs_RMSE \n FPCR_RMSE \n FreshPRINCE_RMSE \n ... \n ResNet_RMSE \n Ridge_RMSE \n RotF_RMSE \n SingleInception_RMSE \n TSF_RMSE \n XGBoost_RMSE \n Fedot_Industrial_best \n Difference % \n Metric dispersion by dataset \n dataset_category \n \n \n \n \n HouseholdPowerConsumption1 \n 417.520861 \n 534.266678 \n 363.106601 \n 507.796826 \n 6.045497e+02 \n 1.657667e+02 \n 353.211342 \n 110.606270 \n 107.061828 \n 1.040404e+02 \n ... \n 108.828881 \n 2.035437e+02 \n 1.992346e+02 \n 116.202251 \n 2.761883e+02 \n 227.507324 \n 99.972746 \n 3.909708 \n 27.619601 \n Hard to solve dataset \n \n \n AppliancesEnergy \n 5.739470 \n 5.768104 \n 4.504958 \n 4.470334 \n 4.097874e+00 \n 2.404670e+00 \n 4.452677 \n 4.500813 \n 4.419099 \n 2.053976e+00 \n ... \n 3.957921 \n 4.695629e+00 \n 2.557591e+00 \n 4.399413 \n 3.752866e+00 \n 4.045985 \n 1.924000 \n 0.124929 \n 18.433573 \n Normal to solve dataset \n \n \n HouseholdPowerConsumption2 \n 53.429559 \n 76.024116 \n 43.287550 \n 57.685928 \n 5.152938e+01 \n 3.063533e+01 \n 172.601053 \n 41.344814 \n 40.829072 \n 2.939287e+01 \n ... \n 33.304921 \n 5.771092e+01 \n 3.759094e+01 \n 34.585894 \n 3.601573e+01 \n 38.955683 \n 34.370000 \n -5.896093 \n 17.004424 \n Normal to solve dataset \n \n \n IEEEPPG \n 23.987240 \n 27.769715 \n 20.452884 \n 23.655007 \n 2.242689e+01 \n 1.247458e+01 \n 7.190419 \n 26.398372 \n 26.395514 \n 1.011591e+01 \n ... \n 5.051279 \n 4.750275e+01 \n 2.021281e+01 \n 4.119866 \n 2.047200e+01 \n 21.033698 \n 29.105472 \n -24.420600 \n 22.156923 \n Hard to solve dataset \n \n \n FloodModeling1 \n 0.013817 \n 0.018511 \n 0.013124 \n 0.019009 \n 1.723553e-02 \n 9.462636e-03 \n 0.009510 \n 0.020827 \n 0.021319 \n 8.750739e-03 \n ... \n 0.009046 \n 2.095060e-02 \n 1.798786e-02 \n 0.010004 \n 1.102917e-02 \n 0.019334 \n 0.004626 \n 0.001733 \n 18.458389 \n Normal to solve dataset \n \n \n BeijingPM25Quality \n 71.066726 \n 73.245699 \n 59.503839 \n 60.872956 \n 9.988757e+01 \n 4.712755e+01 \n 45.523481 \n 61.336023 \n 62.028248 \n 4.341873e+01 \n ... \n 44.166483 \n 6.091479e+01 \n 4.283921e+01 \n 42.008177 \n 6.167426e+01 \n 42.147228 \n 60.750000 \n -19.597525 \n 15.859396 \n Normal to solve dataset \n \n \n BenzeneConcentration \n 4.402315 \n 4.858189 \n 5.053820 \n 4.240799 \n 7.543093e+00 \n 3.666043e+00 \n 0.596533 \n 4.884306 \n 5.241220 \n 2.132254e+00 \n ... \n 0.302587 \n 1.132592e+00 \n 7.287375e-01 \n 0.276406 \n 4.189510e+00 \n 0.218806 \n 1.637000 \n -1.353166 \n 30.551632 \n Extraordinary Hard to solve dataset \n \n \n FloodModeling3 \n 0.013074 \n 0.017028 \n 0.011562 \n 0.017738 \n 1.096383e-02 \n 6.438931e-03 \n 0.009331 \n 0.018776 \n 0.019448 \n 5.582533e-03 \n ... \n 0.007282 \n 1.903150e-02 \n 1.568419e-02 \n 0.010451 \n 8.546052e-03 \n 0.017007 \n 0.006690 \n -0.001495 \n 19.130581 \n Normal to solve dataset \n \n \n BeijingPM10Quality \n 118.230571 \n 119.246110 \n 95.318785 \n 97.130645 \n 1.275990e+02 \n 7.057271e+01 \n 70.596483 \n 92.628381 \n 93.047781 \n 6.650945e+01 \n ... \n 68.418040 \n 9.235021e+01 \n 6.631563e+01 \n 66.519288 \n 8.465717e+01 \n 66.474818 \n 96.149556 \n -31.046866 \n 15.590057 \n Normal to solve dataset \n \n \n FloodModeling2 \n 0.011092 \n 0.012949 \n 0.012064 \n 0.013299 \n 1.852107e-02 \n 5.180100e-03 \n 0.004745 \n 0.014591 \n 0.013853 \n 5.027746e-03 \n ... \n 0.007550 \n 1.416184e-02 \n 7.900159e-03 \n 0.007653 \n 5.379332e-03 \n 0.012971 \n 0.006991 \n -0.002827 \n 18.713455 \n Normal to solve dataset \n \n \n AustraliaRainfall \n 17.084390 \n 17.477663 \n 16.120195 \n 15.419262 \n 1.000000e+10 \n 1.000000e+10 \n 14.820553 \n 14.822390 \n 14.821999 \n 1.000000e+10 \n ... \n 19.032231 \n 1.000000e+10 \n 1.000000e+10 \n 15.299189 \n 1.000000e+10 \n 16.282844 \n 8.663000 \n 5.918424 \n 50.361015 \n Extraordinary Hard to solve dataset \n \n \n NewsHeadlineSentiment \n 0.197916 \n 0.199315 \n 0.154958 \n 0.154884 \n 1.196766e+01 \n 1.455912e-01 \n 1.206852 \n 0.141583 \n 0.141565 \n 1.456120e-01 \n ... \n 0.147673 \n 1.435795e-01 \n 1.494606e-01 \n 0.148587 \n 1.422297e-01 \n 0.142740 \n 0.142000 \n -0.000418 \n 28.232985 \n Hard to solve dataset \n \n \n NewsTitleSentiment \n 0.192523 \n 0.192805 \n 0.149818 \n 0.149231 \n 2.308311e+01 \n 1.405348e-01 \n 1.007102 \n 0.136684 \n 0.136614 \n 1.406148e-01 \n ... \n 0.141528 \n 1.388921e-01 \n 1.441636e-01 \n 0.142814 \n 1.371251e-01 \n 0.137670 \n 0.138000 \n -0.001332 \n 28.232985 \n Hard to solve dataset \n \n \n LiveFuelMoistureContent \n 56.145576 \n 56.685415 \n 44.220169 \n 44.678597 \n 4.147725e+01 \n 4.061007e+01 \n 47.763911 \n 41.467245 \n 41.448372 \n 4.117283e+01 \n ... \n 47.347938 \n 8.350272e+02 \n 4.133734e+01 \n 47.022444 \n 4.074238e+01 \n 42.553580 \n 43.000000 \n -2.297114 \n 19.333145 \n Normal to solve dataset \n \n \n BIDMC32SpO2 \n 0.525750 \n 2.508360 \n 0.531987 \n 2.493010 \n 1.717190e+00 \n 4.198496e-01 \n 0.482227 \n 3.252909 \n 3.273603 \n 3.407657e-01 \n ... \n 0.277936 \n 3.357586e+00 \n 1.644120e+00 \n 0.314609 \n 1.275249e+00 \n 1.674734 \n 4.791000 \n -4.337798 \n 28.232985 \n Hard to solve dataset \n \n \n BIDMC32HR \n 1.944837 \n 6.544297 \n 1.904489 \n 6.990050 \n 5.229133e+00 \n 1.270281e+00 \n 1.120176 \n 13.043557 \n 13.032991 \n 1.039876e+00 \n ... \n 0.768738 \n 1.375567e+01 \n 4.884870e+00 \n 0.765547 \n 3.986727e+00 \n 4.975369 \n 10.831000 \n -9.854445 \n 28.232985 \n Hard to solve dataset \n \n \n BIDMC32RR \n 1.233577 \n 2.136593 \n 1.229752 \n 1.986163 \n 3.536865e+00 \n 9.154016e-01 \n 0.771526 \n 2.952190 \n 2.952411 \n 6.882746e-01 \n ... \n 0.481028 \n 3.017642e+00 \n 1.711275e+00 \n 0.550188 \n 1.417203e+00 \n 1.812002 \n 3.496000 \n -2.897885 \n 28.232985 \n Hard to solve dataset \n \n \n Covid3Month \n 0.054553 \n 0.053302 \n 0.041270 \n 0.040783 \n 6.759766e-02 \n 3.977303e-02 \n 0.067899 \n 199.920486 \n 0.048775 \n 3.829917e-02 \n ... \n 0.124416 \n 4.646435e-01 \n 4.169759e-02 \n 0.074202 \n 3.895102e-02 \n 0.044934 \n 0.014000 \n 0.023356 \n 20.412415 \n Hard to solve dataset \n \n \n HotwaterPredictor \n 1819.103151 \n 1906.032299 \n 1337.373398 \n 1458.866739 \n 1.174256e+03 \n 1.246468e+03 \n 1072.502657 \n 1427.171255 \n 1331.504687 \n 1.240377e+03 \n ... \n 1145.645542 \n 2.719383e+03 \n 1.383306e+03 \n 1162.325568 \n 1.401285e+03 \n 1424.823440 \n 1139.292599 \n -64.196147 \n 12.936500 \n Normal to solve dataset \n \n \n SteamPredictor \n 42924.761750 \n 55239.471520 \n 34168.975130 \n 38081.062240 \n 3.061124e+04 \n 3.113187e+04 \n 29315.721000 \n 32018.746920 \n 31246.608530 \n 3.101483e+04 \n ... \n 29429.960450 \n 7.616053e+04 \n 3.152469e+04 \n 29823.924800 \n 3.135775e+04 \n 35238.808060 \n 29813.888024 \n -478.820649 \n 13.690419 \n Normal to solve dataset \n \n \n ChilledWaterPredictor \n 3350.285304 \n 2224.276368 \n 2420.350041 \n 2200.831018 \n 2.215134e+03 \n 2.241064e+03 \n 2215.939738 \n 2364.754528 \n 2332.364049 \n 2.479203e+03 \n ... \n 2202.908042 \n 4.346009e+03 \n 2.437387e+03 \n 2138.914979 \n 2.286958e+03 \n 3137.416197 \n 1022.114716 \n 694.206802 \n 13.822995 \n Normal to solve dataset \n \n \n ElectricityPredictor \n 666.809599 \n 684.484545 \n 469.378018 \n 493.478164 \n 4.846374e+02 \n 5.874044e+02 \n 609.970047 \n 465.844347 \n 455.941085 \n 5.826548e+02 \n ... \n 589.427954 \n 5.745584e+02 \n 6.066627e+02 \n 588.659847 \n 6.041935e+02 \n 618.172663 \n 439.365941 \n 15.931446 \n 10.011093 \n Normal to solve dataset \n \n \n GasSensorArrayEthanol \n 0.342482 \n 0.282927 \n 0.268868 \n 0.265737 \n 2.017014e-01 \n 1.517741e-01 \n 0.306066 \n 0.209465 \n 0.207139 \n 1.859832e-01 \n ... \n 0.654548 \n 1.848965e-01 \n 1.499463e-01 \n 0.504130 \n 1.941129e-01 \n 0.268107 \n 0.206536 \n -0.083125 \n 20.406379 \n Hard to solve dataset \n \n \n GasSensorArrayAcetone \n 0.317429 \n 0.307368 \n 0.259960 \n 0.262321 \n 2.389416e-01 \n 1.845477e-01 \n 0.294932 \n 0.232775 \n 0.244260 \n 2.010619e-01 \n ... \n 0.548682 \n 2.623136e-01 \n 1.930651e-01 \n 0.304125 \n 2.117950e-01 \n 0.275739 \n 0.227163 \n -0.080460 \n 20.400939 \n Hard to solve dataset \n \n \n SierraNevadaMountainsSnow \n 63.580655 \n 75.131205 \n 53.707346 \n 66.961454 \n 5.431997e+01 \n 4.300014e+01 \n 36.415663 \n 46.966215 \n 47.103784 \n 3.692058e+01 \n ... \n 39.732449 \n 5.227692e+01 \n 4.869493e+01 \n 34.691728 \n 5.180834e+01 \n 56.066891 \n 29.778091 \n 3.898200 \n 16.307300 \n Normal to solve dataset \n \n \n BitcoinSentiment \n 0.260328 \n 0.264244 \n 0.207365 \n 0.207243 \n 2.462431e-01 \n 1.970548e-01 \n 0.220598 \n 0.215564 \n 0.211556 \n 2.011734e-01 \n ... \n 0.226852 \n 2.324026e-01 \n 2.014305e-01 \n 0.224385 \n 2.097271e-01 \n 0.208650 \n 0.220253 \n -0.022297 \n 8.037369 \n Easy to solve dataset \n \n \n EthereumSentiment \n 0.318791 \n 0.333878 \n 0.241217 \n 0.246046 \n 2.716099e-01 \n 2.234477e-01 \n 0.252702 \n 0.235169 \n 0.231336 \n 2.258759e-01 \n ... \n 0.255854 \n 2.621682e-01 \n 2.294233e-01 \n 0.257753 \n 2.344765e-01 \n 0.252351 \n 0.226023 \n -0.002475 \n 8.248480 \n Easy to solve dataset \n \n \n CardanoSentiment \n 0.393083 \n 0.421637 \n 0.316565 \n 0.315416 \n 4.370255e-01 \n 2.973890e-01 \n 0.304449 \n 0.342885 \n 0.333628 \n 3.017266e-01 \n ... \n 0.324041 \n 3.881151e-01 \n 3.052854e-01 \n 0.357882 \n 2.998514e-01 \n 0.324627 \n 0.300261 \n -0.015981 \n 9.648634 \n Easy to solve dataset \n \n \n BinanceCoinSentiment \n 0.484438 \n 0.500171 \n 0.372489 \n 0.383144 \n 4.094964e-01 \n 3.448162e-01 \n 0.366414 \n 0.380741 \n 0.383121 \n 3.460515e-01 \n ... \n 0.371933 \n 5.139279e-01 \n 3.538278e-01 \n 0.385787 \n 3.479485e-01 \n 0.377766 \n 0.373925 \n -0.036581 \n 9.403395 \n Easy to solve dataset \n \n \n ElectricMotorTemperature \n 8.840429 \n 9.023510 \n 7.604740 \n 7.833623 \n 1.760786e+01 \n 4.656284e+00 \n 6.593876 \n 11.969364 \n 11.979490 \n 4.650170e+00 \n ... \n 5.911347 \n 1.198277e+01 \n 4.698074e+00 \n 5.163396 \n 8.869247e+00 \n 5.312691 \n 4.206348 \n 0.426586 \n 19.286989 \n Normal to solve dataset \n \n \n SolarRadiationAndalusia \n 0.823649 \n 0.844081 \n 0.645187 \n 0.655481 \n 1.042590e+00 \n 6.216146e-01 \n 0.670086 \n 0.673903 \n 0.657212 \n 6.195325e-01 \n ... \n 0.654886 \n 7.698799e-01 \n 6.238755e-01 \n 0.695240 \n 6.255512e-01 \n 0.656600 \n 0.633310 \n -0.022433 \n 9.556290 \n Easy to solve dataset \n \n \n PrecipitationAndalusia \n 0.490903 \n 0.503864 \n 0.410596 \n 0.453094 \n 9.854324e-01 \n 3.851207e-01 \n 0.397996 \n 0.415940 \n 0.388695 \n 3.612930e-01 \n ... \n 0.409187 \n 7.985268e-01 \n 3.690052e-01 \n 0.388841 \n 4.023337e-01 \n 0.401574 \n 0.461973 \n -0.112200 \n 15.151995 \n Normal to solve dataset \n \n \n AcousticContaminationMadrid \n 5.440282 \n 6.591085 \n 5.046155 \n 5.726287 \n 6.712051e+00 \n 4.119996e+00 \n 64.512385 \n 5.664351 \n 5.620265 \n 3.281021e+00 \n ... \n 5.127297 \n 5.387562e+00 \n 5.126173e+00 \n 4.429513 \n 4.602419e+00 \n 5.255653 \n 3.231754 \n 0.047353 \n 18.912880 \n Normal to solve dataset \n \n \n VentilatorPressure \n 1.135626 \n 0.983354 \n 1.000072 \n 0.894525 \n 2.163210e+00 \n 6.166132e-01 \n 0.935243 \n 2.225154 \n 2.182645 \n 6.015145e-01 \n ... \n 0.492728 \n 2.072326e+00 \n 5.685455e-01 \n 0.406689 \n 1.848328e+00 \n 0.704912 \n 0.972656 \n -0.573309 \n 28.232985 \n Hard to solve dataset \n \n \n OccupancyDetectionLight \n 185.122574 \n 184.640670 \n 155.141891 \n 157.236274 \n 2.386848e+02 \n 8.054537e+01 \n 129.605793 \n 118.989563 \n 114.206848 \n 6.710728e+01 \n ... \n 89.718024 \n 2.249267e+02 \n 7.528684e+01 \n 95.353950 \n 1.024337e+02 \n 103.161750 \n 71.678605 \n -4.393793 \n 20.990736 \n Hard to solve dataset \n \n \n WindTurbinePower \n 276.399699 \n 586.730016 \n 238.769740 \n 466.186615 \n 9.515196e+02 \n 9.785142e+01 \n 1191.209810 \n 891.458761 \n 888.944783 \n 4.465780e+01 \n ... \n 1033.868527 \n 6.220624e+04 \n 7.424638e+01 \n 274.187508 \n 1.170780e+02 \n 104.971863 \n 46.843659 \n -2.100970 \n 20.287725 \n Hard to solve dataset \n \n \n DhakaHourlyAirQuality \n 7.448274 \n 6.442643 \n 5.133465 \n 4.632155 \n 8.680293e+00 \n 3.171020e+00 \n 10.265259 \n 12.384106 \n 12.368746 \n 1.784270e+00 \n ... \n 5.915342 \n 1.245697e+01 \n 2.702426e+00 \n 5.476823 \n 4.813817e+00 \n 4.946151 \n 0.996620 \n 0.757061 \n 24.939633 \n Hard to solve dataset \n \n \n DailyOilGasPrices \n 2.742105 \n 2.822595 \n 2.055256 \n 2.251424 \n 2.150854e+00 \n 1.594442e+00 \n 2.069046 \n 2.097964 \n 2.052389 \n 1.490442e+00 \n ... \n 1.938074 \n 2.363609e+00 \n 1.559385e+00 \n 2.149368 \n 1.684828e+00 \n 1.716903 \n 1.097276 \n 0.377897 \n 14.066854 \n Normal to solve dataset \n \n \n WaveDataTension \n 21.337284 \n 21.051859 \n 16.516183 \n 16.544666 \n 1.816305e+01 \n 1.517911e+01 \n 21.100020 \n 14.107994 \n 14.110484 \n 1.491209e+01 \n ... \n 18.332223 \n 1.408012e+01 \n 1.521209e+01 \n 17.793210 \n 1.543533e+01 \n 16.094344 \n 15.578184 \n -1.439890 \n 10.047456 \n Normal to solve dataset \n \n \n NaturalGasPricesSentiment \n 0.074277 \n 0.074651 \n 0.057354 \n 0.056623 \n 6.482931e-02 \n 5.968074e-02 \n 0.099374 \n 0.113517 \n 0.112670 \n 5.923535e-02 \n ... \n 0.143140 \n 7.955113e-02 \n 5.858841e-02 \n 0.341370 \n 5.479847e-02 \n 0.060197 \n 0.050170 \n 0.004449 \n 17.728011 \n Normal to solve dataset \n \n \n DailyTemperatureLatitude \n 2.274194 \n 2.930519 \n 2.158074 \n 3.021106 \n 5.427370e+00 \n 1.950407e+00 \n 6.156039 \n 10.660307 \n 10.700298 \n 1.782911e+00 \n ... \n 4.985807 \n 1.003086e+01 \n 2.677904e+00 \n 1.780762 \n 2.151806e+00 \n 2.942073 \n 2.330602 \n -0.686876 \n 27.059306 \n Hard to solve dataset \n \n \n MethaneMonitoringHomeActivity \n 0.693400 \n 0.694371 \n 0.540157 \n 0.541140 \n 6.367615e-01 \n 5.052408e-01 \n 0.535491 \n 0.589072 \n 0.589213 \n 5.305011e-01 \n ... \n 1.558559 \n 5.887444e-01 \n 5.244137e-01 \n 0.634288 \n 5.170912e-01 \n 0.556360 \n 0.510272 \n -0.004836 \n 13.400291 \n Normal to solve dataset \n \n \n LPGasMonitoringHomeActivity \n 1.699540 \n 1.696243 \n 1.334805 \n 1.338572 \n 1.339258e+00 \n 1.262008e+00 \n 1.297673 \n 1.306738 \n 1.306077 \n 1.295706e+00 \n ... \n 1.344633 \n 1.304916e+00 \n 1.289305e+00 \n 1.385517 \n 1.280573e+00 \n 1.383632 \n 1.227710 \n 0.032966 \n 6.714723 \n Easy to solve dataset \n \n \n AluminiumConcentration \n 382.557872 \n 358.169450 \n 324.538120 \n 306.064290 \n 2.737297e+02 \n 2.451929e+02 \n 985.815086 \n 277.958777 \n 274.385013 \n 2.699899e+02 \n ... \n 316.411353 \n 2.370224e+02 \n 2.340929e+02 \n 250.411638 \n 2.450510e+02 \n 295.733413 \n 293.353253 \n -64.741656 \n 15.202154 \n Normal to solve dataset \n \n \n BoronConcentration \n 1.993851 \n 1.861265 \n 1.909409 \n 1.982375 \n 3.608769e+00 \n 1.762709e+00 \n 5.724229 \n 1.834673 \n 1.814600 \n 1.880072e+00 \n ... \n 2.765997 \n 1.802806e+00 \n 1.885018e+00 \n 1.801264 \n 2.038787e+00 \n 2.895465 \n 0.935570 \n 0.663200 \n 15.770175 \n Normal to solve dataset \n \n \n CopperConcentration \n 2.481286 \n 2.413716 \n 1.934787 \n 1.953789 \n 2.343641e+00 \n 1.826204e+00 \n 5.178149 \n 1.900740 \n 1.925904 \n 1.845851e+00 \n ... \n 2.096999 \n 1.819889e+00 \n 1.863294e+00 \n 1.918499 \n 1.902307e+00 \n 2.014370 \n 1.758711 \n 0.058802 \n 13.179117 \n Normal to solve dataset \n \n \n IronConcentration \n 88.669240 \n 83.835078 \n 77.742182 \n 72.378913 \n 7.232745e+01 \n 6.213210e+01 \n 197.801726 \n 75.611945 \n 72.223676 \n 6.535273e+01 \n ... \n 73.217837 \n 6.058250e+01 \n 6.192114e+01 \n 66.516998 \n 6.382449e+01 \n 74.123936 \n 80.240398 \n -23.977095 \n 13.974437 \n Normal to solve dataset \n \n \n ManganeseConcentration \n 121.990065 \n 118.427219 \n 101.108313 \n 98.898216 \n 9.280130e+01 \n 8.128308e+01 \n 229.354966 \n 98.033724 \n 99.584134 \n 8.462758e+01 \n ... \n 97.229102 \n 8.461378e+01 \n 7.991396e+01 \n 88.303869 \n 8.410939e+01 \n 96.531621 \n 88.936249 \n -8.850760 \n 13.050513 \n Normal to solve dataset \n \n \n SodiumConcentration \n 659.380735 \n 620.198671 \n 453.954204 \n 444.132225 \n 3.993961e+02 \n 3.127763e+02 \n 469.649236 \n 399.916772 \n 410.500936 \n 4.079309e+02 \n ... \n 478.427281 \n 4.154721e+02 \n 6.527057e+02 \n 431.525344 \n 3.970369e+02 \n 850.978348 \n 99.421667 \n 87.929925 \n 19.279354 \n Normal to solve dataset \n \n \n PhosphorusConcentration \n 22.153652 \n 21.424030 \n 24.305616 \n 23.357350 \n 2.783047e+01 \n 1.906393e+01 \n 42.623989 \n 26.104236 \n 25.922738 \n 1.914935e+01 \n ... \n 20.737713 \n 2.274373e+01 \n 2.063641e+01 \n 18.550513 \n 2.034701e+01 \n 24.225030 \n 19.546838 \n -1.711847 \n 11.639586 \n Normal to solve dataset \n \n \n PotassiumConcentration \n 242.027142 \n 221.960612 \n 223.386480 \n 224.239115 \n 2.614602e+02 \n 1.676802e+02 \n 497.219697 \n 272.228356 \n 262.982471 \n 1.748586e+02 \n ... \n 182.300959 \n 2.112084e+02 \n 1.862390e+02 \n 177.300333 \n 1.838792e+02 \n 230.535312 \n 171.181679 \n -3.365540 \n 13.569614 \n Normal to solve dataset \n \n \n MagnesiumConcentration \n 298.216850 \n 228.529714 \n 277.321165 \n 248.002202 \n 2.983644e+02 \n 1.608196e+02 \n 1112.378767 \n 324.661186 \n 293.109564 \n 1.679659e+02 \n ... \n 166.348644 \n 1.404055e+02 \n 1.665049e+02 \n 135.343967 \n 1.930456e+02 \n 237.257738 \n 236.562421 \n -104.817242 \n 17.533404 \n Normal to solve dataset \n \n \n SulphurConcentration \n 251.901880 \n 251.159147 \n 221.083366 \n 217.302684 \n 2.465601e+02 \n 2.060873e+02 \n 279.789674 \n 201.620532 \n 201.470538 \n 2.224243e+02 \n ... \n 208.013712 \n 2.136158e+02 \n 2.150779e+02 \n 210.114434 \n 2.131277e+02 \n 309.202107 \n 313.827026 \n -111.339416 \n 10.492794 \n Normal to solve dataset \n \n \n ZincConcentration \n 1.828631 \n 1.889708 \n 1.540422 \n 1.540109 \n 1.496162e+00 \n 1.429352e+00 \n 4.265433 \n 1.436632 \n 1.454666 \n 1.589329e+00 \n ... \n 1.638925 \n 1.440314e+00 \n 1.509911e+00 \n 1.659296 \n 1.508128e+00 \n 1.662117 \n 2.102851 \n -0.693322 \n 13.426782 \n Normal to solve dataset \n \n \n CalciumConcentration \n 4236.151380 \n 3027.549129 \n 3446.114173 \n 3095.929708 \n 3.247370e+03 \n 1.938747e+03 \n 3539.993435 \n 3094.429853 \n 2983.270751 \n 2.189777e+03 \n ... \n 3026.672964 \n 2.103223e+03 \n 1.783895e+03 \n 2478.981119 \n 2.343738e+03 \n 3533.258208 \n 2511.154578 \n -699.016390 \n 14.667538 \n Normal to solve dataset \n \n \n
\n
55 rows × 27 columns
\n
"
},
- "execution_count": 41,
+ "execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
diff --git a/examples/pipeline_example/time_series/ts_classification/advanced_example.py b/examples/pipeline_example/time_series/ts_classification/advanced_example.py
deleted file mode 100644
index 52b61620b..000000000
--- a/examples/pipeline_example/time_series/ts_classification/advanced_example.py
+++ /dev/null
@@ -1,65 +0,0 @@
-
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-from fedot_ind.api.utils.data import init_input_data
-from fedot_ind.tools.example_utils import evaluate_metric
-from fedot_ind.tools.loader import DataLoader
-from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels
-
-metric_dict = {}
-
-model_dict = {
- 'eigen_basis_basic': PipelineBuilder().add_node(
- 'eigen_basis',
- params={'window_size': 10, 'low_rank_approximation': False}).add_node(
- 'quantile_extractor',
- params={'window_size': 50}).add_node(
- 'rf'),
-
- 'eigen_basis_advanced': PipelineBuilder().add_node(
- 'eigen_basis', params={'window_size': 10, 'low_rank_approximation': False}).
- add_node('feature_filter_model', params={
- 'grouping_level': 0.5}).add_node(
- 'quantile_extractor', params={'window_size': 50}).add_node(
- 'rf')}
-
-datasets_bad_f1 = [
- 'EOGVerticalSignal',
- # 'ScreenType',
- # 'CricketY',
- # 'ElectricDevices',
- 'Lightning7'
-]
-
-# datasets_good_f1 = [
-# 'Car',
-# 'ECG5000',
-# "Beef"
-# ]
-#
-# datasets_good_roc = [
-# 'Chinatown',
-# 'Computers',
-# 'Earthquakes',
-# 'Ham',
-# 'ECG200',
-# 'ECGFiveDays',
-# 'MiddlePhalanxOutlineCorrect',
-# 'MoteStrain',
-# 'TwoLeadECG'
-# ]
-
-if __name__ == "__main__":
- OperationTypesRepository = IndustrialModels().setup_repository()
- for dataset_name in datasets_bad_f1:
- train_data, test_data = DataLoader(
- dataset_name=dataset_name).load_data()
- input_data = init_input_data(train_data[0], train_data[1])
- val_data = init_input_data(test_data[0], test_data[1])
- for model in model_dict.keys():
- pipeline = model_dict[model].build()
- pipeline.fit(input_data)
- features = pipeline.predict(val_data, 'labels').predict
- metric = evaluate_metric(target=test_data[1], prediction=features)
- metric_dict.update({f'{dataset_name}_{model}': metric})
- print(f'{dataset_name}_{model} - {metric}')
- print(metric_dict)
diff --git a/examples/pipeline_example/time_series/ts_classification/basic_example.py b/examples/pipeline_example/time_series/ts_classification/basic_example.py
deleted file mode 100644
index 9833ef85c..000000000
--- a/examples/pipeline_example/time_series/ts_classification/basic_example.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import matplotlib
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-
-model_dict = {'basic_quantile': PipelineBuilder().add_node('quantile_extractor',
- params={'window_size': 10,
- 'stride': 5}).add_node('rf'),
- 'basic_topological': PipelineBuilder().add_node('topological_extractor',
- params={'window_size': 10,
- 'stride': 5}).add_node('rf'),
- 'basic_recurrence': PipelineBuilder().add_node('recurrence_extractor',
- params={'window_size': 10,
- 'stride': 5}).add_node('rf'),
- 'advanced_quantile': PipelineBuilder().add_node('fourier_basis').add_node('quantile_extractor',
- params={
- 'window_size': 10}).add_node(
- 'rf'),
- 'advanced_topological': PipelineBuilder().add_node('eigen_basis').add_node('topological_extractor',
- params={'stride': 20,
- 'window_size': 10}).add_node(
- 'rf'),
- 'advanced_reccurence': PipelineBuilder().add_node('wavelet_basis').add_node(
- 'recurrence_extractor',
- params={'window_size': 0}).add_node(
- 'rf')
- }
diff --git a/examples/pipeline_example/time_series/ts_classification/nn_example.py b/examples/pipeline_example/time_series/ts_classification/nn_example.py
deleted file mode 100644
index 4c1af11fe..000000000
--- a/examples/pipeline_example/time_series/ts_classification/nn_example.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import pandas as pd
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-from examples.example_utils import evaluate_metric, init_input_data
-from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels
-from fedot_ind.tools.loader import DataLoader
-
-if __name__ == "__main__":
- dataset_list = [
- 'Lightning2',
- 'EOGVerticalSignal']
- result_dict = {}
- pipeline_dict = {'inception_model': PipelineBuilder().add_node('inception_model', params={'epochs': 100,
- 'batch_size': 10}),
-
- 'quantile_rf_model': PipelineBuilder()
- .add_node('quantile_extractor')
- .add_node('rf'),
- 'composed_model': PipelineBuilder()
- .add_node('inception_model', params={'epochs': 100,
- 'batch_size': 10})
- .add_node('quantile_extractor', branch_idx=1)
- .add_node('rf', branch_idx=1)
- .join_branches('logit')}
-
- for dataset in dataset_list:
- try:
- train_data, test_data = DataLoader(
- dataset_name=dataset).load_data()
- input_data = init_input_data(train_data[0], train_data[1])
- val_data = init_input_data(test_data[0], test_data[1])
- metric_dict = {}
- for model in pipeline_dict:
- with IndustrialModels():
- pipeline = pipeline_dict[model].build()
- pipeline.fit(input_data)
- target = pipeline.predict(val_data).predict
- metric = evaluate_metric(
- target=test_data[1], prediction=target)
- metric_dict.update({model: metric})
- result_dict.update({dataset: metric_dict})
- except Exception:
- print('ERROR')
- result_df = pd.DataFrame(result_dict)
- print(result_df)
diff --git a/examples/pipeline_example/time_series/ts_regression/advanced_regression.py b/examples/pipeline_example/time_series/ts_regression/advanced_regression.py
deleted file mode 100644
index 6e9492366..000000000
--- a/examples/pipeline_example/time_series/ts_regression/advanced_regression.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-
-from fedot_ind.api.utils.input_data import init_input_data
-from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels
-from fedot_ind.tools.loader import DataLoader
-
-dataset_name = 'AppliancesEnergy'
-train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()
-train_data = init_input_data(train_data[0], train_data[1], task='regression')
-test_data = init_input_data(test_data[0], test_data[1], task='regression')
-with IndustrialModels():
- pipeline = PipelineBuilder().add_node('quantile_extractor').add_node(
- 'fedot_regr', params={'timeout': 2}).build()
- pipeline.fit(train_data)
- pred = pipeline.predict(test_data).predict
- print(pred)
diff --git a/examples/pipeline_example/time_series/ts_regression/basic_example.py b/examples/pipeline_example/time_series/ts_regression/basic_example.py
deleted file mode 100644
index 702e86a11..000000000
--- a/examples/pipeline_example/time_series/ts_regression/basic_example.py
+++ /dev/null
@@ -1,80 +0,0 @@
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-
-from examples.example_utils import calculate_regression_metric
-from fedot_ind.api.utils.data import init_input_data
-from fedot_ind.api.utils.path_lib import PROJECT_PATH
-from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels
-from fedot_ind.tools.loader import DataLoader
-
-model_dict = {
- 'regression_with_statistical_features': PipelineBuilder().add_node('quantile_extractor',
- params={'window_size': 5}).add_node('ridge'),
- 'regression_pca_with_statistical_features': PipelineBuilder().add_node('quantile_extractor',
- params={'window_size': 5})
- .add_node('pca', params={'n_components': 0.9})
- .add_node('ridge'),
- 'regression_with_reccurence_features': PipelineBuilder().add_node('recurrence_extractor',
- params={'window_size': 20}).add_node('ridge'),
- 'regression_pca_with_reccurence_features': PipelineBuilder().add_node('recurrence_extractor',
- params={'window_size': 20})
- .add_node('pca', params={'n_components': 0.9})
- .add_node('ridge'),
- 'regression_with_topological_features': PipelineBuilder().add_node('topological_extractor',
- params={'window_size': 20})
- .add_node('pca', params={'n_components': 0.9})
- .add_node('ridge'),
- 'regression_pca_with_topological_features': PipelineBuilder().add_node('topological_extractor',
- params={'window_size': 20})
- .add_node('pca', params={'n_components': 0.9})
- .add_node('ridge')
-}
-metric_dict = {}
-
-data_path = PROJECT_PATH + '/examples/data'
-dataset_list = [
- # 'AppliancesEnergy',
- # 'AustraliaRainfall',
- # 'BeijingPM10Quality',
- # 'BeijingPM25Quality',
- # 'BenzeneConcentration',
- # 'HouseholdPowerConsumption1',
- # 'HouseholdPowerConsumption2',
- # 'IEEEPPG',
- # 'FloodModeling1',
- # 'FloodModeling2',
- # 'FloodModeling3'
- # 'LiveFuelMoistureContent',
- # 'BIDMC32HR',
- # 'BIDMC32RR',
- # 'BIDMC32SpO2',
- # 'DailyOilGasPrices',
- # 'ElectricityPredictor',
- # 'OccupancyDetectionLight',
- # 'SolarRadiationAndalusia',
- # 'TetuanEnergyConsumption',
- # 'WindTurbinePower',
- # 'ElectricMotorTemperature',
- # 'LPGasMonitoringHomeActivity',
- # 'GasSensorArrayAcetone',
- # 'GasSensorArrayEthanol',
- # 'WaveTensionData'
-]
-
-if __name__ == "__main__":
- dataset_name = 'MadridPM10Quality-no-missing'
- with IndustrialModels():
- _, train_data, test_data = DataLoader(dataset_name=dataset_name).read_train_test_files(
- dataset_name=dataset_name,
- data_path=data_path)
- for model in model_dict.keys():
- pipeline = model_dict[model].build()
- input_data = init_input_data(
- train_data[0], train_data[1], task='regression')
- val_data = init_input_data(
- test_data[0], test_data[1], task='regression')
- pipeline.fit(input_data)
- features = pipeline.predict(val_data).predict
- metric = calculate_regression_metric(
- test_target=test_data[1], labels=features)
- metric_dict.update({model: metric})
- print(metric_dict)
diff --git a/examples/pipeline_example/time_series/ts_regression/multi_ts_example.py b/examples/pipeline_example/time_series/ts_regression/multi_ts_example.py
deleted file mode 100644
index 280a83efb..000000000
--- a/examples/pipeline_example/time_series/ts_regression/multi_ts_example.py
+++ /dev/null
@@ -1,208 +0,0 @@
-import os
-
-from fedot_ind.core.architecture.settings.computational import backend_methods as np
-import pandas as pd
-from fedot.api.main import Fedot
-from fedot.core.data.data import InputData
-from fedot.core.pipelines.node import PipelineNode
-from fedot.core.pipelines.pipeline import Pipeline
-from fedot.core.pipelines.pipeline_builder import PipelineBuilder
-from fedot.core.repository.dataset_types import DataTypesEnum
-from fedot.core.repository.tasks import Task, TaskTypesEnum
-from sklearn.decomposition import PCA
-from sklearn.metrics import explained_variance_score, max_error, mean_absolute_error, \
- mean_squared_error, d2_absolute_error_score, \
- median_absolute_error, r2_score
-
-from fedot_ind.tools.loader import DataLoader
-from fedot_ind.core.models.quantile.quantile_extractor import QuantileExtractor
-from fedot_ind.core.models.recurrence.reccurence_extractor import RecurrenceExtractor
-
-model_dict = {'regression_with_statistical_features': PipelineBuilder().add_node('data_driven_basis_for_forecasting',
- params={'window_size': 10,
- }
- ),
- 'regression_with_reccurence_features': PipelineBuilder().add_node('recurrence_extractor')}
-
-datasets = {
- 'm4_yearly': f'../data/ts/M4YearlyTest.csv',
- 'm4_weekly': f'../data/ts/M4WeeklyTest.csv',
- 'm4_daily': f'../data/ts/M4DailyTest.csv',
- 'm4_monthly': f'../data/ts/M4MonthlyTest.csv',
- 'm4_quarterly': f'../data/ts/M4QuarterlyTest.csv'}
-
-forecast_length = 13
-
-
-def init_input(X, y):
- input_data = InputData(idx=np.arange(len(X)),
- features=np.array(X.values.tolist()),
- target=y.reshape(-1, 1),
- task=Task(TaskTypesEnum.classification),
- data_type=DataTypesEnum.image)
- input_data.features = np.where(
- np.isnan(input_data.features), 0, input_data.features)
- input_data.features = np.where(
- np.isinf(input_data.features), 0, input_data.features)
- return input_data
-
-
-def prepare_features(dataset_name,
- pca_n_components: float = 0.95,
- feature_generator: list = ['statistical'],
- reduce_dimension: bool = False):
- train_data, test_data = DataLoader(dataset_name=dataset_name).load_data()
-
- train_target = np.array([float(i) for i in train_data[1]])
- test_target = np.array([float(i) for i in test_data[1]])
- train_input_data = init_input(train_data[0], train_target)
- test_input_data = init_input(test_data[0], test_target)
-
- generator_dict = {'statistical': QuantileExtractor({'window_mode': False,
- 'window_size': 10,
- 'var_threshold': 0}),
- 'reccurence': RecurrenceExtractor({'window_mode': True,
- 'min_signal_ratio': 0.7,
- 'max_signal_ratio': 0.9,
- 'rec_metric': 'cosine'
- })
- }
- train_features_list, test_features_list = [], []
- for extractor in feature_generator:
- extractor = generator_dict[extractor]
- extracted_features_train = extractor.transform(train_input_data)
- train_size = extracted_features_train.predict.shape
- train_features = extracted_features_train.predict
-
- extracted_features_test = extractor.transform(test_input_data)
- test_size = extracted_features_test.predict.shape
- test_features = extracted_features_test.predict
-
- if reduce_dimension:
- pca = PCA(n_components=pca_n_components,
- svd_solver='full')
- train_features = pca.fit_transform(train_features)
- test_features = pca.transform(test_features)
- train_features_list.append(
- train_features), test_features_list.append(test_features)
-
- return train_features_list, train_target, test_features_list, test_target
-
-
-def calculate_metric(test_target, labels):
- metric_dict = {'r2_score:': r2_score(test_target, labels),
- 'mean_squared_error:': mean_squared_error(test_target, labels),
- 'root_mean_squared_error:': np.sqrt(mean_squared_error(test_target, labels)),
- 'mean_absolute_error': mean_absolute_error(test_target, labels),
- 'median_absolute_error': median_absolute_error(test_target, labels),
- 'explained_variance_score': explained_variance_score(test_target, labels),
- 'max_error': max_error(test_target, labels),
- # 'mean_poisson_deviance': mean_poisson_deviance(test_target, labels),
- # 'mean_gamma_deviance': mean_gamma_deviance(test_target, labels),
- 'd2_absolute_error_score': d2_absolute_error_score(test_target, labels)
- }
- df = pd.DataFrame.from_dict(metric_dict, orient='index')
- return df
-
-
-def evaluate_baseline(train, train_target, test, test_target):
- node_scaling = PipelineNode('scaling')
- node_rfr = PipelineNode('lasso', nodes_from=[node_scaling])
- baseline_model = Pipeline(node_rfr)
- input_fit = InputData(idx=np.arange(len(train)),
- features=train,
- target=train_target.reshape(-1, 1),
- task=Task(TaskTypesEnum.regression),
- data_type=DataTypesEnum.image)
- input_predict = InputData(idx=np.arange(len(test)),
- features=test,
- target=test_target.reshape(-1, 1),
- task=Task(TaskTypesEnum.regression),
- data_type=DataTypesEnum.image)
-
- baseline_model.fit(input_fit)
- labels_baseline = baseline_model.predict(input_predict).predict
- metric_df_baseline = calculate_metric(test_target, labels_baseline)
- return metric_df_baseline
-
-
-if __name__ == "__main__":
- dataset_list = [
- # 'Gazprom',
- # 'AppliancesEnergy',
- # 'AustraliaRainfall',
- # 'BeijingPM10Quality',
- # 'BeijingPM25Quality',
- # 'BenzeneConcentration',
- # 'HouseholdPowerConsumption1',
- # 'HouseholdPowerConsumption2',
- # 'IEEEPPG',
- # 'FloodModeling1',
- 'FloodModeling2',
- 'FloodModeling3'
- 'LiveFuelMoistureContent',
- 'BIDMC32HR',
- 'BIDMC32RR',
- 'BIDMC32SpO2',
- 'DailyOilGasPrices',
- 'ElectricityPredictor',
- 'OccupancyDetectionLight',
- 'SolarRadiationAndalusia',
- 'TetuanEnergyConsumption',
- 'WindTurbinePower',
- 'ElectricMotorTemperature',
- 'LPGasMonitoringHomeActivity',
- 'GasSensorArrayAcetone',
- 'GasSensorArrayEthanol',
- 'WaveTensionData'
-
- ]
- ten_minutes = range(0, 3, 1)
- one_hour = ['1hr']
- for dataset_name in dataset_list:
- try:
- os.makedirs(f'./{dataset_name}')
- except Exception:
- _ = 1
-
- train_features, train_target, test_features, test_target = prepare_features(dataset_name=dataset_name,
- reduce_dimension=False,
- feature_generator=[
- 'statistical'
- # ,'reccurence'
- ])
- if len(train_features) > 1:
- concatenate_train = np.concatenate(train_features, axis=1)
- concatenate_test = np.concatenate(test_features, axis=1)
- train_features.append(concatenate_train)
- test_features.append(concatenate_test)
- else:
- concatenate_train = train_features[0]
- concatenate_test = test_features[0]
-
- for train, test in zip(train_features, test_features):
- metric_df_baseline = evaluate_baseline(
- train, train_target, test, test_target)
- print(metric_df_baseline)
- metric_df_baseline.to_csv(f'./{dataset_name}/baseline_metrics.csv')
-
- for run in one_hour:
- predictor = Fedot(problem='regression',
- metric='rmse',
- timeout=60,
- early_stopping_timeout=30,
- logging_level=20,
- n_jobs=6)
- model = predictor.fit(
- features=concatenate_train, target=train_target)
- labels = predictor.predict(features=concatenate_test)
- metric_df = calculate_metric(test_target, labels)
- metric_df.to_csv(f'./{dataset_name}/metrics_run_{run}.csv')
- pipeline = predictor.current_pipeline
- pipeline.show(f'./{dataset_name}/pipeline_structure_{run}.png')
- predictor.history.save(f'./{dataset_name}/history_run_{run}.json')
- path_to_save = f'./{dataset_name}/saved_pipelines_run_{run}'
- pipeline.save(path=path_to_save, create_subdir=True,
- is_datetime_in_path=True)
-
- _ = 1
diff --git a/examples/real_world_examples/industrial_examples/economic_analysis/oil_gas_prices.ipynb b/examples/real_world_examples/industrial_examples/economic_analysis/oil_gas_prices.ipynb
index d63c6a47a..fb3233224 100644
--- a/examples/real_world_examples/industrial_examples/economic_analysis/oil_gas_prices.ipynb
+++ b/examples/real_world_examples/industrial_examples/economic_analysis/oil_gas_prices.ipynb
@@ -40,30 +40,10 @@
"outputs": [],
"source": [
"import pandas as pd\n",
- "\n",
"from fedot_ind.api.utils.path_lib import PROJECT_PATH\n",
"from fedot.core.pipelines.pipeline_builder import PipelineBuilder\n",
"from fedot_ind.tools.loader import DataLoader\n",
- "from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels\n",
- "from examples.example_utils import init_input_data, calculate_regression_metric\n",
- "from fedot.core.pipelines.tuning.tuner_builder import TunerBuilder\n",
- "from fedot.core.repository.metrics_repository import RegressionMetricsEnum\n",
- "from fedot_ind.core.optimizer.IndustrialEvoOptimizer import IndustrialEvoOptimizer\n",
- "from golem.core.tuning.simultaneous import SimultaneousTuner\n",
- "import matplotlib\n",
- "from fedot_ind.api.main import FedotIndustrial\n",
- "matplotlib.use('TkAgg')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "pycharm": {
- "name": "#%% md\n"
- }
- },
- "source": [
- "The list of basic fedot industrial models for experiment are shown below. We using simple linear machine learning pipelines with 3 different feature generators: Statistical, Reccurence, Topological. And for each of them we add PCA transformation with 90 % of explained dispersion."
+ "from fedot_ind.api.main import FedotIndustrial"
]
},
{
@@ -71,52 +51,13 @@
"execution_count": 2,
"outputs": [],
"source": [
- "model_dict = {\n",
- " 'regression_with_statistical_features': PipelineBuilder().add_node('quantile_extractor',\n",
- " params={'window_size': 5}).add_node('ridge')\n",
- "}\n",
- "experiment_setup = {'problem': 'regression',\n",
- " 'metric': 'rmse',\n",
- " 'timeout': 10,\n",
- " 'num_of_generations': 5,\n",
- " 'pop_size': 10,\n",
- " 'logging_level': 40,\n",
- " 'available_operations':\n",
- " ['rfr',\n",
- " 'ridge',\n",
- " 'gbr',\n",
- " 'sgdr',\n",
- " 'linear',\n",
- " 'xgbreg',\n",
- " 'dtreg',\n",
- " 'treg',\n",
- " 'knnreg',\n",
- " 'scaling',\n",
- " 'normalization',\n",
- " 'pca'\n",
- " 'eigen_basis',\n",
- " 'fourier_basis',\n",
- " 'minirocket_extractor',\n",
- " 'quantile_extractor',\n",
- " 'signal_extractor'\n",
- " ],\n",
- " 'n_jobs': 4,\n",
- " 'industrial_preprocessing': True,\n",
- " 'initial_assumption': None,\n",
- " 'max_pipeline_fit_time': 5,\n",
- " 'with_tuning': False,\n",
- " 'early_stopping_iterations': 5,\n",
- " 'early_stopping_timeout': 10,\n",
- " 'optimizer': IndustrialEvoOptimizer}\n",
- "\n",
- "dataset_name = 'DailyOilGasPrices'\n",
- "data_path = PROJECT_PATH + '/examples/data'\n",
- "experiment_setup['output_folder'] = f'./{dataset_name}/results_of_experiment'\n",
- "OperationTypesRepository = IndustrialModels().setup_repository()\n",
- "tuning_params = {'task': 'regression',\n",
- " 'metric': RegressionMetricsEnum.RMSE,\n",
- " 'tuning_timeout':10,\n",
- " 'tuning_iterations':30}"
+ "def evaluate_loop(api_params, finetune: bool = False):\n",
+ " industrial = FedotIndustrial(**api_params)\n",
+ " if finetune:\n",
+ " industrial.finetune(train_data)\n",
+ " else:\n",
+ " industrial.fit(train_data)\n",
+ " return industrial"
],
"metadata": {
"collapsed": false,
@@ -125,64 +66,31 @@
}
}
},
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "The list of basic fedot industrial models for experiment are shown below. We using simple linear machine learning pipelines with 3 different feature generators: Statistical, Reccurence, Topological. And for each of them we add PCA transformation with 90 % of explained dispersion."
+ ]
+ },
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 3,
"outputs": [],
"source": [
- "def evaluate_industrial_model(train_data, test_data, task:str = 'regression'):\n",
- " metric_dict = {}\n",
- " input_data = init_input_data(train_data[0], train_data[1], task=task)\n",
- " val_data = init_input_data(test_data[0], test_data[1], task=task)\n",
- " for model in model_dict.keys():\n",
- " print(f'Current_model - {model}')\n",
- " pipeline = model_dict[model].build()\n",
- " pipeline.fit(input_data)\n",
- " features = pipeline.predict(val_data).predict\n",
- " metric = calculate_regression_metric(test_target=test_data[1], labels=features)\n",
- " metric_dict.update({model: metric})\n",
- " return metric_dict\n",
- "\n",
- "def tuning_industrial_pipelines(pipeline, tuning_params, train_data):\n",
- " input_data = init_input_data(train_data[0], train_data[1], task=tuning_params['task'])\n",
- " tuning_method = SimultaneousTuner\n",
- " pipeline_tuner = TunerBuilder(input_data.task) \\\n",
- " .with_tuner(tuning_method) \\\n",
- " .with_metric(tuning_params['metric']) \\\n",
- " .with_timeout(tuning_params['tuning_timeout']) \\\n",
- " .with_iterations(tuning_params['tuning_iterations']) \\\n",
- " .build(input_data)\n",
- "\n",
- " pipeline = pipeline_tuner.tune(pipeline)\n",
- " return pipeline\n",
- "\n",
- "def evaluate_automl(runs = 5):\n",
- " metric_dict = {}\n",
- " model_list = []\n",
- "\n",
- " if 'tuning_params' in experiment_setup.keys():\n",
- " del experiment_setup['tuning_params']\n",
- "\n",
- " if 'industrial_preprocessing' in experiment_setup.keys():\n",
- " ind_preproc = experiment_setup['industrial_preprocessing']\n",
- " del experiment_setup['industrial_preprocessing']\n",
- " else:\n",
- " ind_preproc = True\n",
- "\n",
- " for run in range(runs):\n",
- " model = FedotIndustrial(**experiment_setup)\n",
- " model.preprocessing = ind_preproc\n",
- " model.fit(train_data)\n",
- " prediction = model.predict(test_data)\n",
- "\n",
- " metric = calculate_regression_metric(test_target=test_data[1], labels=prediction)\n",
- " metric = metric.T\n",
- " metric.columns = metric.columns.values\n",
- "\n",
- " metric_dict.update({f'run_number - {run}':metric})\n",
- " model_list.append(model)\n",
- "\n",
- " return metric_dict, model_list"
+ "initial_assumption = PipelineBuilder().add_node('quantile_extractor').add_node('treg')\n",
+ "params = dict(problem='regression',\n",
+ " metric='rmse',\n",
+ " timeout=15,\n",
+ " initial_assumption=initial_assumption,\n",
+ " n_jobs=2,\n",
+ " logging_level=20)\n",
+ "dataset_name = 'DailyOilGasPrices'\n",
+ "data_path = PROJECT_PATH + '/examples/data'"
],
"metadata": {
"collapsed": false,
@@ -219,7 +127,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "2024-01-11 17:08:08,298 - Reading data from D:\\WORK\\Repo\\Industiral\\IndustrialTS/examples/data/DailyOilGasPrices\n"
+ "2024-04-03 16:08:27,693 - Reading data from D:\\WORK\\Repo\\Industiral\\IndustrialTS/examples/data/DailyOilGasPrices\n"
]
}
],
@@ -234,8 +142,8 @@
"execution_count": 5,
"outputs": [],
"source": [
- "input_data = init_input_data(train_data[0], train_data[1], task=tuning_params['task'])\n",
- "val_data = init_input_data(test_data[0], test_data[1], task=tuning_params['task'])"
+ "import numpy as np\n",
+ "features = np.array(train_data[0].values.tolist()).astype(float)"
],
"metadata": {
"collapsed": false,
@@ -270,7 +178,7 @@
}
],
"source": [
- "input_data.features.shape"
+ "features.shape"
],
"metadata": {
"collapsed": false,
@@ -293,12 +201,12 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 30,
"outputs": [],
"source": [
"from matplotlib import pyplot as plt\n",
- "pd.DataFrame(input_data.features[1, 0, :]).plot(title='Crude Oil WTI close prices')\n",
- "pd.DataFrame(input_data.features[1, 1, :]).plot(title='Crude Oil WTI traded volumes')\n",
+ "pd.DataFrame(features[1, 0, :]).plot(title='Crude Oil WTI close prices')\n",
+ "pd.DataFrame(features[1, 1, :]).plot(title='Crude Oil WTI traded volumes')\n",
"plt.show()"
],
"metadata": {
@@ -338,76 +246,801 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Current_model - regression_with_statistical_features\n"
+ "2024-04-03 16:10:18,852 - Initialising experiment setup\n",
+ "2024-04-03 16:10:18,855 - Initialising Industrial Repository\n",
+ "2024-04-03 16:10:18,971 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-03 16:10:19,445 - To route to workers diagnostics web server please install jupyter-server-proxy: python -m pip install jupyter-server-proxy\n",
+ "2024-04-03 16:10:19,478 - State start\n",
+ "2024-04-03 16:10:19,480 - Found stale lock file and directory 'C:\\\\Users\\\\user\\\\AppData\\\\Local\\\\Temp\\\\dask-scratch-space\\\\scheduler-dz5roxue', purging\n",
+ "2024-04-03 16:10:19,482 - Found stale lock file and directory 'C:\\\\Users\\\\user\\\\AppData\\\\Local\\\\Temp\\\\dask-scratch-space\\\\worker-er2nmzvc', purging\n",
+ "2024-04-03 16:10:19,490 - Scheduler at: inproc://10.64.4.217/22788/1\n",
+ "2024-04-03 16:10:19,491 - dashboard at: http://10.64.4.217:8787/status\n",
+ "2024-04-03 16:10:19,492 - Registering Worker plugin shuffle\n",
+ "2024-04-03 16:10:19,505 - Start worker at: inproc://10.64.4.217/22788/4\n",
+ "2024-04-03 16:10:19,506 - Listening to: inproc10.64.4.217\n",
+ "2024-04-03 16:10:19,506 - Worker name: 0\n",
+ "2024-04-03 16:10:19,507 - dashboard at: 10.64.4.217:55039\n",
+ "2024-04-03 16:10:19,507 - Waiting to connect to: inproc://10.64.4.217/22788/1\n",
+ "2024-04-03 16:10:19,508 - -------------------------------------------------\n",
+ "2024-04-03 16:10:19,508 - Threads: 8\n",
+ "2024-04-03 16:10:19,509 - Memory: 31.95 GiB\n",
+ "2024-04-03 16:10:19,509 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-y1km3sqr\n",
+ "2024-04-03 16:10:19,509 - -------------------------------------------------\n",
+ "2024-04-03 16:10:19,514 - Register worker \n",
+ "2024-04-03 16:10:19,516 - Starting worker compute stream, inproc://10.64.4.217/22788/4\n",
+ "2024-04-03 16:10:19,517 - Starting established connection to inproc://10.64.4.217/22788/5\n",
+ "2024-04-03 16:10:19,518 - Starting Worker plugin shuffle\n",
+ "2024-04-03 16:10:19,519 - Registered to: inproc://10.64.4.217/22788/1\n",
+ "2024-04-03 16:10:19,520 - -------------------------------------------------\n",
+ "2024-04-03 16:10:19,521 - Starting established connection to inproc://10.64.4.217/22788/1\n",
+ "2024-04-03 16:10:19,524 - Receive client connection: Client-85742180-f1bb-11ee-9904-b42e99a00ea1\n",
+ "2024-04-03 16:10:19,526 - Starting established connection to inproc://10.64.4.217/22788/6\n",
+ "2024-04-03 16:10:19,527 - LinK Dask Server - http://10.64.4.217:8787/status\n",
+ "2024-04-03 16:10:19,528 - Initialising solver\n",
+ "2024-04-03 16:10:19,608 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-03 16:10:19,608 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-03 16:10:19,611 - SequentialTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-03 16:10:25,976 - SequentialTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {}\n",
+ "quantile_extractor - {} \n",
+ "Initial metric: [2.475]\n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-03 16:10:25,982 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:25,982 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:00<00:39, 2.51trial/s, best loss: 2.636759100819645]2024-04-03 16:10:26,381 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:26,382 - TPE using 1/1 trials with best loss 2.636759\n",
+ " 2%|▏ | 2/100 [00:00<00:38, 2.53trial/s, best loss: 2.636759100819645]2024-04-03 16:10:26,772 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:26,773 - TPE using 2/2 trials with best loss 2.636759\n",
+ " 3%|▎ | 3/100 [00:01<00:49, 1.97trial/s, best loss: 2.636759100819645]2024-04-03 16:10:27,414 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:27,416 - TPE using 3/3 trials with best loss 2.636759\n",
+ " 4%|▍ | 4/100 [00:01<00:49, 1.94trial/s, best loss: 2.636759100819645]2024-04-03 16:10:27,942 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:27,943 - TPE using 4/4 trials with best loss 2.636759\n",
+ " 5%|▌ | 5/100 [00:02<01:01, 1.54trial/s, best loss: 2.636759100819645]2024-04-03 16:10:28,834 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:28,835 - TPE using 5/5 trials with best loss 2.636759\n",
+ " 6%|▌ | 6/100 [00:03<00:56, 1.66trial/s, best loss: 2.636759100819645]2024-04-03 16:10:29,344 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:29,345 - TPE using 6/6 trials with best loss 2.636759\n",
+ " 7%|▋ | 7/100 [00:03<00:50, 1.83trial/s, best loss: 2.636759100819645]2024-04-03 16:10:29,776 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:29,777 - TPE using 7/7 trials with best loss 2.636759\n",
+ " 8%|▊ | 8/100 [00:04<00:50, 1.81trial/s, best loss: 2.636759100819645]2024-04-03 16:10:30,340 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:30,341 - TPE using 8/8 trials with best loss 2.636759\n",
+ " 9%|▉ | 9/100 [00:04<00:45, 1.99trial/s, best loss: 2.6144337305471783]2024-04-03 16:10:30,730 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:30,731 - TPE using 9/9 trials with best loss 2.614434\n",
+ " 10%|█ | 10/100 [00:05<00:50, 1.79trial/s, best loss: 2.6144337305471783]2024-04-03 16:10:31,419 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:31,420 - TPE using 10/10 trials with best loss 2.614434\n",
+ " 11%|█ | 11/100 [00:05<00:44, 1.99trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:31,791 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:31,792 - TPE using 11/11 trials with best loss 2.476071\n",
+ " 12%|█▏ | 12/100 [00:06<00:43, 2.04trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:32,257 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:32,258 - TPE using 12/12 trials with best loss 2.476071\n",
+ " 13%|█▎ | 13/100 [00:06<00:41, 2.11trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:32,692 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:32,693 - TPE using 13/13 trials with best loss 2.476071\n",
+ " 14%|█▍ | 14/100 [00:07<00:39, 2.16trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:33,129 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:33,130 - TPE using 14/14 trials with best loss 2.476071\n",
+ " 15%|█▌ | 15/100 [00:07<00:37, 2.24trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:33,538 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:33,538 - TPE using 15/15 trials with best loss 2.476071\n",
+ " 16%|█▌ | 16/100 [00:08<00:38, 2.21trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:34,007 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:34,007 - TPE using 16/16 trials with best loss 2.476071\n",
+ " 17%|█▋ | 17/100 [00:08<00:41, 1.98trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:34,629 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:34,630 - TPE using 17/17 trials with best loss 2.476071\n",
+ " 18%|█▊ | 18/100 [00:09<00:42, 1.94trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:35,169 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:35,170 - TPE using 18/18 trials with best loss 2.476071\n",
+ " 19%|█▉ | 19/100 [00:09<00:42, 1.93trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:35,700 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:35,700 - TPE using 19/19 trials with best loss 2.476071\n",
+ " 20%|██ | 20/100 [00:10<00:39, 2.00trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:36,152 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:36,153 - TPE using 20/20 trials with best loss 2.476071\n",
+ " 21%|██ | 21/100 [00:10<00:37, 2.11trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:36,569 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:10:36,569 - TPE using 21/21 trials with best loss 2.476071\n",
+ " 22%|██▏ | 22/100 [00:10<00:35, 2.20trial/s, best loss: 2.4760708629205688]2024-04-03 16:10:36,977 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:36,978 - TPE using 22/22 trials with best loss 2.476071\n",
+ " 23%|██▎ | 23/100 [00:11<00:32, 2.35trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:37,338 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:37,339 - TPE using 23/23 trials with best loss 2.461654\n",
+ " 24%|██▍ | 24/100 [00:11<00:30, 2.46trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:37,700 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:10:37,701 - TPE using 24/24 trials with best loss 2.461654\n",
+ " 25%|██▌ | 25/100 [00:12<00:30, 2.46trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:38,103 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:38,103 - TPE using 25/25 trials with best loss 2.461654\n",
+ " 26%|██▌ | 26/100 [00:12<00:29, 2.49trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:38,492 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:38,493 - TPE using 26/26 trials with best loss 2.461654\n",
+ " 27%|██▋ | 27/100 [00:12<00:27, 2.67trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:38,805 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:38,806 - TPE using 27/27 trials with best loss 2.461654\n",
+ " 28%|██▊ | 28/100 [00:13<00:27, 2.67trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:39,181 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:39,182 - TPE using 28/28 trials with best loss 2.461654\n",
+ " 29%|██▉ | 29/100 [00:13<00:27, 2.63trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:39,573 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:39,574 - TPE using 29/29 trials with best loss 2.461654\n",
+ " 30%|███ | 30/100 [00:13<00:25, 2.70trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:39,918 - build_posterior_wrapper took 0.001234 seconds\n",
+ "2024-04-03 16:10:39,919 - TPE using 30/30 trials with best loss 2.461654\n",
+ " 31%|███ | 31/100 [00:14<00:26, 2.57trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:40,355 - build_posterior_wrapper took 0.001004 seconds\n",
+ "2024-04-03 16:10:40,356 - TPE using 31/31 trials with best loss 2.461654\n",
+ " 32%|███▏ | 32/100 [00:14<00:26, 2.57trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:40,743 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:40,743 - TPE using 32/32 trials with best loss 2.461654\n",
+ " 33%|███▎ | 33/100 [00:15<00:25, 2.66trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:41,089 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:41,090 - TPE using 33/33 trials with best loss 2.461654\n",
+ " 34%|███▍ | 34/100 [00:15<00:24, 2.74trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:41,428 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:41,428 - TPE using 34/34 trials with best loss 2.461654\n",
+ " 35%|███▌ | 35/100 [00:15<00:24, 2.71trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:41,807 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:41,808 - TPE using 35/35 trials with best loss 2.461654\n",
+ " 36%|███▌ | 36/100 [00:16<00:33, 1.88trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:42,716 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:42,717 - TPE using 36/36 trials with best loss 2.461654\n",
+ " 37%|███▋ | 37/100 [00:17<00:31, 1.99trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:43,153 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:43,154 - TPE using 37/37 trials with best loss 2.461654\n",
+ " 38%|███▊ | 38/100 [00:17<00:30, 2.01trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:43,636 - build_posterior_wrapper took 0.000996 seconds\n",
+ "2024-04-03 16:10:43,636 - TPE using 38/38 trials with best loss 2.461654\n",
+ " 39%|███▉ | 39/100 [00:17<00:27, 2.24trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:43,964 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:43,964 - TPE using 39/39 trials with best loss 2.461654\n",
+ " 40%|████ | 40/100 [00:18<00:25, 2.33trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:44,352 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:44,352 - TPE using 40/40 trials with best loss 2.461654\n",
+ " 41%|████ | 41/100 [00:18<00:24, 2.42trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:44,727 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:44,728 - TPE using 41/41 trials with best loss 2.461654\n",
+ " 42%|████▏ | 42/100 [00:19<00:30, 1.88trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:45,542 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:45,543 - TPE using 42/42 trials with best loss 2.461654\n",
+ " 43%|████▎ | 43/100 [00:19<00:26, 2.14trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:45,853 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:45,853 - TPE using 43/43 trials with best loss 2.461654\n",
+ " 44%|████▍ | 44/100 [00:20<00:24, 2.30trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:46,211 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:46,211 - TPE using 44/44 trials with best loss 2.461654\n",
+ " 45%|████▌ | 45/100 [00:20<00:24, 2.23trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:46,692 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:46,692 - TPE using 45/45 trials with best loss 2.461654\n",
+ " 46%|████▌ | 46/100 [00:21<00:27, 1.98trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:47,334 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:47,334 - TPE using 46/46 trials with best loss 2.461654\n",
+ " 47%|████▋ | 47/100 [00:21<00:24, 2.14trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:47,708 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:47,709 - TPE using 47/47 trials with best loss 2.461654\n",
+ " 48%|████▊ | 48/100 [00:22<00:23, 2.21trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:48,129 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:48,130 - TPE using 48/48 trials with best loss 2.461654\n",
+ " 49%|████▉ | 49/100 [00:23<00:29, 1.72trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:49,015 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:49,016 - TPE using 49/49 trials with best loss 2.461654\n",
+ " 50%|█████ | 50/100 [00:23<00:26, 1.89trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:49,418 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:49,419 - TPE using 50/50 trials with best loss 2.461654\n",
+ " 51%|█████ | 51/100 [00:23<00:25, 1.91trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:49,926 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:49,927 - TPE using 51/51 trials with best loss 2.461654\n",
+ " 52%|█████▏ | 52/100 [00:24<00:26, 1.79trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:50,565 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:50,566 - TPE using 52/52 trials with best loss 2.461654\n",
+ " 53%|█████▎ | 53/100 [00:24<00:23, 2.04trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:50,902 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:50,902 - TPE using 53/53 trials with best loss 2.461654\n",
+ " 54%|█████▍ | 54/100 [00:25<00:20, 2.20trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:51,270 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:51,271 - TPE using 54/54 trials with best loss 2.461654\n",
+ " 55%|█████▌ | 55/100 [00:25<00:19, 2.29trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:51,668 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:51,669 - TPE using 55/55 trials with best loss 2.461654\n",
+ " 56%|█████▌ | 56/100 [00:26<00:19, 2.24trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:52,138 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:52,139 - TPE using 56/56 trials with best loss 2.461654\n",
+ " 57%|█████▋ | 57/100 [00:26<00:18, 2.36trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:52,503 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:52,504 - TPE using 57/57 trials with best loss 2.461654\n",
+ " 58%|█████▊ | 58/100 [00:26<00:17, 2.41trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:52,902 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:52,903 - TPE using 58/58 trials with best loss 2.461654\n",
+ " 59%|█████▉ | 59/100 [00:27<00:16, 2.45trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:53,291 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:53,292 - TPE using 59/59 trials with best loss 2.461654\n",
+ " 60%|██████ | 60/100 [00:27<00:15, 2.51trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:53,669 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:53,670 - TPE using 60/60 trials with best loss 2.461654\n",
+ " 61%|██████ | 61/100 [00:27<00:14, 2.73trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:53,962 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:53,963 - TPE using 61/61 trials with best loss 2.461654\n",
+ " 62%|██████▏ | 62/100 [00:28<00:16, 2.32trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:54,541 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:54,542 - TPE using 62/62 trials with best loss 2.461654\n",
+ " 63%|██████▎ | 63/100 [00:28<00:15, 2.45trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:54,898 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:10:54,898 - TPE using 63/63 trials with best loss 2.461654\n",
+ " 64%|██████▍ | 64/100 [00:29<00:17, 2.07trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:55,555 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:55,555 - TPE using 64/64 trials with best loss 2.461654\n",
+ " 65%|██████▌ | 65/100 [00:29<00:15, 2.22trial/s, best loss: 2.4616539664508217]2024-04-03 16:10:55,927 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:55,928 - TPE using 65/65 trials with best loss 2.461654\n",
+ " 66%|██████▌ | 66/100 [00:30<00:13, 2.48trial/s, best loss: 2.4152964731542497]2024-04-03 16:10:56,223 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:56,224 - TPE using 66/66 trials with best loss 2.415296\n",
+ " 67%|██████▋ | 67/100 [00:30<00:12, 2.67trial/s, best loss: 2.4152964731542497]2024-04-03 16:10:56,530 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:56,531 - TPE using 67/67 trials with best loss 2.415296\n",
+ " 68%|██████▊ | 68/100 [00:30<00:11, 2.83trial/s, best loss: 2.4152964731542497]2024-04-03 16:10:56,836 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:56,837 - TPE using 68/68 trials with best loss 2.415296\n",
+ " 69%|██████▉ | 69/100 [00:31<00:10, 2.97trial/s, best loss: 2.4152964731542497]2024-04-03 16:10:57,131 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:57,132 - TPE using 69/69 trials with best loss 2.415296\n",
+ " 70%|███████ | 70/100 [00:31<00:09, 3.07trial/s, best loss: 2.35660301481998] 2024-04-03 16:10:57,432 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:57,433 - TPE using 70/70 trials with best loss 2.356603\n",
+ " 71%|███████ | 71/100 [00:31<00:09, 3.12trial/s, best loss: 2.35660301481998]2024-04-03 16:10:57,739 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:57,739 - TPE using 71/71 trials with best loss 2.356603\n",
+ " 72%|███████▏ | 72/100 [00:32<00:08, 3.19trial/s, best loss: 2.35660301481998]2024-04-03 16:10:58,036 - build_posterior_wrapper took 0.001029 seconds\n",
+ "2024-04-03 16:10:58,037 - TPE using 72/72 trials with best loss 2.356603\n",
+ " 73%|███████▎ | 73/100 [00:32<00:08, 3.24trial/s, best loss: 2.35660301481998]2024-04-03 16:10:58,333 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:10:58,333 - TPE using 73/73 trials with best loss 2.356603\n",
+ " 74%|███████▍ | 74/100 [00:32<00:07, 3.26trial/s, best loss: 2.35660301481998]2024-04-03 16:10:58,636 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:58,637 - TPE using 74/74 trials with best loss 2.356603\n",
+ " 75%|███████▌ | 75/100 [00:32<00:07, 3.30trial/s, best loss: 2.35660301481998]2024-04-03 16:10:58,931 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:58,932 - TPE using 75/75 trials with best loss 2.356603\n",
+ " 76%|███████▌ | 76/100 [00:33<00:08, 2.99trial/s, best loss: 2.35660301481998]2024-04-03 16:10:59,338 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:59,339 - TPE using 76/76 trials with best loss 2.356603\n",
+ " 77%|███████▋ | 77/100 [00:33<00:07, 3.11trial/s, best loss: 2.35660301481998]2024-04-03 16:10:59,631 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:10:59,632 - TPE using 77/77 trials with best loss 2.356603\n",
+ " 78%|███████▊ | 78/100 [00:34<00:07, 2.88trial/s, best loss: 2.35660301481998]2024-04-03 16:11:00,039 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:00,040 - TPE using 78/78 trials with best loss 2.356603\n",
+ " 79%|███████▉ | 79/100 [00:34<00:07, 2.80trial/s, best loss: 2.35660301481998]2024-04-03 16:11:00,417 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:00,418 - TPE using 79/79 trials with best loss 2.356603\n",
+ " 80%|████████ | 80/100 [00:34<00:07, 2.69trial/s, best loss: 2.35660301481998]2024-04-03 16:11:00,822 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:00,822 - TPE using 80/80 trials with best loss 2.356603\n",
+ " 81%|████████ | 81/100 [00:35<00:07, 2.56trial/s, best loss: 2.35660301481998]2024-04-03 16:11:01,257 - build_posterior_wrapper took 0.000999 seconds\n",
+ "2024-04-03 16:11:01,258 - TPE using 81/81 trials with best loss 2.356603\n",
+ " 82%|████████▏ | 82/100 [00:35<00:06, 2.58trial/s, best loss: 2.35660301481998]2024-04-03 16:11:01,636 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:01,636 - TPE using 82/82 trials with best loss 2.356603\n",
+ " 83%|████████▎ | 83/100 [00:36<00:06, 2.61trial/s, best loss: 2.35660301481998]2024-04-03 16:11:02,011 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:02,012 - TPE using 83/83 trials with best loss 2.356603\n",
+ " 84%|████████▍ | 84/100 [00:36<00:05, 2.80trial/s, best loss: 2.35660301481998]2024-04-03 16:11:02,308 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:02,308 - TPE using 84/84 trials with best loss 2.356603\n",
+ " 85%|████████▌ | 85/100 [00:36<00:05, 2.66trial/s, best loss: 2.35660301481998]2024-04-03 16:11:02,728 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:02,728 - TPE using 85/85 trials with best loss 2.356603\n",
+ " 86%|████████▌ | 86/100 [00:37<00:05, 2.73trial/s, best loss: 2.35660301481998]2024-04-03 16:11:03,073 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:03,074 - TPE using 86/86 trials with best loss 2.356603\n",
+ " 87%|████████▋ | 87/100 [00:37<00:04, 2.90trial/s, best loss: 2.35660301481998]2024-04-03 16:11:03,369 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:03,370 - TPE using 87/87 trials with best loss 2.356603\n",
+ " 88%|████████▊ | 88/100 [00:37<00:04, 2.43trial/s, best loss: 2.35660301481998]2024-04-03 16:11:03,935 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:03,935 - TPE using 88/88 trials with best loss 2.356603\n",
+ " 89%|████████▉ | 89/100 [00:38<00:04, 2.45trial/s, best loss: 2.35660301481998]2024-04-03 16:11:04,338 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:04,339 - TPE using 89/89 trials with best loss 2.356603\n",
+ " 90%|█████████ | 90/100 [00:38<00:03, 2.54trial/s, best loss: 2.35660301481998]2024-04-03 16:11:04,696 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:04,697 - TPE using 90/90 trials with best loss 2.356603\n",
+ " 91%|█████████ | 91/100 [00:39<00:03, 2.35trial/s, best loss: 2.35660301481998]2024-04-03 16:11:05,197 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:05,197 - TPE using 91/91 trials with best loss 2.356603\n",
+ " 92%|█████████▏| 92/100 [00:39<00:03, 2.43trial/s, best loss: 2.35660301481998]2024-04-03 16:11:05,574 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:05,575 - TPE using 92/92 trials with best loss 2.356603\n",
+ " 93%|█████████▎| 93/100 [00:40<00:02, 2.38trial/s, best loss: 2.35660301481998]2024-04-03 16:11:06,016 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:06,016 - TPE using 93/93 trials with best loss 2.356603\n",
+ " 94%|█████████▍| 94/100 [00:40<00:02, 2.38trial/s, best loss: 2.35660301481998]2024-04-03 16:11:06,433 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:06,433 - TPE using 94/94 trials with best loss 2.356603\n",
+ " 95%|█████████▌| 95/100 [00:40<00:02, 2.41trial/s, best loss: 2.35660301481998]2024-04-03 16:11:06,835 - build_posterior_wrapper took 0.000968 seconds\n",
+ "2024-04-03 16:11:06,837 - TPE using 95/95 trials with best loss 2.356603\n",
+ " 96%|█████████▌| 96/100 [00:41<00:01, 2.11trial/s, best loss: 2.35660301481998]2024-04-03 16:11:07,450 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:07,451 - TPE using 96/96 trials with best loss 2.356603\n",
+ " 97%|█████████▋| 97/100 [00:41<00:01, 2.37trial/s, best loss: 2.35660301481998]2024-04-03 16:11:07,749 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:07,750 - TPE using 97/97 trials with best loss 2.356603\n",
+ " 98%|█████████▊| 98/100 [00:42<00:00, 2.49trial/s, best loss: 2.35660301481998]2024-04-03 16:11:08,104 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:08,105 - TPE using 98/98 trials with best loss 2.356603\n",
+ " 99%|█████████▉| 99/100 [00:42<00:00, 2.01trial/s, best loss: 2.35660301481998]2024-04-03 16:11:08,820 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:08,821 - TPE using 99/99 trials with best loss 2.356603\n",
+ "100%|██████████| 100/100 [00:43<00:00, 2.31trial/s, best loss: 2.35660301481998]\n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-03 16:11:09,321 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:09,321 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:00<00:27, 3.60trial/s, best loss: 2.445611769767872]2024-04-03 16:11:09,599 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:09,600 - TPE using 1/1 trials with best loss 2.445612\n",
+ " 2%|▏ | 2/100 [00:00<00:29, 3.35trial/s, best loss: 2.4452607853310173]2024-04-03 16:11:09,912 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:09,913 - TPE using 2/2 trials with best loss 2.445261\n",
+ " 3%|▎ | 3/100 [00:00<00:29, 3.27trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:10,226 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:10,226 - TPE using 3/3 trials with best loss 2.414492\n",
+ " 4%|▍ | 4/100 [00:01<00:28, 3.32trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:10,520 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:10,520 - TPE using 4/4 trials with best loss 2.414492\n",
+ " 5%|▌ | 5/100 [00:01<00:28, 3.34trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:10,818 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:10,818 - TPE using 5/5 trials with best loss 2.414492\n",
+ " 6%|▌ | 6/100 [00:01<00:28, 3.27trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:11,136 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:11,137 - TPE using 6/6 trials with best loss 2.414492\n",
+ " 7%|▋ | 7/100 [00:02<00:29, 3.19trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:11,463 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:11,463 - TPE using 7/7 trials with best loss 2.414492\n",
+ " 8%|▊ | 8/100 [00:02<00:28, 3.21trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:11,772 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:11,772 - TPE using 8/8 trials with best loss 2.414492\n",
+ " 9%|▉ | 9/100 [00:02<00:28, 3.21trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:12,083 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:12,084 - TPE using 9/9 trials with best loss 2.414492\n",
+ " 10%|█ | 10/100 [00:03<00:27, 3.25trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:12,383 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:12,383 - TPE using 10/10 trials with best loss 2.414492\n",
+ " 11%|█ | 11/100 [00:03<00:27, 3.28trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:12,679 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:12,680 - TPE using 11/11 trials with best loss 2.414492\n",
+ " 12%|█▏ | 12/100 [00:03<00:27, 3.16trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:13,024 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:13,025 - TPE using 12/12 trials with best loss 2.414492\n",
+ " 13%|█▎ | 13/100 [00:03<00:27, 3.22trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:13,321 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:13,322 - TPE using 13/13 trials with best loss 2.414492\n",
+ " 14%|█▍ | 14/100 [00:04<00:26, 3.25trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:13,621 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:13,621 - TPE using 14/14 trials with best loss 2.414492\n",
+ " 15%|█▌ | 15/100 [00:04<00:27, 3.13trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:13,968 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:13,969 - TPE using 15/15 trials with best loss 2.414492\n",
+ " 16%|█▌ | 16/100 [00:04<00:26, 3.12trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:14,293 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:14,293 - TPE using 16/16 trials with best loss 2.414492\n",
+ " 17%|█▋ | 17/100 [00:05<00:26, 3.14trial/s, best loss: 2.4144920669328847]2024-04-03 16:11:14,605 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:14,606 - TPE using 17/17 trials with best loss 2.414492\n",
+ " 18%|█▊ | 18/100 [00:05<00:25, 3.15trial/s, best loss: 2.4058906413274532]2024-04-03 16:11:14,918 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:14,919 - TPE using 18/18 trials with best loss 2.405891\n",
+ " 19%|█▉ | 19/100 [00:05<00:25, 3.14trial/s, best loss: 2.4058906413274532]2024-04-03 16:11:15,242 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:15,242 - TPE using 19/19 trials with best loss 2.405891\n",
+ " 20%|██ | 20/100 [00:06<00:25, 3.20trial/s, best loss: 2.1830659402172388]2024-04-03 16:11:15,542 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:15,542 - TPE using 20/20 trials with best loss 2.183066\n",
+ " 21%|██ | 21/100 [00:06<00:24, 3.24trial/s, best loss: 2.135480765650933] 2024-04-03 16:11:15,839 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:15,840 - TPE using 21/21 trials with best loss 2.135481\n",
+ " 22%|██▏ | 22/100 [00:06<00:23, 3.28trial/s, best loss: 2.135480765650933]2024-04-03 16:11:16,137 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:16,138 - TPE using 22/22 trials with best loss 2.135481\n",
+ " 23%|██▎ | 23/100 [00:07<00:23, 3.32trial/s, best loss: 2.135480765650933]2024-04-03 16:11:16,430 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:16,430 - TPE using 23/23 trials with best loss 2.135481\n",
+ " 24%|██▍ | 24/100 [00:07<00:22, 3.32trial/s, best loss: 2.135480765650933]2024-04-03 16:11:16,731 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:16,731 - TPE using 24/24 trials with best loss 2.135481\n",
+ " 25%|██▌ | 25/100 [00:07<00:22, 3.33trial/s, best loss: 2.135480765650933]2024-04-03 16:11:17,030 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:17,031 - TPE using 25/25 trials with best loss 2.135481\n",
+ " 26%|██▌ | 26/100 [00:08<00:22, 3.34trial/s, best loss: 2.135480765650933]2024-04-03 16:11:17,324 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:17,325 - TPE using 26/26 trials with best loss 2.135481\n",
+ " 27%|██▋ | 27/100 [00:08<00:21, 3.36trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:17,621 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:17,621 - TPE using 27/27 trials with best loss 2.124307\n",
+ " 28%|██▊ | 28/100 [00:08<00:21, 3.35trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:17,918 - build_posterior_wrapper took 0.000993 seconds\n",
+ "2024-04-03 16:11:17,919 - TPE using 28/28 trials with best loss 2.124307\n",
+ " 29%|██▉ | 29/100 [00:08<00:21, 3.36trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:18,215 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:18,215 - TPE using 29/29 trials with best loss 2.124307\n",
+ " 30%|███ | 30/100 [00:09<00:21, 3.31trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:18,528 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:18,529 - TPE using 30/30 trials with best loss 2.124307\n",
+ " 31%|███ | 31/100 [00:09<00:20, 3.33trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:18,826 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:18,826 - TPE using 31/31 trials with best loss 2.124307\n",
+ " 32%|███▏ | 32/100 [00:09<00:20, 3.34trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:19,121 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:19,121 - TPE using 32/32 trials with best loss 2.124307\n",
+ " 33%|███▎ | 33/100 [00:10<00:19, 3.36trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:19,415 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:19,415 - TPE using 33/33 trials with best loss 2.124307\n",
+ " 34%|███▍ | 34/100 [00:10<00:19, 3.37trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:19,710 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:19,711 - TPE using 34/34 trials with best loss 2.124307\n",
+ " 35%|███▌ | 35/100 [00:10<00:19, 3.36trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:20,009 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:20,009 - TPE using 35/35 trials with best loss 2.124307\n",
+ " 36%|███▌ | 36/100 [00:10<00:18, 3.38trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:20,301 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:20,302 - TPE using 36/36 trials with best loss 2.124307\n",
+ " 37%|███▋ | 37/100 [00:11<00:18, 3.37trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:20,600 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:20,600 - TPE using 37/37 trials with best loss 2.124307\n",
+ " 38%|███▊ | 38/100 [00:11<00:18, 3.37trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:20,896 - build_posterior_wrapper took 0.000969 seconds\n",
+ "2024-04-03 16:11:20,897 - TPE using 38/38 trials with best loss 2.124307\n",
+ " 39%|███▉ | 39/100 [00:11<00:18, 3.37trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:21,194 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:21,195 - TPE using 39/39 trials with best loss 2.124307\n",
+ " 40%|████ | 40/100 [00:12<00:18, 3.33trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:21,502 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:21,503 - TPE using 40/40 trials with best loss 2.124307\n",
+ " 41%|████ | 41/100 [00:12<00:17, 3.31trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:21,810 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:21,811 - TPE using 41/41 trials with best loss 2.124307\n",
+ " 42%|████▏ | 42/100 [00:12<00:17, 3.34trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:22,103 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:22,103 - TPE using 42/42 trials with best loss 2.124307\n",
+ " 43%|████▎ | 43/100 [00:13<00:17, 3.29trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:22,419 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:22,419 - TPE using 43/43 trials with best loss 2.124307\n",
+ " 44%|████▍ | 44/100 [00:13<00:16, 3.30trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:22,717 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:22,718 - TPE using 44/44 trials with best loss 2.124307\n",
+ " 45%|████▌ | 45/100 [00:13<00:16, 3.28trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:23,028 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:23,028 - TPE using 45/45 trials with best loss 2.124307\n",
+ " 46%|████▌ | 46/100 [00:14<00:17, 3.17trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:23,367 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:23,368 - TPE using 46/46 trials with best loss 2.124307\n",
+ " 47%|████▋ | 47/100 [00:14<00:16, 3.22trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:23,666 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:23,667 - TPE using 47/47 trials with best loss 2.124307\n",
+ " 48%|████▊ | 48/100 [00:14<00:16, 3.08trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:24,023 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:24,024 - TPE using 48/48 trials with best loss 2.124307\n",
+ " 49%|████▉ | 49/100 [00:15<00:16, 3.12trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:24,335 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:24,336 - TPE using 49/49 trials with best loss 2.124307\n",
+ " 50%|█████ | 50/100 [00:15<00:16, 3.00trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:24,697 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:24,697 - TPE using 50/50 trials with best loss 2.124307\n",
+ " 51%|█████ | 51/100 [00:15<00:16, 3.04trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:25,016 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:25,016 - TPE using 51/51 trials with best loss 2.124307\n",
+ " 52%|█████▏ | 52/100 [00:16<00:15, 3.10trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:25,325 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:25,326 - TPE using 52/52 trials with best loss 2.124307\n",
+ " 53%|█████▎ | 53/100 [00:16<00:15, 3.04trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:25,670 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:25,670 - TPE using 53/53 trials with best loss 2.124307\n",
+ " 54%|█████▍ | 54/100 [00:16<00:15, 3.05trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:25,996 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:25,996 - TPE using 54/54 trials with best loss 2.124307\n",
+ " 55%|█████▌ | 55/100 [00:16<00:14, 3.09trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:26,309 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:26,309 - TPE using 55/55 trials with best loss 2.124307\n",
+ " 56%|█████▌ | 56/100 [00:17<00:14, 3.12trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:26,622 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:26,622 - TPE using 56/56 trials with best loss 2.124307\n",
+ " 57%|█████▋ | 57/100 [00:17<00:13, 3.20trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:26,917 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:26,917 - TPE using 57/57 trials with best loss 2.124307\n",
+ " 58%|█████▊ | 58/100 [00:17<00:12, 3.24trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:27,214 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:27,215 - TPE using 58/58 trials with best loss 2.124307\n",
+ " 59%|█████▉ | 59/100 [00:18<00:12, 3.27trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:27,515 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:27,516 - TPE using 59/59 trials with best loss 2.124307\n",
+ " 60%|██████ | 60/100 [00:18<00:12, 3.21trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:27,839 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:27,840 - TPE using 60/60 trials with best loss 2.124307\n",
+ " 61%|██████ | 61/100 [00:18<00:11, 3.26trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:28,134 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:28,135 - TPE using 61/61 trials with best loss 2.124307\n",
+ " 62%|██████▏ | 62/100 [00:19<00:11, 3.28trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:28,434 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:28,435 - TPE using 62/62 trials with best loss 2.124307\n",
+ " 63%|██████▎ | 63/100 [00:19<00:11, 3.12trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:28,791 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:28,792 - TPE using 63/63 trials with best loss 2.124307\n",
+ " 64%|██████▍ | 64/100 [00:19<00:11, 3.06trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:29,133 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:29,134 - TPE using 64/64 trials with best loss 2.124307\n",
+ " 65%|██████▌ | 65/100 [00:20<00:11, 2.96trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:29,495 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:29,496 - TPE using 65/65 trials with best loss 2.124307\n",
+ " 66%|██████▌ | 66/100 [00:20<00:11, 2.92trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:29,851 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:29,852 - TPE using 66/66 trials with best loss 2.124307\n",
+ " 67%|██████▋ | 67/100 [00:20<00:11, 2.95trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:30,182 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:30,183 - TPE using 67/67 trials with best loss 2.124307\n",
+ " 68%|██████▊ | 68/100 [00:21<00:10, 2.98trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:30,509 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:30,510 - TPE using 68/68 trials with best loss 2.124307\n",
+ " 69%|██████▉ | 69/100 [00:21<00:10, 3.00trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:30,839 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:30,840 - TPE using 69/69 trials with best loss 2.124307\n",
+ " 70%|███████ | 70/100 [00:21<00:09, 3.01trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:31,167 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:31,167 - TPE using 70/70 trials with best loss 2.124307\n",
+ " 71%|███████ | 71/100 [00:22<00:09, 2.97trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:31,514 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:31,515 - TPE using 71/71 trials with best loss 2.124307\n",
+ " 72%|███████▏ | 72/100 [00:22<00:09, 3.04trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:31,824 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:31,825 - TPE using 72/72 trials with best loss 2.124307\n",
+ " 73%|███████▎ | 73/100 [00:22<00:08, 3.14trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:32,119 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:32,119 - TPE using 73/73 trials with best loss 2.124307\n",
+ " 74%|███████▍ | 74/100 [00:23<00:08, 3.20trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:32,415 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:32,416 - TPE using 74/74 trials with best loss 2.124307\n",
+ " 75%|███████▌ | 75/100 [00:23<00:07, 3.19trial/s, best loss: 2.1243067247185285]2024-04-03 16:11:32,731 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:32,732 - TPE using 75/75 trials with best loss 2.124307\n",
+ " 76%|███████▌ | 76/100 [00:23<00:07, 3.24trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:33,029 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:33,029 - TPE using 76/76 trials with best loss 2.116140\n",
+ " 77%|███████▋ | 77/100 [00:24<00:07, 3.09trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:33,387 - build_posterior_wrapper took 0.000995 seconds\n",
+ "2024-04-03 16:11:33,388 - TPE using 77/77 trials with best loss 2.116140\n",
+ " 78%|███████▊ | 78/100 [00:24<00:07, 3.13trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:33,697 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:33,698 - TPE using 78/78 trials with best loss 2.116140\n",
+ " 79%|███████▉ | 79/100 [00:24<00:06, 3.14trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:34,013 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:34,013 - TPE using 79/79 trials with best loss 2.116140\n",
+ " 80%|████████ | 80/100 [00:24<00:06, 3.17trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:34,321 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:34,322 - TPE using 80/80 trials with best loss 2.116140\n",
+ " 81%|████████ | 81/100 [00:25<00:05, 3.17trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:34,636 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:34,637 - TPE using 81/81 trials with best loss 2.116140\n",
+ " 82%|████████▏ | 82/100 [00:25<00:05, 3.13trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:34,967 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:34,967 - TPE using 82/82 trials with best loss 2.116140\n",
+ " 83%|████████▎ | 83/100 [00:25<00:05, 3.16trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:35,275 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:35,276 - TPE using 83/83 trials with best loss 2.116140\n",
+ " 84%|████████▍ | 84/100 [00:26<00:05, 3.17trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:35,588 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:35,589 - TPE using 84/84 trials with best loss 2.116140\n",
+ " 85%|████████▌ | 85/100 [00:26<00:04, 3.18trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:35,899 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:35,900 - TPE using 85/85 trials with best loss 2.116140\n",
+ " 86%|████████▌ | 86/100 [00:26<00:04, 3.19trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:36,213 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:36,213 - TPE using 86/86 trials with best loss 2.116140\n",
+ " 87%|████████▋ | 87/100 [00:27<00:04, 3.11trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:36,552 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:36,553 - TPE using 87/87 trials with best loss 2.116140\n",
+ " 88%|████████▊ | 88/100 [00:27<00:03, 3.14trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:36,862 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:36,862 - TPE using 88/88 trials with best loss 2.116140\n",
+ " 89%|████████▉ | 89/100 [00:27<00:03, 3.16trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:37,175 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:37,176 - TPE using 89/89 trials with best loss 2.116140\n",
+ " 90%|█████████ | 90/100 [00:28<00:03, 3.18trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:37,487 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:37,487 - TPE using 90/90 trials with best loss 2.116140\n",
+ " 91%|█████████ | 91/100 [00:28<00:02, 3.15trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:37,809 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-03 16:11:37,810 - TPE using 91/91 trials with best loss 2.116140\n",
+ " 92%|█████████▏| 92/100 [00:28<00:02, 3.17trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:38,121 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:38,122 - TPE using 92/92 trials with best loss 2.116140\n",
+ " 93%|█████████▎| 93/100 [00:29<00:02, 3.18trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:38,434 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:38,435 - TPE using 93/93 trials with best loss 2.116140\n",
+ " 94%|█████████▍| 94/100 [00:29<00:01, 3.18trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:38,747 - build_posterior_wrapper took 0.000996 seconds\n",
+ "2024-04-03 16:11:38,747 - TPE using 94/94 trials with best loss 2.116140\n",
+ " 95%|█████████▌| 95/100 [00:29<00:01, 3.19trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:39,058 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:39,059 - TPE using 95/95 trials with best loss 2.116140\n",
+ " 96%|█████████▌| 96/100 [00:30<00:01, 3.15trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:39,386 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:39,387 - TPE using 96/96 trials with best loss 2.116140\n",
+ " 97%|█████████▋| 97/100 [00:30<00:00, 3.17trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:39,697 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:39,697 - TPE using 97/97 trials with best loss 2.116140\n",
+ " 98%|█████████▊| 98/100 [00:30<00:00, 3.22trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:39,996 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:39,996 - TPE using 98/98 trials with best loss 2.116140\n",
+ " 99%|█████████▉| 99/100 [00:30<00:00, 3.21trial/s, best loss: 2.1161397699829587]2024-04-03 16:11:40,310 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:40,310 - TPE using 99/99 trials with best loss 2.116140\n",
+ "100%|██████████| 100/100 [00:31<00:00, 3.19trial/s, best loss: 2.1161397699829587]\n",
+ "2024-04-03 16:11:40,621 - SequentialTuner - Hyperparameters optimization finished\n",
+ "2024-04-03 16:11:40,917 - SequentialTuner - Return tuned graph due to the fact that obtained metric 2.199 equal or better than initial (+ 0.05% deviation) 2.474\n",
+ "2024-04-03 16:11:40,918 - SequentialTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.48559442827427857, 'min_samples_leaf': 3, 'min_samples_split': 5}\n",
+ "quantile_extractor - {'stride': 6, 'window_size': 0}\n",
+ "2024-04-03 16:11:40,918 - SequentialTuner - Final metric: 2.199\n",
+ "2024-04-03 16:11:41,220 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-03 16:11:41,221 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-03 16:11:41,224 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-03 16:11:41,528 - SimultaneousTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.48559442827427857, 'min_samples_leaf': 3, 'min_samples_split': 5}\n",
+ "quantile_extractor - {'stride': 6, 'window_size': 0} \n",
+ "Initial metric: [2.156]\n",
+ " 0%| | 0/1 [00:00, ?trial/s, best loss=?]2024-04-03 16:11:41,535 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:11:41,536 - TPE using 0 trials\n",
+ "100%|██████████| 1/1 [00:00<00:00, 3.45trial/s, best loss: 2.1256756901992366]\n",
+ " 0%| | 1/200 [00:00, ?trial/s, best loss=?]2024-04-03 16:11:41,829 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:41,830 - TPE using 1/1 trials with best loss 2.125676\n",
+ " 1%| | 2/200 [00:00<02:46, 1.19trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:42,670 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:42,671 - TPE using 2/2 trials with best loss 2.125676\n",
+ " 2%|▏ | 3/200 [00:01<01:54, 1.71trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:43,074 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:43,075 - TPE using 3/3 trials with best loss 2.125676\n",
+ " 2%|▏ | 4/200 [00:01<01:37, 2.00trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:43,475 - build_posterior_wrapper took 0.002110 seconds\n",
+ "2024-04-03 16:11:43,475 - TPE using 4/4 trials with best loss 2.125676\n",
+ " 2%|▎ | 5/200 [00:02<01:28, 2.22trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:43,851 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:43,852 - TPE using 5/5 trials with best loss 2.125676\n",
+ " 3%|▎ | 6/200 [00:02<01:27, 2.21trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:44,306 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:44,306 - TPE using 6/6 trials with best loss 2.125676\n",
+ " 4%|▎ | 7/200 [00:02<01:24, 2.29trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:44,713 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:44,714 - TPE using 7/7 trials with best loss 2.125676\n",
+ " 4%|▍ | 8/200 [00:03<01:32, 2.07trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:45,294 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:45,295 - TPE using 8/8 trials with best loss 2.125676\n",
+ " 4%|▍ | 9/200 [00:03<01:24, 2.25trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:45,652 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:45,653 - TPE using 9/9 trials with best loss 2.125676\n",
+ " 5%|▌ | 10/200 [00:04<01:18, 2.43trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:45,993 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:45,994 - TPE using 10/10 trials with best loss 2.125676\n",
+ " 6%|▌ | 11/200 [00:04<01:16, 2.46trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:46,386 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:46,386 - TPE using 11/11 trials with best loss 2.125676\n",
+ " 6%|▌ | 12/200 [00:04<01:14, 2.53trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:46,757 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:46,758 - TPE using 12/12 trials with best loss 2.125676\n",
+ " 6%|▋ | 13/200 [00:05<01:20, 2.34trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:47,261 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:47,261 - TPE using 13/13 trials with best loss 2.125676\n",
+ " 7%|▋ | 14/200 [00:05<01:22, 2.25trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:47,743 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:47,744 - TPE using 14/14 trials with best loss 2.125676\n",
+ " 8%|▊ | 15/200 [00:06<01:14, 2.50trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:48,042 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:48,043 - TPE using 15/15 trials with best loss 2.125676\n",
+ " 8%|▊ | 16/200 [00:06<01:12, 2.55trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:48,418 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:11:48,419 - TPE using 16/16 trials with best loss 2.125676\n",
+ " 8%|▊ | 17/200 [00:06<01:12, 2.52trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:48,821 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:48,822 - TPE using 17/17 trials with best loss 2.125676\n",
+ " 9%|▉ | 18/200 [00:07<01:17, 2.34trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:49,321 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:49,322 - TPE using 18/18 trials with best loss 2.125676\n",
+ " 10%|▉ | 19/200 [00:08<01:31, 1.97trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:50,015 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:50,016 - TPE using 19/19 trials with best loss 2.125676\n",
+ " 10%|█ | 20/200 [00:08<01:22, 2.17trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:50,369 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:50,369 - TPE using 20/20 trials with best loss 2.125676\n",
+ " 10%|█ | 21/200 [00:08<01:18, 2.28trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:50,756 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-03 16:11:50,757 - TPE using 21/21 trials with best loss 2.125676\n",
+ " 11%|█ | 22/200 [00:09<01:15, 2.35trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:51,150 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:51,150 - TPE using 22/22 trials with best loss 2.125676\n",
+ " 12%|█▏ | 23/200 [00:09<01:12, 2.44trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:51,526 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:11:51,526 - TPE using 23/23 trials with best loss 2.125676\n",
+ " 12%|█▏ | 24/200 [00:10<01:10, 2.50trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:51,902 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:51,903 - TPE using 24/24 trials with best loss 2.125676\n",
+ " 12%|█▎ | 25/200 [00:10<01:08, 2.55trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:52,276 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:52,276 - TPE using 25/25 trials with best loss 2.125676\n",
+ " 13%|█▎ | 26/200 [00:10<01:06, 2.61trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:52,635 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:11:52,635 - TPE using 26/26 trials with best loss 2.125676\n",
+ " 14%|█▎ | 27/200 [00:11<01:06, 2.59trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:53,029 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:11:53,030 - TPE using 27/27 trials with best loss 2.125676\n",
+ " 14%|█▍ | 28/200 [00:11<01:06, 2.58trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:53,419 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:53,420 - TPE using 28/28 trials with best loss 2.125676\n",
+ " 14%|█▍ | 29/200 [00:12<01:29, 1.91trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:54,262 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:11:54,263 - TPE using 29/29 trials with best loss 2.125676\n",
+ " 15%|█▌ | 30/200 [00:12<01:20, 2.10trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:54,623 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:54,624 - TPE using 30/30 trials with best loss 2.125676\n",
+ " 16%|█▌ | 31/200 [00:13<01:16, 2.20trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:55,027 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:11:55,027 - TPE using 31/31 trials with best loss 2.125676\n",
+ " 16%|█▌ | 32/200 [00:13<01:09, 2.43trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:55,340 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:55,340 - TPE using 32/32 trials with best loss 2.125676\n",
+ " 16%|█▋ | 33/200 [00:13<01:07, 2.47trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:55,728 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:55,729 - TPE using 33/33 trials with best loss 2.125676\n",
+ " 17%|█▋ | 34/200 [00:14<01:09, 2.39trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:56,179 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:56,179 - TPE using 34/34 trials with best loss 2.125676\n",
+ " 18%|█▊ | 35/200 [00:14<01:07, 2.46trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:56,560 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:56,560 - TPE using 35/35 trials with best loss 2.125676\n",
+ " 18%|█▊ | 36/200 [00:15<01:15, 2.16trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:57,154 - build_posterior_wrapper took 0.001557 seconds\n",
+ "2024-04-03 16:11:57,155 - TPE using 36/36 trials with best loss 2.125676\n",
+ " 18%|█▊ | 37/200 [00:15<01:16, 2.13trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:57,635 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:57,635 - TPE using 37/37 trials with best loss 2.125676\n",
+ " 19%|█▉ | 38/200 [00:16<01:12, 2.24trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:58,028 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:58,029 - TPE using 38/38 trials with best loss 2.125676\n",
+ " 20%|█▉ | 39/200 [00:16<01:09, 2.33trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:58,419 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:58,419 - TPE using 39/39 trials with best loss 2.125676\n",
+ " 20%|██ | 40/200 [00:16<01:07, 2.37trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:58,823 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:11:58,824 - TPE using 40/40 trials with best loss 2.125676\n",
+ " 20%|██ | 41/200 [00:17<01:22, 1.92trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:59,572 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:11:59,573 - TPE using 41/41 trials with best loss 2.125676\n",
+ " 21%|██ | 42/200 [00:18<01:16, 2.06trial/s, best loss: 2.1256756901992366]2024-04-03 16:11:59,976 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:11:59,976 - TPE using 42/42 trials with best loss 2.125676\n",
+ " 22%|██▏ | 43/200 [00:18<01:10, 2.24trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:00,336 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:00,336 - TPE using 43/43 trials with best loss 2.125676\n",
+ " 22%|██▏ | 44/200 [00:19<01:14, 2.10trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:00,882 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:00,882 - TPE using 44/44 trials with best loss 2.125676\n",
+ " 22%|██▎ | 45/200 [00:19<01:15, 2.06trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:01,386 - build_posterior_wrapper took 0.001997 seconds\n",
+ "2024-04-03 16:12:01,387 - TPE using 45/45 trials with best loss 2.125676\n",
+ " 23%|██▎ | 46/200 [00:20<01:14, 2.08trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:01,857 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:01,858 - TPE using 46/46 trials with best loss 2.125676\n",
+ " 24%|██▎ | 47/200 [00:20<01:08, 2.23trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:02,230 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:02,231 - TPE using 47/47 trials with best loss 2.125676\n",
+ " 24%|██▍ | 48/200 [00:20<01:06, 2.28trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:02,647 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:02,647 - TPE using 48/48 trials with best loss 2.125676\n",
+ " 24%|██▍ | 49/200 [00:21<01:04, 2.35trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:03,039 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:03,040 - TPE using 49/49 trials with best loss 2.125676\n",
+ " 25%|██▌ | 50/200 [00:21<01:06, 2.24trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:03,536 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:03,537 - TPE using 50/50 trials with best loss 2.125676\n",
+ " 26%|██▌ | 51/200 [00:22<01:03, 2.35trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:03,913 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:03,913 - TPE using 51/51 trials with best loss 2.125676\n",
+ " 26%|██▌ | 52/200 [00:22<01:18, 1.89trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:04,681 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:04,682 - TPE using 52/52 trials with best loss 2.125676\n",
+ " 26%|██▋ | 53/200 [00:23<01:21, 1.80trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:05,294 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:12:05,295 - TPE using 53/53 trials with best loss 2.125676\n",
+ " 27%|██▋ | 54/200 [00:23<01:12, 2.02trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:05,653 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:12:05,654 - TPE using 54/54 trials with best loss 2.125676\n",
+ " 28%|██▊ | 55/200 [00:24<01:03, 2.27trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:05,965 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:12:05,966 - TPE using 55/55 trials with best loss 2.125676\n",
+ " 28%|██▊ | 56/200 [00:24<01:01, 2.33trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:06,369 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:06,370 - TPE using 56/56 trials with best loss 2.125676\n",
+ " 28%|██▊ | 57/200 [00:24<00:58, 2.45trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:06,726 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:06,727 - TPE using 57/57 trials with best loss 2.125676\n",
+ " 29%|██▉ | 58/200 [00:25<00:57, 2.45trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:07,134 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:07,135 - TPE using 58/58 trials with best loss 2.125676\n",
+ " 30%|██▉ | 59/200 [00:25<00:55, 2.55trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:07,492 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:07,492 - TPE using 59/59 trials with best loss 2.125676\n",
+ " 30%|███ | 60/200 [00:26<00:54, 2.59trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:07,864 - build_posterior_wrapper took 0.002001 seconds\n",
+ "2024-04-03 16:12:07,864 - TPE using 60/60 trials with best loss 2.125676\n",
+ " 30%|███ | 61/200 [00:26<00:56, 2.46trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:08,316 - build_posterior_wrapper took 0.001987 seconds\n",
+ "2024-04-03 16:12:08,317 - TPE using 61/61 trials with best loss 2.125676\n",
+ " 31%|███ | 62/200 [00:26<00:57, 2.40trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:08,757 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:08,757 - TPE using 62/62 trials with best loss 2.125676\n",
+ " 32%|███▏ | 63/200 [00:27<01:16, 1.80trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:09,637 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:09,638 - TPE using 63/63 trials with best loss 2.125676\n",
+ " 32%|███▏ | 64/200 [00:28<01:08, 1.99trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:10,015 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:12:10,016 - TPE using 64/64 trials with best loss 2.125676\n",
+ " 32%|███▎ | 65/200 [00:28<01:10, 1.93trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:10,574 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:10,575 - TPE using 65/65 trials with best loss 2.125676\n",
+ " 33%|███▎ | 66/200 [00:29<01:01, 2.18trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:10,888 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:10,888 - TPE using 66/66 trials with best loss 2.125676\n",
+ " 34%|███▎ | 67/200 [00:29<00:55, 2.41trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:11,201 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:11,202 - TPE using 67/67 trials with best loss 2.125676\n",
+ " 34%|███▍ | 68/200 [00:29<00:50, 2.61trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:11,510 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:11,510 - TPE using 68/68 trials with best loss 2.125676\n",
+ " 34%|███▍ | 69/200 [00:29<00:47, 2.77trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:11,818 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-03 16:12:11,819 - TPE using 69/69 trials with best loss 2.125676\n",
+ " 35%|███▌ | 70/200 [00:30<00:48, 2.66trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:12,230 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:12,230 - TPE using 70/70 trials with best loss 2.125676\n",
+ " 36%|███▌ | 71/200 [00:30<00:52, 2.45trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:12,713 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-03 16:12:12,714 - TPE using 71/71 trials with best loss 2.125676\n",
+ " 36%|███▌ | 72/200 [00:31<00:52, 2.45trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:13,120 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:13,120 - TPE using 72/72 trials with best loss 2.125676\n",
+ " 36%|███▋ | 73/200 [00:31<00:50, 2.54trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:13,482 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:13,482 - TPE using 73/73 trials with best loss 2.125676\n",
+ " 37%|███▋ | 74/200 [00:32<00:49, 2.55trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:13,868 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-03 16:12:13,868 - TPE using 74/74 trials with best loss 2.125676\n",
+ " 38%|███▊ | 75/200 [00:32<00:46, 2.71trial/s, best loss: 2.1256756901992366]2024-04-03 16:12:14,183 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-03 16:12:14,184 - TPE using 75/75 trials with best loss 2.125676\n",
+ "2024-04-03 16:12:14,650 - Early stop triggered. Stopping iterations as condition is reach.\n",
+ " 38%|███▊ | 76/200 [00:32<00:54, 2.28trial/s, best loss: 2.1256756901992366]\n",
+ "2024-04-03 16:12:14,653 - SimultaneousTuner - Hyperparameters optimization finished\n",
+ "2024-04-03 16:12:14,949 - SimultaneousTuner - Return init graph due to the fact that obtained metric 2.177 worse than initial (+ 0.05% deviation) 2.155\n",
+ "2024-04-03 16:12:14,950 - SimultaneousTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.48559442827427857, 'min_samples_leaf': 3, 'min_samples_split': 5}\n",
+ "quantile_extractor - {'stride': 6, 'window_size': 0}\n",
+ "2024-04-03 16:12:14,950 - SimultaneousTuner - Final metric: 2.156\n",
+ "2024-04-03 16:12:15,284 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-03 16:12:15,286 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-03 16:12:15,288 - OptunaTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-03 16:12:15,621 - OptunaTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.48559442827427857, 'min_samples_leaf': 3, 'min_samples_split': 5}\n",
+ "quantile_extractor - {'stride': 6, 'window_size': 0} \n",
+ "Initial metric: [2.149]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- "100%|██████████| 133/133 [00:04<00:00, 26.69it/s]\n",
- "100%|██████████| 58/58 [00:00<00:00, 796.64it/s]\n"
+ "[I 2024-04-03 16:12:15,622] A new study created in memory with name: no-name-8b21e0dd-690c-43b1-b10d-73d0ca077743\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": " 0%| | 0/200 [00:00, ?it/s]",
+ "application/vnd.jupyter.widget-view+json": {
+ "version_major": 2,
+ "version_minor": 0,
+ "model_id": "b46462c6f2144961bac870d864006782"
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[I 2024-04-03 16:12:17,581] Trial 7 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.8877983365258869, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 10, '0 || treg | bootstrap': False}. Best is trial 7 with value: 2.445611769767872.\n",
+ "[I 2024-04-03 16:12:17,613] Trial 4 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.4825005163339129, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 7 with value: 2.445611769767872.\n",
+ "[I 2024-04-03 16:12:17,721] Trial 3 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.9129674550392047, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 15, '0 || treg | bootstrap': False}. Best is trial 7 with value: 2.445611769767872.\n",
+ "[I 2024-04-03 16:12:17,832] Trial 2 finished with value: 2.429942409634732 and parameters: {'0 || treg | max_features': 0.7350190352544014, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 19, '0 || treg | bootstrap': True}. Best is trial 2 with value: 2.429942409634732.\n",
+ "[I 2024-04-03 16:12:17,987] Trial 1 finished with value: 2.4746870600260236 and parameters: {'0 || treg | max_features': 0.3603176738567611, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': True}. Best is trial 2 with value: 2.429942409634732.\n",
+ "[I 2024-04-03 16:12:18,103] Trial 5 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.6825979996272803, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 16, '0 || treg | bootstrap': False}. Best is trial 2 with value: 2.429942409634732.\n",
+ "[I 2024-04-03 16:12:18,253] Trial 6 finished with value: 2.1931195542902633 and parameters: {'0 || treg | max_features': 0.3188502176234268, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 6 with value: 2.1931195542902633.\n",
+ "[I 2024-04-03 16:12:18,365] Trial 0 finished with value: 2.1553545846843036 and parameters: {'0 || treg | max_features': 0.48559442827427857, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:19,291] Trial 8 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.5854066210064762, '0 || treg | min_samples_split': 20, '0 || treg | min_samples_leaf': 19, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,180] Trial 13 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.48809549001432156, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 21, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,276] Trial 9 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.3793932700550612, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 20, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,336] Trial 14 finished with value: 2.4169561554149834 and parameters: {'0 || treg | max_features': 0.42449414692597864, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 16, '0 || treg | bootstrap': True}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,385] Trial 12 finished with value: 2.4546553192529594 and parameters: {'0 || treg | max_features': 0.726475946087195, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': True}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,437] Trial 10 finished with value: 2.354099990839437 and parameters: {'0 || treg | max_features': 0.07262156777613654, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,494] Trial 11 finished with value: 2.4605046012675333 and parameters: {'0 || treg | max_features': 0.3902440971318589, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 18, '0 || treg | bootstrap': True}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:20,531] Trial 15 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.12717540890940546, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 12, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:21,096] Trial 16 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.6248261488000517, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:21,630] Trial 17 finished with value: 2.297394411346455 and parameters: {'0 || treg | max_features': 0.056846491208065564, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': True}. Best is trial 0 with value: 2.1553545846843036.\n",
+ "[I 2024-04-03 16:12:22,576] Trial 18 finished with value: 2.151348970400166 and parameters: {'0 || treg | max_features': 0.14781124275856794, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': True}. Best is trial 18 with value: 2.151348970400166.\n",
+ "[I 2024-04-03 16:12:22,688] Trial 23 finished with value: 2.1141366343320738 and parameters: {'0 || treg | max_features': 0.2191698481142519, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:22,726] Trial 21 finished with value: 2.251026497764017 and parameters: {'0 || treg | max_features': 0.2396591831983816, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:22,759] Trial 20 finished with value: 2.126882160072264 and parameters: {'0 || treg | max_features': 0.0597715659425902, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:23,025] Trial 19 finished with value: 2.162926478400887 and parameters: {'0 || treg | max_features': 0.1077129827232205, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:23,260] Trial 22 finished with value: 2.1990645653405534 and parameters: {'0 || treg | max_features': 0.20110194994051617, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:23,495] Trial 24 finished with value: 2.238552779198512 and parameters: {'0 || treg | max_features': 0.21365434075031003, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:23,542] Trial 25 finished with value: 2.2356393110693857 and parameters: {'0 || treg | max_features': 0.24501258463056996, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:24,831] Trial 27 finished with value: 2.451917298581203 and parameters: {'0 || treg | max_features': 0.21643509589353987, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:24,909] Trial 28 finished with value: 2.402680514163258 and parameters: {'0 || treg | max_features': 0.23358198861531185, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:24,994] Trial 29 finished with value: 2.46364020080561 and parameters: {'0 || treg | max_features': 0.24268340122871218, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:25,013] Trial 26 finished with value: 2.458950758848149 and parameters: {'0 || treg | max_features': 0.2219538480870265, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:25,321] Trial 32 finished with value: 2.432174778344539 and parameters: {'0 || treg | max_features': 0.1782957033556613, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:25,784] Trial 33 finished with value: 2.4396669564972044 and parameters: {'0 || treg | max_features': 0.1584398706688314, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:25,827] Trial 30 finished with value: 2.4405240720224994 and parameters: {'0 || treg | max_features': 0.2186776265040412, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:25,967] Trial 31 finished with value: 2.4615189544916642 and parameters: {'0 || treg | max_features': 0.24440499883808808, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:26,608] Trial 36 finished with value: 2.280946376663744 and parameters: {'0 || treg | max_features': 0.1205017095538437, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:26,845] Trial 37 finished with value: 2.173352623556462 and parameters: {'0 || treg | max_features': 0.1470139490820635, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:27,027] Trial 34 finished with value: 2.4349004352997086 and parameters: {'0 || treg | max_features': 0.14449397505665956, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:27,217] Trial 35 finished with value: 2.478557156529193 and parameters: {'0 || treg | max_features': 0.1255135232336022, '0 || treg | min_samples_split': 17, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': True}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:27,383] Trial 38 finished with value: 2.141512729954181 and parameters: {'0 || treg | max_features': 0.3192605222549979, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:27,995] Trial 41 finished with value: 2.162808749931143 and parameters: {'0 || treg | max_features': 0.3078286142698846, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:28,022] Trial 39 finished with value: 2.117252495835094 and parameters: {'0 || treg | max_features': 0.31999740016241923, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:28,213] Trial 40 finished with value: 2.1700597910022994 and parameters: {'0 || treg | max_features': 0.2870096289775308, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:28,292] Trial 42 finished with value: 2.188226172811343 and parameters: {'0 || treg | max_features': 0.29993687670618097, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 2.1141366343320738.\n",
+ "[I 2024-04-03 16:12:28,592] Trial 43 finished with value: 2.095353884025782 and parameters: {'0 || treg | max_features': 0.31547109149437036, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:29,128] Trial 45 finished with value: 2.165177785018313 and parameters: {'0 || treg | max_features': 0.30635981448945043, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:29,194] Trial 46 finished with value: 2.207167311631093 and parameters: {'0 || treg | max_features': 0.31522094897216435, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:29,275] Trial 44 finished with value: 2.185404147124557 and parameters: {'0 || treg | max_features': 0.31498579754304035, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,060] Trial 50 finished with value: 2.1397977718035044 and parameters: {'0 || treg | max_features': 0.34693366926537667, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,253] Trial 49 finished with value: 2.21123276963166 and parameters: {'0 || treg | max_features': 0.32741969472506177, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,348] Trial 51 finished with value: 2.1680039222964433 and parameters: {'0 || treg | max_features': 0.3516764499952695, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,396] Trial 48 finished with value: 2.1913845099258777 and parameters: {'0 || treg | max_features': 0.30611370709049973, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,508] Trial 47 finished with value: 2.2085880958116326 and parameters: {'0 || treg | max_features': 0.28798428181932556, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:30,994] Trial 53 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.4205857115877998, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 12, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:31,235] Trial 52 finished with value: 2.1926088149059053 and parameters: {'0 || treg | max_features': 0.4783804451323861, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:31,344] Trial 54 finished with value: 2.193322628026173 and parameters: {'0 || treg | max_features': 0.43297959658167945, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:32,176] Trial 55 finished with value: 2.160531152973461 and parameters: {'0 || treg | max_features': 0.4248450237146635, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:32,289] Trial 57 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.4060819311688395, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 13, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:32,348] Trial 56 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.41645256972220246, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 13, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:32,456] Trial 59 finished with value: 2.175842194156103 and parameters: {'0 || treg | max_features': 0.4149090587822476, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:32,534] Trial 58 finished with value: 2.13764657750381 and parameters: {'0 || treg | max_features': 0.4495973731414309, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:33,134] Trial 60 finished with value: 2.197167300320111 and parameters: {'0 || treg | max_features': 0.4775738138601576, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:33,235] Trial 61 finished with value: 2.161727082968062 and parameters: {'0 || treg | max_features': 0.40361693976001883, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:33,316] Trial 62 finished with value: 2.1890141202162496 and parameters: {'0 || treg | max_features': 0.5580817386433254, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:34,280] Trial 64 finished with value: 2.1748087130995484 and parameters: {'0 || treg | max_features': 0.5254676255088522, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:34,314] Trial 65 finished with value: 2.1806743406497073 and parameters: {'0 || treg | max_features': 0.3611029232144066, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:34,427] Trial 66 finished with value: 2.332419711644491 and parameters: {'0 || treg | max_features': 0.0804653672967854, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:34,570] Trial 63 finished with value: 2.1576140019360404 and parameters: {'0 || treg | max_features': 0.3784136791419298, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:34,667] Trial 67 finished with value: 2.1418586497186967 and parameters: {'0 || treg | max_features': 0.5036226290962427, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:35,342] Trial 69 finished with value: 2.195047766131076 and parameters: {'0 || treg | max_features': 0.5266698406524588, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:35,441] Trial 70 finished with value: 2.191218092113973 and parameters: {'0 || treg | max_features': 0.36108480569740065, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:35,534] Trial 68 finished with value: 2.41816886968543 and parameters: {'0 || treg | max_features': 0.5652510470634126, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:36,250] Trial 71 finished with value: 2.247874431136162 and parameters: {'0 || treg | max_features': 0.08395872536845642, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:36,497] Trial 74 finished with value: 2.2235552780742758 and parameters: {'0 || treg | max_features': 0.8482192416154273, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:36,743] Trial 73 finished with value: 2.212451404540345 and parameters: {'0 || treg | max_features': 0.2669391784349962, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:36,857] Trial 72 finished with value: 2.5424110404792564 and parameters: {'0 || treg | max_features': 0.8299723826092836, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:36,932] Trial 75 finished with value: 2.278975339946194 and parameters: {'0 || treg | max_features': 0.2712834386275034, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:37,120] Trial 77 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.4546974126144071, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 8, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:37,499] Trial 78 finished with value: 2.172181875366282 and parameters: {'0 || treg | max_features': 0.9698846664201995, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:37,850] Trial 76 finished with value: 2.198197376730037 and parameters: {'0 || treg | max_features': 0.26938614050825427, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:38,469] Trial 79 finished with value: 2.13408784963122 and parameters: {'0 || treg | max_features': 0.45513073222938494, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:38,660] Trial 81 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.1893047106555084, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:38,852] Trial 80 finished with value: 2.172096871816109 and parameters: {'0 || treg | max_features': 0.45088151329663684, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:39,060] Trial 82 finished with value: 2.1870697645987542 and parameters: {'0 || treg | max_features': 0.4615905042950481, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:39,172] Trial 84 finished with value: 2.1774597355460465 and parameters: {'0 || treg | max_features': 0.6310163040181543, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:39,422] Trial 85 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.18470718781839113, '0 || treg | min_samples_split': 16, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:39,618] Trial 83 finished with value: 2.1966432381184813 and parameters: {'0 || treg | max_features': 0.45407154453780474, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:40,395] Trial 88 finished with value: 2.2086906334213965 and parameters: {'0 || treg | max_features': 0.3372293099356104, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:40,502] Trial 87 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.18420939008331993, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:40,719] Trial 86 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.17867833284362591, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:40,775] Trial 89 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.336635310804067, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:41,090] Trial 90 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.3416003050989014, '0 || treg | min_samples_split': 16, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:41,201] Trial 92 finished with value: 2.2112291301950213 and parameters: {'0 || treg | max_features': 0.504525349836149, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:41,425] Trial 91 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.3433083711060787, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:41,482] Trial 93 finished with value: 2.1868848372503553 and parameters: {'0 || treg | max_features': 0.5049475852662573, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,153] Trial 95 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.49657787413211824, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 8, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,309] Trial 94 finished with value: 2.3282716531411327 and parameters: {'0 || treg | max_features': 0.052016205440942986, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,559] Trial 97 finished with value: 2.445611769767872 and parameters: {'0 || treg | max_features': 0.3836376768451575, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 10, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,913] Trial 96 finished with value: 2.112799805702251 and parameters: {'0 || treg | max_features': 0.5103391986720864, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,941] Trial 100 finished with value: 2.4482033429500545 and parameters: {'0 || treg | max_features': 0.05128452390360749, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': True}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:42,975] Trial 98 finished with value: 2.3030373543357943 and parameters: {'0 || treg | max_features': 0.5036311463078015, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': True}. Best is trial 43 with value: 2.095353884025782.\n",
+ "[I 2024-04-03 16:12:43,008] Trial 99 finished with value: 2.4283794895396293 and parameters: {'0 || treg | max_features': 0.10125584599184659, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': True}. Best is trial 43 with value: 2.095353884025782.\n",
+ "2024-04-03 16:12:43,017 - OptunaTuner - Hyperparameters optimization finished\n",
+ "2024-04-03 16:12:43,325 - OptunaTuner - Return tuned graph due to the fact that obtained metric 2.131 equal or better than initial (+ 0.05% deviation) 2.148\n",
+ "2024-04-03 16:12:43,326 - OptunaTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.31547109149437036, 'min_samples_leaf': 3, 'min_samples_split': 3}\n",
+ "quantile_extractor - {'stride': 6, 'window_size': 0}\n",
+ "2024-04-03 16:12:43,327 - OptunaTuner - Final metric: 2.131\n"
]
}
],
"source": [
- "metric_dict = evaluate_industrial_model(train_data,test_data)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "pycharm": {
- "name": "#%% md\n"
- }
- },
- "source": [
- "At the end of the experiment we can obtain the desired metric values using `calculate_regression_metric` method. Now there are five available metrics for classification task:\n",
- "- `explained_variance_score`\n",
- "- `max_error`\n",
- "- `mean_absolute_error`\n",
- "- `mean_squared_error`\n",
- "- `d2_absolute_error_score`.\n",
- "- `median_absolute_error`\n",
- "- `r2_score`"
+ "industrial_model = evaluate_loop(api_params=params, finetune=True)"
]
},
{
"cell_type": "code",
"execution_count": 9,
+ "outputs": [],
+ "source": [
+ "labels = industrial_model.predict(test_data)\n",
+ "probs = industrial_model.predict_proba(test_data)\n",
+ "metrics = industrial_model.get_metrics(target=test_data[1],\n",
+ " rounding_order=3,\n",
+ " metric_names=('r2', 'rmse', 'mae'))"
+ ],
"metadata": {
- "ExecuteTime": {
- "end_time": "2023-08-28T11:01:34.941934Z",
- "start_time": "2023-08-28T11:01:34.928460Z"
- },
+ "collapsed": false,
"pycharm": {
"name": "#%%\n"
}
- },
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
"outputs": [
{
"data": {
- "text/plain": " r2_score: mean_squared_error: \\\nregression_with_statistical_features -5.644074 21.505536 \n\n root_mean_squared_error: \\\nregression_with_statistical_features 4.637406 \n\n mean_absolute_error \\\nregression_with_statistical_features 3.231781 \n\n median_absolute_error \\\nregression_with_statistical_features 2.051471 \n\n explained_variance_score max_error \\\nregression_with_statistical_features -5.295417 18.537842 \n\n d2_absolute_error_score \nregression_with_statistical_features -1.248095 ",
- "text/html": "\n\n
\n \n \n \n r2_score: \n mean_squared_error: \n root_mean_squared_error: \n mean_absolute_error \n median_absolute_error \n explained_variance_score \n max_error \n d2_absolute_error_score \n \n \n \n \n regression_with_statistical_features \n -5.644074 \n 21.505536 \n 4.637406 \n 3.231781 \n 2.051471 \n -5.295417 \n 18.537842 \n -1.248095 \n \n \n
\n
"
+ "text/plain": " r2 rmse mae\n0 0.671 1.032 0.709",
+ "text/html": "\n\n
\n \n \n \n r2 \n rmse \n mae \n \n \n \n \n 0 \n 0.671 \n 1.032 \n 0.709 \n \n \n
\n
"
},
- "execution_count": 9,
+ "execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "df_baseline = pd.concat([x for x in metric_dict.values()],axis=1)\n",
- "df_baseline.columns = list(metric_dict.keys())\n",
- "df_baseline = df_baseline.T\n",
- "df_baseline"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "outputs": [],
- "source": [
- "best_baseline = df_baseline.sort_values('root_mean_squared_error:')['root_mean_squared_error:'].iloc[0]"
+ "metrics"
],
"metadata": {
"collapsed": false,
@@ -416,10 +1049,28 @@
}
}
},
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "At the end of the experiment we can obtain the desired metric values using `calculate_regression_metric` method. Now there are five available metrics for classification task:\n",
+ "- `explained_variance_score`\n",
+ "- `max_error`\n",
+ "- `mean_absolute_error`\n",
+ "- `mean_squared_error`\n",
+ "- `d2_absolute_error_score`.\n",
+ "- `median_absolute_error`\n",
+ "- `r2_score`"
+ ]
+ },
{
"cell_type": "markdown",
"source": [
- "## Could it be done better? Tuning approach"
+ "## AutoML approach"
],
"metadata": {
"collapsed": false,
@@ -436,3037 +1087,705 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Current_model - regression_with_statistical_features\n",
- "2024-01-11 17:08:37,555 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
- "2024-01-11 17:08:37,555 - DataSourceSplitter - Hold out validation is applied.\n",
- "2024-01-11 17:08:37,558 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n"
+ "2024-04-03 16:17:29,001 - Initialising experiment setup\n",
+ "2024-04-03 16:17:29,003 - Initialising Industrial Repository\n",
+ "2024-04-03 16:17:29,004 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-03 16:17:29,022 - State start\n",
+ "2024-04-03 16:17:29,031 - Scheduler at: inproc://10.64.4.217/22788/9\n",
+ "2024-04-03 16:17:29,032 - dashboard at: http://10.64.4.217:55185/status\n",
+ "2024-04-03 16:17:29,034 - Registering Worker plugin shuffle\n",
+ "2024-04-03 16:17:29,045 - Start worker at: inproc://10.64.4.217/22788/12\n",
+ "2024-04-03 16:17:29,046 - Listening to: inproc10.64.4.217\n",
+ "2024-04-03 16:17:29,046 - Worker name: 0\n",
+ "2024-04-03 16:17:29,047 - dashboard at: 10.64.4.217:55188\n",
+ "2024-04-03 16:17:29,047 - Waiting to connect to: inproc://10.64.4.217/22788/9\n",
+ "2024-04-03 16:17:29,048 - -------------------------------------------------\n",
+ "2024-04-03 16:17:29,048 - Threads: 8\n",
+ "2024-04-03 16:17:29,049 - Memory: 31.95 GiB\n",
+ "2024-04-03 16:17:29,049 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-153lpg33\n",
+ "2024-04-03 16:17:29,050 - -------------------------------------------------\n",
+ "2024-04-03 16:17:29,053 - Register worker \n",
+ "2024-04-03 16:17:29,055 - Starting worker compute stream, inproc://10.64.4.217/22788/12\n",
+ "2024-04-03 16:17:29,055 - Starting established connection to inproc://10.64.4.217/22788/13\n",
+ "2024-04-03 16:17:29,057 - Starting Worker plugin shuffle\n",
+ "2024-04-03 16:17:29,058 - Registered to: inproc://10.64.4.217/22788/9\n",
+ "2024-04-03 16:17:29,059 - -------------------------------------------------\n",
+ "2024-04-03 16:17:29,059 - Starting established connection to inproc://10.64.4.217/22788/9\n",
+ "2024-04-03 16:17:29,063 - Receive client connection: Client-857a9db7-f1bc-11ee-9904-b42e99a00ea1\n",
+ "2024-04-03 16:17:29,065 - Starting established connection to inproc://10.64.4.217/22788/14\n",
+ "2024-04-03 16:17:29,067 - LinK Dask Server - http://10.64.4.217:55185/status\n",
+ "2024-04-03 16:17:29,068 - Initialising solver\n",
+ "2024-04-03 16:17:29,108 - AssumptionsHandler - Initial pipeline fitting started\n",
+ "2024-04-03 16:17:29,801 - AssumptionsHandler - Initial pipeline was fitted successfully\n",
+ "2024-04-03 16:17:29,803 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 0.5 MiB, max: 0.9 MiB\n",
+ "2024-04-03 16:17:29,804 - ApiComposer - Initial pipeline was fitted in 0.7 sec.\n",
+ "2024-04-03 16:17:29,805 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
+ "2024-04-03 16:17:29,813 - ApiComposer - AutoML configured. Parameters tuning: True. Time limit: 15 min. Set of candidate models: ['xgbreg', 'sgdr', 'treg', 'ridge', 'lasso', 'dtreg', 'channel_filtration', 'eigen_basis', 'wavelet_basis', 'fourier_basis', 'quantile_extractor', 'minirocket_extractor', 'scaling', 'normalization', 'simple_imputation', 'kernel_pca'].\n",
+ "2024-04-03 16:17:29,838 - ApiComposer - Pipeline composition started.\n",
+ "2024-04-03 16:17:29,839 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-03 16:17:29,840 - DataSourceSplitter - Hold out validation is applied.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- "100%|██████████| 106/106 [00:00<00:00, 603.88it/s]\n",
- "100%|██████████| 27/27 [00:00<00:00, 731.68it/s]\n"
+ "Generations: 0%| | 0/10000 [00:00, ?gen/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- "2024-01-11 17:08:38,009 - SimultaneousTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [ridge, quantile_extractor]}\n",
- "ridge - {}\n",
- "quantile_extractor - {'window_size': 5} \n",
- "Initial metric: [7.546]\n",
- " 0%| | 0/3 [00:00, ?trial/s, best loss=?]2024-01-11 17:08:38,014 - build_posterior_wrapper took 0.001994 seconds\n",
- "2024-01-11 17:08:38,014 - TPE using 0 trials\n"
+ "2024-04-03 16:17:29,861 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:17:35,069 - IndustrialDispatcher - 1 individuals out of 1 in previous population were evaluated successfully.\n",
+ "2024-04-03 16:17:35,112 - IndustrialEvoOptimizer - Generation num: 1 size: 1\n",
+ "2024-04-03 16:17:35,113 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-03 16:17:36,176 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:19:56,027 - IndustrialDispatcher - 21 individuals out of 21 in previous population were evaluated successfully.\n",
+ "2024-04-03 16:19:56,122 - IndustrialEvoOptimizer - Generation num: 2 size: 21\n",
+ "2024-04-03 16:19:56,124 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-03 16:19:56,125 - IndustrialEvoOptimizer - Next population size: 21; max graph depth: 6\n",
+ "2024-04-03 16:20:03,661 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:20:53,008 - full garbage collections took 11% CPU time recently (threshold: 10%)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 567.55it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 603.88it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.69it/s]\n"
+ "Exception ignored in: .on_destroy at 0x000001B17545D1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861470264176\n",
+ "Exception ignored in: .on_destroy at 0x000001B1759295E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1857737900368\n",
+ "Exception ignored in: .on_destroy at 0x000001B17FB52C10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861689906832\n",
+ "Exception ignored in: .on_destroy at 0x000001B182CE35E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861689476272\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 33%|███▎ | 1/3 [00:00<00:00, 2.21trial/s, best loss: 7.546356685867857]2024-01-11 17:08:38,467 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:38,468 - TPE using 1/1 trials with best loss 7.546357\n"
+ "2024-04-03 16:21:14,862 - full garbage collections took 12% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:21:25,667 - full garbage collections took 24% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:21:32,243 - full garbage collections took 26% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:21:37,849 - full garbage collections took 26% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:21:44,251 - full garbage collections took 26% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:21:53,145 - full garbage collections took 26% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:02,245 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:18,763 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:22,572 - full garbage collections took 27% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:34,246 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:43,814 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:43,818 - IndustrialDispatcher - 18 individuals out of 18 in previous population were evaluated successfully.\n",
+ "2024-04-03 16:22:43,993 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:22:50,636 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:22:58,559 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:11,557 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:14,623 - full garbage collections took 28% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:14,639 - IndustrialDispatcher - 4 individuals out of 4 in previous population were evaluated successfully.\n",
+ "2024-04-03 16:23:14,642 - ReproductionController - Reproduction achieved pop size 22 using 2 attempt(s) with success rate 0.986\n",
+ "2024-04-03 16:23:14,644 - RandomAgent - len=24 nonzero=15 avg=-0.475 std=0.927 min=-3.023 max=0.594 \n",
+ "2024-04-03 16:23:14,645 - RandomAgent - actions/rewards: [(>, -1.0), (>, -1.0), (>, -1.0), (>, 0.0), (>, 0.0), (>, 0.0), (>, 0.0), (>, 0.0), (>, 0.0), (, 0.0), (>, 0.0), (>, -0.0053), (>, -3.0234), (>, 0.0041), (>, 0.5889), (>, 0.0022), (, 0.1716), (>, -0.8564), (, 0.0356), (, 0.5939), (, -0.188), (>, -1.6156), (>, 0.1699), (, 0.0)]\n",
+ "2024-04-03 16:23:14,648 - RandomAgent - exp=[0.2 0.2 0.2 0.2 0.2] probs=[0.2 0.2 0.2 0.2 0.2]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 530.01it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 563.82it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 660.29it/s]\n"
+ "Generations: 0%| | 1/10000 [05:44<957:40:07, 344.80s/gen]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 67%|██████▋ | 2/3 [00:00<00:00, 2.12trial/s, best loss: 7.546356685867857]2024-01-11 17:08:38,952 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:38,954 - TPE using 2/2 trials with best loss 7.546357\n"
+ "2024-04-03 16:23:14,734 - IndustrialEvoOptimizer - Generation num: 3 size: 21\n",
+ "2024-04-03 16:23:14,736 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-03 16:23:14,738 - IndustrialEvoOptimizer - no improvements for 1 iterations\n",
+ "2024-04-03 16:23:14,739 - IndustrialEvoOptimizer - spent time: 5.7 min\n",
+ "2024-04-03 16:23:14,740 - IndustrialEvoOptimizer - Next mutation proba: 0.05; Next crossover proba: 0.95\n",
+ "2024-04-03 16:23:14,742 - IndustrialEvoOptimizer - Next population size: 34; max graph depth: 6\n",
+ "2024-04-03 16:23:20,363 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:23:27,385 - full garbage collections took 22% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:32,224 - full garbage collections took 22% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:49,188 - full garbage collections took 23% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:23:55,613 - full garbage collections took 23% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:24:06,998 - full garbage collections took 23% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:24:12,135 - full garbage collections took 23% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:24:28,265 - full garbage collections took 23% CPU time recently (threshold: 10%)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 544.40it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 576.04it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.68it/s]\n"
+ "Exception ignored in: .on_destroy at 0x000001B1866C5550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861949568560\n",
+ "Exception ignored in: .on_destroy at 0x000001B1856CFEE0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861958713488\n",
+ "Exception ignored in: .on_destroy at 0x000001B1863405E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1860751192496\n",
+ "Exception ignored in: .on_destroy at 0x000001B1865EC160>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1862034091248\n",
+ "Exception ignored in: .on_destroy at 0x000001B18674A1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1857913817008\n",
+ "Exception ignored in: .on_destroy at 0x000001B189EFE9D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861348031632\n",
+ "Exception ignored in: .on_destroy at 0x000001B18A17DB80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861996696176\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- "100%|██████████| 3/3 [00:01<00:00, 2.16trial/s, best loss: 7.546356685867857]\n",
- " 10%|█ | 3/30 [00:00, ?trial/s, best loss=?]2024-01-11 17:08:39,408 - build_posterior_wrapper took 0.001994 seconds\n",
- "2024-01-11 17:08:39,408 - TPE using 3/3 trials with best loss 7.546357\n"
+ "2024-04-03 16:24:47,067 - full garbage collections took 23% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:07,232 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:10,181 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:25,942 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:34,021 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:40,181 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:42,258 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:25:48,159 - full garbage collections took 32% CPU time recently (threshold: 10%)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 565.27it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 703.87it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 796.22it/s]\n"
+ "Exception ignored in: .on_destroy at 0x000001B18C1FA1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861996734000\n",
+ "Exception ignored in: .on_destroy at 0x000001B18C37F9D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861975770960\n",
+ "Exception ignored in: .on_destroy at 0x000001B18C37FE50>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 1861945401776\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 13%|█▎ | 4/30 [00:00<00:10, 2.50trial/s, best loss: 7.546356685867857]2024-01-11 17:08:39,808 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:39,809 - TPE using 4/4 trials with best loss 7.546357\n"
+ "2024-04-03 16:26:08,935 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:24,483 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:29,610 - full garbage collections took 33% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:29,612 - IndustrialDispatcher - 18 individuals out of 18 in previous population were evaluated successfully.\n",
+ "2024-04-03 16:26:31,507 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:26:31,513 - IndustrialDispatcher - 0 individuals out of 14 in previous population were evaluated successfully. 0.0% is a fairly small percentage of successful evaluation.\n",
+ "2024-04-03 16:26:37,597 - full garbage collections took 30% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:42,276 - full garbage collections took 31% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:47,201 - full garbage collections took 31% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:51,894 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:26:56,891 - full garbage collections took 32% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:01,485 - full garbage collections took 33% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:06,168 - full garbage collections took 34% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:10,823 - full garbage collections took 34% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:15,465 - full garbage collections took 35% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:20,128 - full garbage collections took 35% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:24,573 - full garbage collections took 36% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:29,126 - full garbage collections took 36% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:33,596 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:37,977 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:38,681 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:27:38,687 - IndustrialDispatcher - 0 individuals out of 13 in previous population were evaluated successfully. 0.0% is a fairly small percentage of successful evaluation.\n",
+ "2024-04-03 16:27:48,131 - full garbage collections took 49% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:27:56,770 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:05,660 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:14,185 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:22,597 - full garbage collections took 51% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:31,404 - full garbage collections took 52% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:40,342 - full garbage collections took 52% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:49,202 - full garbage collections took 53% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:28:57,772 - full garbage collections took 54% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:06,579 - full garbage collections took 55% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:14,868 - full garbage collections took 56% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:23,645 - full garbage collections took 56% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:32,142 - full garbage collections took 58% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:37,222 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:29:37,230 - IndustrialDispatcher - 0 individuals out of 12 in previous population were evaluated successfully. 0.0% is a fairly small percentage of successful evaluation.\n",
+ "2024-04-03 16:29:44,921 - full garbage collections took 45% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:51,649 - full garbage collections took 45% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:29:58,083 - full garbage collections took 45% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:04,838 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:11,501 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:18,212 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:25,411 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:32,653 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:39,509 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:46,453 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:30:53,359 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:00,543 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:01,989 - IndustrialDispatcher - Number of used CPU's: 2\n",
+ "2024-04-03 16:31:01,994 - IndustrialDispatcher - 0 individuals out of 12 in previous population were evaluated successfully. 0.0% is a fairly small percentage of successful evaluation.\n",
+ "2024-04-03 16:31:02,429 - full garbage collections took 47% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:02,847 - full garbage collections took 47% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:03,246 - full garbage collections took 47% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:03,661 - full garbage collections took 48% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:04,053 - full garbage collections took 48% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:04,426 - full garbage collections took 50% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:04,787 - full garbage collections took 51% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:05,144 - full garbage collections took 51% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:05,538 - full garbage collections took 51% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:05,885 - full garbage collections took 52% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:06,240 - full garbage collections took 52% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:06,611 - full garbage collections took 53% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:31:06,621 - ReproductionController - Could not achieve required population size: have 22, required 34!\n",
+ "Check objective, constraints and evo operators. Possibly they return too few valid individuals.\n",
+ "2024-04-03 16:31:06,624 - RandomAgent - len=25 nonzero=10 avg=-0.690 std=1.135 min=-3.770 max=0.331 \n",
+ "2024-04-03 16:31:06,625 - RandomAgent - actions/rewards: [(>, -1.0), (>, -1.0), (>, -1.0), (, 0.0), (, 0.0), (>, 0.0), (>, 0.0), (, 0.1035), (>, 0.3311), (, 0.0), (>, 0.0), (, 0.0), (>, 0.0), (>, 0.0), (>, -0.4141), (>, -0.3373), (>, 0.1862), (>, 0.0), (>, 0.0), (>, 0.0), (>, 0.0), (>, 0.0), (, -0.0023), (>, 0.0), (>, -3.7697)]\n",
+ "2024-04-03 16:31:06,628 - RandomAgent - exp=[0.2 0.2 0.2 0.2 0.2] probs=[0.2 0.2 0.2 0.2 0.2]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 546.91it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 685.70it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 873.28it/s]\n"
+ "Generations: 0%| | 2/10000 [13:36<1165:20:58, 419.61s/gen]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 17%|█▋ | 5/30 [00:00<00:09, 2.51trial/s, best loss: 7.546356685867857]2024-01-11 17:08:40,205 - build_posterior_wrapper took 0.001993 seconds\n",
- "2024-01-11 17:08:40,206 - TPE using 5/5 trials with best loss 7.546357\n"
+ "2024-04-03 16:31:06,742 - IndustrialEvoOptimizer - Generation num: 4 size: 34\n",
+ "2024-04-03 16:31:06,742 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-03 16:31:06,743 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 554.11it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 694.66it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 773.48it/s]\n"
+ "Generations: 0%| | 2/10000 [13:36<1134:20:06, 408.44s/gen]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 20%|██ | 6/30 [00:01<00:09, 2.49trial/s, best loss: 5.2924339912484015]2024-01-11 17:08:40,611 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:40,612 - TPE using 6/6 trials with best loss 5.292434\n"
+ "2024-04-03 16:31:06,747 - OptimisationTimer - Composition time: 13.615 min\n",
+ "2024-04-03 16:31:06,748 - OptimisationTimer - Algorithm was terminated due to processing time limit\n",
+ "2024-04-03 16:31:06,753 - IndustrialEvoOptimizer - Generation num: 5 size: 1\n",
+ "2024-04-03 16:31:06,755 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-03 16:31:06,756 - IndustrialEvoOptimizer - no improvements for 1 iterations\n",
+ "2024-04-03 16:31:06,757 - IndustrialEvoOptimizer - spent time: 13.6 min\n",
+ "2024-04-03 16:31:06,762 - GPComposer - GP composition finished\n",
+ "2024-04-03 16:31:06,765 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-03 16:31:06,766 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-03 16:31:06,773 - ApiComposer - Hyperparameters tuning started with 1 min. timeout\n",
+ "2024-04-03 16:31:06,780 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 576.88it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 723.02it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 859.20it/s]\n"
+ "\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 23%|██▎ | 7/30 [00:01<00:09, 2.55trial/s, best loss: 5.2924339912484015]2024-01-11 17:08:40,989 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:40,990 - TPE using 7/7 trials with best loss 5.292434\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 544.40it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 579.03it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.67it/s]\n"
+ "2024-04-03 16:31:13,043 - SimultaneousTuner - Initial graph: {'depth': 4, 'length': 4, 'nodes': [treg, channel_filtration, quantile_extractor, scaling]}\n",
+ "treg - {}\n",
+ "channel_filtration - {'distance': 'euclidean', 'centroid_metric': 'euclidean', 'sample_metric': 'chebyshev', 'selection_strategy': 'sum'}\n",
+ "quantile_extractor - {'stride': 3, 'window_size': 21}\n",
+ "scaling - {} \n",
+ "Initial metric: [2.906]\n",
+ " 0%| | 0/10 [00:00, ?trial/s, best loss=?]2024-04-03 16:31:13,099 - build_posterior_wrapper took 0.017987 seconds\n",
+ "2024-04-03 16:31:13,102 - TPE using 0 trials\n",
+ " 10%|█ | 1/10 [00:01<00:10, 1.13s/trial, best loss: 2.421132291609469]2024-04-03 16:31:14,229 - build_posterior_wrapper took 0.017986 seconds\n",
+ "2024-04-03 16:31:14,230 - TPE using 1/1 trials with best loss 2.421132\n",
+ " 20%|██ | 2/10 [00:02<00:09, 1.13s/trial, best loss: 2.421132291609469]2024-04-03 16:31:15,357 - build_posterior_wrapper took 0.016954 seconds\n",
+ "2024-04-03 16:31:15,358 - TPE using 2/2 trials with best loss 2.421132\n",
+ " 30%|███ | 3/10 [00:03<00:07, 1.14s/trial, best loss: 2.421132291609469]2024-04-03 16:31:16,519 - build_posterior_wrapper took 0.019976 seconds\n",
+ "2024-04-03 16:31:16,527 - TPE using 3/3 trials with best loss 2.421132\n",
+ " 40%|████ | 4/10 [00:04<00:06, 1.07s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:17,466 - build_posterior_wrapper took 0.018990 seconds\n",
+ "2024-04-03 16:31:17,469 - TPE using 4/4 trials with best loss 2.397939\n",
+ " 50%|█████ | 5/10 [00:05<00:05, 1.09s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:18,609 - build_posterior_wrapper took 0.017925 seconds\n",
+ "2024-04-03 16:31:18,611 - TPE using 5/5 trials with best loss 2.397939\n",
+ " 60%|██████ | 6/10 [00:06<00:04, 1.10s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:19,728 - build_posterior_wrapper took 0.018986 seconds\n",
+ "2024-04-03 16:31:19,730 - TPE using 6/6 trials with best loss 2.397939\n",
+ " 70%|███████ | 7/10 [00:07<00:03, 1.11s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:20,841 - build_posterior_wrapper took 0.018987 seconds\n",
+ "2024-04-03 16:31:20,843 - TPE using 7/7 trials with best loss 2.397939\n",
+ " 80%|████████ | 8/10 [00:08<00:02, 1.12s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:21,981 - build_posterior_wrapper took 0.017984 seconds\n",
+ "2024-04-03 16:31:21,987 - TPE using 8/8 trials with best loss 2.397939\n",
+ " 90%|█████████ | 9/10 [00:09<00:01, 1.05s/trial, best loss: 2.3979388180762498]2024-04-03 16:31:22,871 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:22,873 - TPE using 9/9 trials with best loss 2.397939\n",
+ "100%|██████████| 10/10 [00:10<00:00, 1.06s/trial, best loss: 2.3979388180762498]\n",
+ " 0%| | 10/100000 [00:00, ?trial/s, best loss=?]2024-04-03 16:31:23,777 - build_posterior_wrapper took 0.016954 seconds\n",
+ "2024-04-03 16:31:23,780 - TPE using 10/10 trials with best loss 2.397939\n",
+ " 0%| | 11/100000 [00:00<22:48:09, 1.22trial/s, best loss: 2.3979388180762498]2024-04-03 16:31:24,602 - build_posterior_wrapper took 0.017960 seconds\n",
+ "2024-04-03 16:31:24,605 - TPE using 11/11 trials with best loss 2.397939\n",
+ " 0%| | 12/100000 [00:01<22:09:55, 1.25trial/s, best loss: 2.3979388180762498]2024-04-03 16:31:25,385 - build_posterior_wrapper took 0.018971 seconds\n",
+ "2024-04-03 16:31:25,386 - TPE using 12/12 trials with best loss 2.397939\n",
+ " 0%| | 13/100000 [00:02<22:56:55, 1.21trial/s, best loss: 2.3830611914685305]2024-04-03 16:31:26,244 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:26,246 - TPE using 13/13 trials with best loss 2.383061\n",
+ " 0%| | 14/100000 [00:03<28:12:56, 1.02s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:27,555 - build_posterior_wrapper took 0.022937 seconds\n",
+ "2024-04-03 16:31:27,562 - TPE using 14/14 trials with best loss 2.383061\n",
+ " 0%| | 15/100000 [00:04<26:56:09, 1.03trial/s, best loss: 2.3830611914685305]2024-04-03 16:31:28,438 - build_posterior_wrapper took 0.018949 seconds\n",
+ "2024-04-03 16:31:28,442 - TPE using 15/15 trials with best loss 2.383061\n",
+ " 0%| | 16/100000 [00:05<28:13:50, 1.02s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:29,551 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:29,558 - TPE using 16/16 trials with best loss 2.383061\n",
+ " 0%| | 17/100000 [00:06<28:38:37, 1.03s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:30,609 - build_posterior_wrapper took 0.018978 seconds\n",
+ "2024-04-03 16:31:30,611 - TPE using 17/17 trials with best loss 2.383061\n",
+ " 0%| | 18/100000 [00:08<32:15:34, 1.16s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:32,057 - build_posterior_wrapper took 0.021941 seconds\n",
+ "2024-04-03 16:31:32,059 - TPE using 18/18 trials with best loss 2.383061\n",
+ " 0%| | 19/100000 [00:09<29:25:43, 1.06s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:32,883 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:32,886 - TPE using 19/19 trials with best loss 2.383061\n",
+ " 0%| | 20/100000 [00:10<29:05:31, 1.05s/trial, best loss: 2.3830611914685305]2024-04-03 16:31:33,903 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:33,906 - TPE using 20/20 trials with best loss 2.383061\n",
+ " 0%| | 21/100000 [00:11<27:54:08, 1.00s/trial, best loss: 2.272321400557909] 2024-04-03 16:31:34,811 - build_posterior_wrapper took 0.017961 seconds\n",
+ "2024-04-03 16:31:34,813 - TPE using 21/21 trials with best loss 2.272321\n",
+ " 0%| | 22/100000 [00:11<26:55:11, 1.03trial/s, best loss: 2.2548325141026275]2024-04-03 16:31:35,698 - build_posterior_wrapper took 0.017989 seconds\n",
+ "2024-04-03 16:31:35,701 - TPE using 22/22 trials with best loss 2.254833\n",
+ " 0%| | 23/100000 [00:12<26:02:55, 1.07trial/s, best loss: 2.2548325141026275]2024-04-03 16:31:36,565 - build_posterior_wrapper took 0.016954 seconds\n",
+ "2024-04-03 16:31:36,572 - TPE using 23/23 trials with best loss 2.254833\n",
+ " 0%| | 24/100000 [00:13<25:52:37, 1.07trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:37,482 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:37,484 - TPE using 24/24 trials with best loss 2.212923\n",
+ " 0%| | 25/100000 [00:14<26:35:17, 1.04trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:38,499 - build_posterior_wrapper took 0.017953 seconds\n",
+ "2024-04-03 16:31:38,501 - TPE using 25/25 trials with best loss 2.212923\n",
+ " 0%| | 26/100000 [00:15<26:47:27, 1.04trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:39,481 - build_posterior_wrapper took 0.017989 seconds\n",
+ "2024-04-03 16:31:39,482 - TPE using 26/26 trials with best loss 2.212923\n",
+ " 0%| | 27/100000 [00:16<27:21:46, 1.01trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:40,513 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:40,515 - TPE using 27/27 trials with best loss 2.212923\n",
+ " 0%| | 28/100000 [00:17<26:07:26, 1.06trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:41,352 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:41,355 - TPE using 28/28 trials with best loss 2.212923\n",
+ " 0%| | 29/100000 [00:18<26:06:24, 1.06trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:42,291 - build_posterior_wrapper took 0.017980 seconds\n",
+ "2024-04-03 16:31:42,292 - TPE using 29/29 trials with best loss 2.212923\n",
+ " 0%| | 30/100000 [00:19<25:17:49, 1.10trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:43,135 - build_posterior_wrapper took 0.017968 seconds\n",
+ "2024-04-03 16:31:43,137 - TPE using 30/30 trials with best loss 2.212923\n",
+ " 0%| | 31/100000 [00:20<25:12:05, 1.10trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:44,031 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:44,040 - TPE using 31/31 trials with best loss 2.212923\n",
+ " 0%| | 32/100000 [00:21<24:36:16, 1.13trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:44,870 - build_posterior_wrapper took 0.018949 seconds\n",
+ "2024-04-03 16:31:44,873 - TPE using 32/32 trials with best loss 2.212923\n",
+ " 0%| | 33/100000 [00:21<24:21:57, 1.14trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:45,727 - build_posterior_wrapper took 0.017973 seconds\n",
+ "2024-04-03 16:31:45,728 - TPE using 33/33 trials with best loss 2.212923\n",
+ " 0%| | 34/100000 [00:22<24:00:39, 1.16trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:46,564 - build_posterior_wrapper took 0.017979 seconds\n",
+ "2024-04-03 16:31:46,571 - TPE using 34/34 trials with best loss 2.212923\n",
+ " 0%| | 35/100000 [00:23<23:33:34, 1.18trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:47,370 - build_posterior_wrapper took 0.016954 seconds\n",
+ "2024-04-03 16:31:47,373 - TPE using 35/35 trials with best loss 2.212923\n",
+ " 0%| | 36/100000 [00:24<24:18:37, 1.14trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:48,310 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:48,312 - TPE using 36/36 trials with best loss 2.212923\n",
+ " 0%| | 37/100000 [00:25<23:54:33, 1.16trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:49,136 - build_posterior_wrapper took 0.017959 seconds\n",
+ "2024-04-03 16:31:49,139 - TPE using 37/37 trials with best loss 2.212923\n",
+ " 0%| | 38/100000 [00:26<23:28:26, 1.18trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:49,947 - build_posterior_wrapper took 0.016956 seconds\n",
+ "2024-04-03 16:31:49,949 - TPE using 38/38 trials with best loss 2.212923\n",
+ " 0%| | 39/100000 [00:27<23:38:27, 1.17trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:50,810 - build_posterior_wrapper took 0.016990 seconds\n",
+ "2024-04-03 16:31:50,814 - TPE using 39/39 trials with best loss 2.212923\n",
+ " 0%| | 40/100000 [00:27<23:59:02, 1.16trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:51,703 - build_posterior_wrapper took 0.017952 seconds\n",
+ "2024-04-03 16:31:51,706 - TPE using 40/40 trials with best loss 2.212923\n",
+ " 0%| | 41/100000 [00:29<26:30:36, 1.05trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:52,873 - build_posterior_wrapper took 0.018949 seconds\n",
+ "2024-04-03 16:31:52,876 - TPE using 41/41 trials with best loss 2.212923\n",
+ " 0%| | 42/100000 [00:29<25:58:51, 1.07trial/s, best loss: 2.2129234639635826]2024-04-03 16:31:53,761 - build_posterior_wrapper took 0.016991 seconds\n",
+ "2024-04-03 16:31:53,765 - TPE using 42/42 trials with best loss 2.212923\n",
+ " 0%| | 43/100000 [00:31<27:51:24, 1.00s/trial, best loss: 2.2129234639635826]2024-04-03 16:31:54,923 - build_posterior_wrapper took 0.018032 seconds\n",
+ "2024-04-03 16:31:54,927 - TPE using 43/43 trials with best loss 2.212923\n",
+ " 0%| | 44/100000 [00:32<32:20:39, 1.16s/trial, best loss: 2.2129234639635826]2024-04-03 16:31:56,465 - build_posterior_wrapper took 0.016954 seconds\n",
+ "2024-04-03 16:31:56,470 - TPE using 44/44 trials with best loss 2.212923\n",
+ " 0%| | 45/100000 [00:33<29:54:39, 1.08s/trial, best loss: 2.2129234639635826]2024-04-03 16:31:57,339 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:31:57,341 - TPE using 45/45 trials with best loss 2.212923\n",
+ " 0%| | 46/100000 [00:34<28:23:00, 1.02s/trial, best loss: 2.2129234639635826]2024-04-03 16:31:58,232 - build_posterior_wrapper took 0.017962 seconds\n",
+ "2024-04-03 16:31:58,234 - TPE using 46/46 trials with best loss 2.212923\n",
+ " 0%| | 47/100000 [00:35<29:12:45, 1.05s/trial, best loss: 2.2129234639635826]2024-04-03 16:31:59,353 - build_posterior_wrapper took 0.017929 seconds\n",
+ "2024-04-03 16:31:59,357 - TPE using 47/47 trials with best loss 2.212923\n",
+ " 0%| | 48/100000 [00:36<27:21:02, 1.02trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:00,182 - build_posterior_wrapper took 0.016953 seconds\n",
+ "2024-04-03 16:32:00,185 - TPE using 48/48 trials with best loss 2.212923\n",
+ " 0%| | 49/100000 [00:37<30:21:29, 1.09s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:01,534 - build_posterior_wrapper took 0.016955 seconds\n",
+ "2024-04-03 16:32:01,540 - TPE using 49/49 trials with best loss 2.212923\n",
+ " 0%| | 50/100000 [00:38<28:23:49, 1.02s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:02,388 - build_posterior_wrapper took 0.017961 seconds\n",
+ "2024-04-03 16:32:02,390 - TPE using 50/50 trials with best loss 2.212923\n",
+ " 0%| | 51/100000 [00:39<26:54:02, 1.03trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:03,230 - build_posterior_wrapper took 0.017959 seconds\n",
+ "2024-04-03 16:32:03,234 - TPE using 51/51 trials with best loss 2.212923\n",
+ " 0%| | 52/100000 [00:40<28:03:17, 1.01s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:04,335 - build_posterior_wrapper took 0.016991 seconds\n",
+ "2024-04-03 16:32:04,339 - TPE using 52/52 trials with best loss 2.212923\n",
+ " 0%| | 53/100000 [00:41<27:05:54, 1.02trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:05,237 - build_posterior_wrapper took 0.021978 seconds\n",
+ "2024-04-03 16:32:05,239 - TPE using 53/53 trials with best loss 2.212923\n",
+ " 0%| | 54/100000 [00:42<26:06:59, 1.06trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:06,094 - build_posterior_wrapper took 0.019975 seconds\n",
+ "2024-04-03 16:32:06,097 - TPE using 54/54 trials with best loss 2.212923\n",
+ " 0%| | 55/100000 [00:43<27:00:49, 1.03trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:07,140 - build_posterior_wrapper took 0.018949 seconds\n",
+ "2024-04-03 16:32:07,142 - TPE using 55/55 trials with best loss 2.212923\n",
+ " 0%| | 56/100000 [00:44<28:07:42, 1.01s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:08,247 - build_posterior_wrapper took 0.017981 seconds\n",
+ "2024-04-03 16:32:08,251 - TPE using 56/56 trials with best loss 2.212923\n",
+ " 0%| | 57/100000 [00:45<27:31:42, 1.01trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:09,187 - build_posterior_wrapper took 0.017988 seconds\n",
+ "2024-04-03 16:32:09,190 - TPE using 57/57 trials with best loss 2.212923\n",
+ " 0%| | 58/100000 [00:46<27:42:41, 1.00trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:10,201 - build_posterior_wrapper took 0.018950 seconds\n",
+ "2024-04-03 16:32:10,202 - TPE using 58/58 trials with best loss 2.212923\n",
+ " 0%| | 59/100000 [00:47<28:29:48, 1.03s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:11,295 - build_posterior_wrapper took 0.017947 seconds\n",
+ "2024-04-03 16:32:11,300 - TPE using 59/59 trials with best loss 2.212923\n",
+ " 0%| | 60/100000 [00:48<27:13:58, 1.02trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:12,170 - build_posterior_wrapper took 0.017957 seconds\n",
+ "2024-04-03 16:32:12,172 - TPE using 60/60 trials with best loss 2.212923\n",
+ " 0%| | 61/100000 [00:49<28:04:05, 1.01s/trial, best loss: 2.2129234639635826]2024-04-03 16:32:13,251 - build_posterior_wrapper took 0.017953 seconds\n",
+ "2024-04-03 16:32:13,253 - TPE using 61/61 trials with best loss 2.212923\n",
+ " 0%| | 62/100000 [00:50<27:01:29, 1.03trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:14,140 - build_posterior_wrapper took 0.021976 seconds\n",
+ "2024-04-03 16:32:14,142 - TPE using 62/62 trials with best loss 2.212923\n",
+ " 0%| | 63/100000 [00:51<26:33:16, 1.05trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:15,054 - build_posterior_wrapper took 0.018943 seconds\n",
+ "2024-04-03 16:32:15,059 - TPE using 63/63 trials with best loss 2.212923\n",
+ " 0%| | 64/100000 [00:52<27:45:04, 1.00trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:16,154 - build_posterior_wrapper took 0.017989 seconds\n",
+ "2024-04-03 16:32:16,157 - TPE using 64/64 trials with best loss 2.212923\n",
+ " 0%| | 65/100000 [00:53<26:01:46, 1.07trial/s, best loss: 2.2129234639635826]2024-04-03 16:32:16,947 - build_posterior_wrapper took 0.016990 seconds\n",
+ "2024-04-03 16:32:16,949 - TPE using 65/65 trials with best loss 2.212923\n",
+ " 0%| | 66/100000 [00:54<25:24:26, 1.09trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:17,809 - build_posterior_wrapper took 0.017951 seconds\n",
+ "2024-04-03 16:32:17,812 - TPE using 66/66 trials with best loss 2.192079\n",
+ " 0%| | 67/100000 [00:54<25:10:25, 1.10trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:18,696 - build_posterior_wrapper took 0.017990 seconds\n",
+ "2024-04-03 16:32:18,698 - TPE using 67/67 trials with best loss 2.192079\n",
+ " 0%| | 68/100000 [00:55<25:20:05, 1.10trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:19,622 - build_posterior_wrapper took 0.017961 seconds\n",
+ "2024-04-03 16:32:19,622 - TPE using 68/68 trials with best loss 2.192079\n",
+ " 0%| | 69/100000 [00:56<25:17:44, 1.10trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:20,531 - build_posterior_wrapper took 0.018956 seconds\n",
+ "2024-04-03 16:32:20,540 - TPE using 69/69 trials with best loss 2.192079\n",
+ " 0%| | 70/100000 [00:57<25:22:26, 1.09trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:21,451 - build_posterior_wrapper took 0.018949 seconds\n",
+ "2024-04-03 16:32:21,453 - TPE using 70/70 trials with best loss 2.192079\n",
+ " 0%| | 71/100000 [00:58<25:33:36, 1.09trial/s, best loss: 2.1920788102215303]2024-04-03 16:32:22,388 - build_posterior_wrapper took 0.018456 seconds\n",
+ "2024-04-03 16:32:22,389 - TPE using 71/71 trials with best loss 2.192079\n",
+ " 0%| | 72/100000 [00:59<26:38:22, 1.04trial/s, best loss: 2.1920788102215303]\n",
+ "2024-04-03 16:32:23,269 - SimultaneousTuner - Hyperparameters optimization finished\n",
+ "2024-04-03 16:32:24,044 - SimultaneousTuner - Return tuned graph due to the fact that obtained metric 2.246 equal or better than initial (+ 0.05% deviation) 2.904\n",
+ "2024-04-03 16:32:24,046 - SimultaneousTuner - Final graph: {'depth': 4, 'length': 4, 'nodes': [treg, channel_filtration, quantile_extractor, scaling]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.5829706819184924, 'min_samples_leaf': 2, 'min_samples_split': 3}\n",
+ "channel_filtration - {'distance': 'euclidean', 'centroid_metric': 'euclidean', 'sample_metric': 'chebyshev', 'selection_strategy': 'pairwise'}\n",
+ "quantile_extractor - {'stride': 4, 'window_size': 48}\n",
+ "scaling - {}\n",
+ "2024-04-03 16:32:24,047 - SimultaneousTuner - Final metric: 2.246\n",
+ "2024-04-03 16:32:24,059 - ApiComposer - Hyperparameters tuning finished\n",
+ "2024-04-03 16:32:24,399 - full garbage collections took 15% CPU time recently (threshold: 10%)\n",
+ "2024-04-03 16:32:24,402 - ApiComposer - Model generation finished\n",
+ "2024-04-03 16:32:25,134 - FEDOT logger - Final pipeline was fitted\n",
+ "2024-04-03 16:32:25,137 - FEDOT logger - Final pipeline: {'depth': 4, 'length': 4, 'nodes': [treg, channel_filtration, quantile_extractor, scaling]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.5829706819184924, 'min_samples_leaf': 2, 'min_samples_split': 3}\n",
+ "channel_filtration - {'distance': 'euclidean', 'centroid_metric': 'euclidean', 'sample_metric': 'chebyshev', 'selection_strategy': 'pairwise'}\n",
+ "quantile_extractor - {'stride': 4, 'window_size': 48}\n",
+ "scaling - {}\n",
+ "2024-04-03 16:32:25,138 - MemoryAnalytics - Memory consumption for finish in main session: current 231.0 MiB, max: 234.9 MiB\n"
]
- },
+ }
+ ],
+ "source": [
+ "industrial_auto_model = evaluate_loop(api_params=params, finetune=False)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "outputs": [],
+ "source": [
+ "auto_labels = industrial_auto_model.predict(test_data)\n",
+ "auto_metrics = industrial_auto_model.get_metrics(target=test_data[1],\n",
+ " rounding_order=3,\n",
+ " metric_names=('r2', 'rmse', 'mae'))"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- " 27%|██▋ | 8/30 [00:02<00:09, 2.38trial/s, best loss: 5.2924339912484015]2024-01-11 17:08:41,459 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:41,460 - TPE using 8/8 trials with best loss 5.292434\n"
+ "2024-04-03 17:59:52,008 - OperationsAnimatedBar - Visualizing optimization history... It may take some time, depending on the history size.\n",
+ "2024-04-03 17:59:52,289 - MovieWriter ffmpeg unavailable; using Pillow instead.\n",
+ "2024-04-03 17:59:52,289 - Animation.save using \n",
+ "2024-04-03 18:00:02,444 - OperationsAnimatedBar - The animation was saved to \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\results_of_experiments\\history_animated_bars.gif\".\n",
+ "2024-04-03 18:00:02,446 - FitnessBox - Visualizing optimization history... It may take some time, depending on the history size.\n",
+ "2024-04-03 18:00:02,535 - 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",
+ "2024-04-03 18:00:02,544 - 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",
+ "2024-04-03 18:00:02,640 - default - The figure was saved to \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\results_of_experiments\\fitness_by_gen.png\".\n"
]
- },
+ }
+ ],
+ "source": [
+ "industrial_auto_model.solver.current_pipeline.show()\n",
+ "industrial_auto_model.plot_operation_distribution(mode='each')\n",
+ "industrial_auto_model.plot_fitness_by_generation()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "outputs": [
{
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 584.08it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 614.36it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 712.43it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 30%|███ | 9/30 [00:02<00:09, 2.32trial/s, best loss: 5.2924339912484015]2024-01-11 17:08:41,910 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:41,911 - TPE using 9/9 trials with best loss 5.292434\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1068.06it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1353.63it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 33%|███▎ | 10/30 [00:02<00:07, 2.65trial/s, best loss: 2.740364806635174]2024-01-11 17:08:42,175 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:42,176 - TPE using 10/10 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 562.25it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 597.09it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.68it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 37%|███▋ | 11/30 [00:03<00:07, 2.50trial/s, best loss: 2.740364806635174]2024-01-11 17:08:42,628 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:42,629 - TPE using 11/11 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 513.57it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 640.26it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 773.48it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 40%|████ | 12/30 [00:03<00:07, 2.46trial/s, best loss: 2.740364806635174]2024-01-11 17:08:43,049 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:43,050 - TPE using 12/12 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 575.64it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 617.86it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.66it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 43%|████▎ | 13/30 [00:04<00:07, 2.40trial/s, best loss: 2.740364806635174]2024-01-11 17:08:43,486 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:43,488 - TPE using 13/13 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1155.25it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1177.04it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 47%|████▋ | 14/30 [00:04<00:05, 2.73trial/s, best loss: 2.740364806635174]2024-01-11 17:08:43,737 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:43,738 - TPE using 14/14 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 543.39it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 681.30it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 796.22it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 50%|█████ | 15/30 [00:04<00:05, 2.68trial/s, best loss: 2.740364806635174]2024-01-11 17:08:44,128 - build_posterior_wrapper took 0.000996 seconds\n",
- "2024-01-11 17:08:44,129 - TPE using 15/15 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 519.91it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 652.05it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 820.35it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 53%|█████▎ | 16/30 [00:05<00:05, 2.61trial/s, best loss: 2.740364806635174]2024-01-11 17:08:44,535 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:44,536 - TPE using 16/16 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 578.47it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 621.54it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 694.16it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 57%|█████▋ | 17/30 [00:05<00:05, 2.50trial/s, best loss: 2.740364806635174]2024-01-11 17:08:44,972 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:44,973 - TPE using 17/17 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1142.82it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1353.60it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 60%|██████ | 18/30 [00:05<00:04, 2.82trial/s, best loss: 2.740364806635174]2024-01-11 17:08:45,221 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:45,222 - TPE using 18/18 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 516.72it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 644.14it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.67it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 63%|██████▎ | 19/30 [00:06<00:04, 2.67trial/s, best loss: 2.740364806635174]2024-01-11 17:08:45,643 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:45,644 - TPE using 19/19 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 552.25it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 692.35it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 846.01it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 67%|██████▋ | 20/30 [00:06<00:03, 2.63trial/s, best loss: 2.740364806635174]2024-01-11 17:08:46,034 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:46,035 - TPE using 20/20 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1130.68it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1289.12it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 70%|███████ | 21/30 [00:06<00:03, 2.90trial/s, best loss: 2.740364806635174]2024-01-11 17:08:46,299 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:46,300 - TPE using 21/21 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1130.68it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1289.13it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 73%|███████▎ | 22/30 [00:07<00:02, 3.16trial/s, best loss: 2.740364806635174]2024-01-11 17:08:46,549 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:46,550 - TPE using 22/22 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 567.55it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 603.88it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.70it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 77%|███████▋ | 23/30 [00:07<00:02, 2.80trial/s, best loss: 2.740364806635174]2024-01-11 17:08:47,002 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:47,003 - TPE using 23/23 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 578.47it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 614.35it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 731.68it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 80%|████████ | 24/30 [00:08<00:02, 2.59trial/s, best loss: 2.740364806635174]2024-01-11 17:08:47,457 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:47,458 - TPE using 24/24 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 581.21it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 610.76it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 712.42it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 83%|████████▎ | 25/30 [00:08<00:02, 2.46trial/s, best loss: 2.740364806635174]2024-01-11 17:08:47,908 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:47,909 - TPE using 25/25 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 84/106 [00:00<00:00, 557.78it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 694.66it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 820.37it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 87%|████████▋ | 26/30 [00:08<00:01, 2.49trial/s, best loss: 2.740364806635174]2024-01-11 17:08:48,299 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-11 17:08:48,300 - TPE using 26/26 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 572.96it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 603.88it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 752.00it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 90%|█████████ | 27/30 [00:09<00:01, 2.43trial/s, best loss: 2.740364806635174]2024-01-11 17:08:48,734 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:48,735 - TPE using 27/27 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1155.25it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1353.58it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 93%|█████████▎| 28/30 [00:09<00:00, 2.75trial/s, best loss: 2.740364806635174]2024-01-11 17:08:48,987 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:48,988 - TPE using 28/28 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 57%|#####6 | 60/106 [00:00<00:00, 595.65it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 636.43it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 712.42it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 97%|█████████▋| 29/30 [00:10<00:00, 2.59trial/s, best loss: 2.740364806635174]2024-01-11 17:08:49,424 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-11 17:08:49,425 - TPE using 29/29 trials with best loss 2.740365\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/106 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 106/106 [00:00<00:00, 1142.83it/s]\n",
- " 0%| | 0/27 [00:00, ?it/s]\n",
- "\u001B[A\n",
- "100%|##########| 27/27 [00:00<00:00, 1353.58it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "100%|██████████| 30/30 [00:10<00:00, 2.63trial/s, best loss: 2.740364806635174]\n",
- "2024-01-11 17:08:49,675 - SimultaneousTuner - Hyperparameters optimization finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "100%|██████████| 106/106 [00:00<00:00, 1084.52it/s]\n",
- "100%|██████████| 27/27 [00:00<00:00, 1289.14it/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:08:49,938 - SimultaneousTuner - Return tuned graph due to the fact that obtained metric 2.740 equal or better than initial (+ 0.05% deviation) 7.543\n",
- "2024-01-11 17:08:49,939 - SimultaneousTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [ridge, quantile_extractor]}\n",
- "ridge - {'alpha': 2.1380306940047142}\n",
- "quantile_extractor - {'window_size': 0, 'stride': 1}\n",
- "2024-01-11 17:08:49,939 - SimultaneousTuner - Final metric: 2.740\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- "100%|██████████| 133/133 [00:00<00:00, 1002.67it/s]\n",
- "100%|██████████| 58/58 [00:00<00:00, 1530.38it/s]\n"
- ]
- }
- ],
- "source": [
- "metric_dict = {}\n",
- "for model in model_dict.keys():\n",
- " print(f'Current_model - {model}')\n",
- " pipeline = model_dict[model].build()\n",
- " tuned_pipeline = tuning_industrial_pipelines(pipeline,tuning_params,train_data)\n",
- " tuned_pipeline.fit(input_data)\n",
- " features = tuned_pipeline.predict(val_data).predict\n",
- " metric = calculate_regression_metric(test_target=test_data[1], labels=features)\n",
- " metric = metric.T\n",
- " metric.columns = metric.columns.values\n",
- " metric['model_params'] = metric['model_params'] = str({node:node.parameters for node in tuned_pipeline.graph_description['nodes']})\n",
- " metric_dict.update({model: metric})"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "outputs": [
- {
- "data": {
- "text/plain": " r2_score: mean_squared_error: \\\nregression_with_statistical_features 0.426662 1.855782 \n\n root_mean_squared_error: \\\nregression_with_statistical_features 1.362271 \n\n mean_absolute_error \\\nregression_with_statistical_features 1.056372 \n\n median_absolute_error \\\nregression_with_statistical_features 0.880141 \n\n explained_variance_score max_error \\\nregression_with_statistical_features 0.432458 4.171815 \n\n d2_absolute_error_score \\\nregression_with_statistical_features 0.265165 \n\n model_params \nregression_with_statistical_features {ridge: {'alpha': 2.1380306940047142}, quantile_extractor: {'window_size': 0, 'stride': 1}} ",
- "text/html": "\n\n
\n \n \n \n r2_score: \n mean_squared_error: \n root_mean_squared_error: \n mean_absolute_error \n median_absolute_error \n explained_variance_score \n max_error \n d2_absolute_error_score \n model_params \n \n \n \n \n regression_with_statistical_features \n 0.426662 \n 1.855782 \n 1.362271 \n 1.056372 \n 0.880141 \n 0.432458 \n 4.171815 \n 0.265165 \n {ridge: {'alpha': 2.1380306940047142}, quantile_extractor: {'window_size': 0, 'stride': 1}} \n \n \n
\n
"
- },
- "execution_count": 13,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_tuned = pd.concat([x for x in metric_dict.values()],axis=0).T\n",
- "df_tuned.columns = list(metric_dict.keys())\n",
- "df_tuned.T.sort_values('root_mean_squared_error:')"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "outputs": [
- {
- "data": {
- "text/plain": "\"{ridge: {'alpha': 2.1380306940047142}, quantile_extractor: {'window_size': 0, 'stride': 1}}\""
- },
- "execution_count": 14,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_tuned.T.sort_values('root_mean_squared_error:')['model_params'].iloc[0]"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "outputs": [],
- "source": [
- "best_tuned = df_tuned.T.sort_values('root_mean_squared_error:')['root_mean_squared_error:'].iloc[0]"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Even better? AutoML approach"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:23:04,362 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 0.3 MiB, max: 1.8 MiB\n",
- "2024-01-11 17:23:04,364 - ApiComposer - Initial pipeline was fitted in 1.0 sec.\n",
- "2024-01-11 17:23:04,365 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
- "2024-01-11 17:23:04,373 - ApiComposer - AutoML configured. Parameters tuning: False. Time limit: 10 min. Set of candidate models: ['rfr', 'ridge', 'gbr', 'sgdr', 'linear', 'xgbreg', 'dtreg', 'treg', 'knnreg', 'scaling', 'normalization', 'pcaeigen_basis', 'fourier_basis', 'minirocket_extractor', 'quantile_extractor', 'signal_extractor'].\n",
- "2024-01-11 17:23:04,397 - ApiComposer - Pipeline composition started.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 0%| | 0/5 [00:00, ?gen/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:23:08,018 - IndustrialDispatcher - 2 individuals out of 2 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 8/106 [00:00<00:01, 60.24it/s]\u001B[A\n",
- "SVD estimation: 26%|██▋ | 28/106 [00:00<00:00, 132.17it/s]\u001B[A\n",
- "SVD estimation: 42%|████▏ | 45/106 [00:00<00:00, 146.35it/s]\u001B[A\n",
- "SVD estimation: 58%|█████▊ | 61/106 [00:00<00:00, 128.53it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 99%|█████████▉| 105/106 [00:00<00:00, 225.27it/s]\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 247.24it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 136it [00:00, 214.62it/s] \u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 240.46it/s][A\u001B[A\n",
- "\n",
- "SVD estimation: 159it [00:01, 150.49it/s]\u001B[A\n",
- "SVD estimation: 212it [00:01, 183.96it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 46.88it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 31.37it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 27.10it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 245.55it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 304.54it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 6%|▌ | 6/106 [00:00<00:02, 42.01it/s]\u001B[A\u001B[A\n",
- "\n",
- " 11%|█▏ | 12/106 [00:00<00:01, 50.24it/s]\u001B[A\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 24.29it/s]\u001B[A\n",
- "\n",
- " 17%|█▋ | 18/106 [00:00<00:02, 31.72it/s]\u001B[A\u001B[A\n",
- "\n",
- " 21%|██ | 22/106 [00:00<00:02, 33.02it/s]\u001B[A\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 21.02it/s]\u001B[A\n",
- "\n",
- " 25%|██▍ | 26/106 [00:00<00:03, 25.90it/s]\u001B[A\u001B[A\n",
- "\n",
- " 28%|██▊ | 30/106 [00:01<00:04, 18.66it/s]\u001B[A\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 17.61it/s]\u001B[A\n",
- "\n",
- " 31%|███ | 33/106 [00:01<00:03, 19.03it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 16.53it/s]\u001B[A\n",
- "\n",
- "\n",
- " 34%|███▍ | 36/106 [00:01<00:05, 13.38it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:02<00:00, 52.44it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 250.67it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 247.17it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 105.74it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 57.87it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 312.60it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 648.07it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 108.40it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 70.26it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 957.76it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 94.00it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 70.86it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1032.16it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 43.28it/s]\u001B[A\u001B[A\n",
- "\n",
- " 41%|████ | 11/27 [00:00<00:00, 36.13it/s]\u001B[A\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 33.51it/s]\u001B[A\n",
- "\n",
- " 56%|█████▌ | 15/27 [00:00<00:00, 33.06it/s]\u001B[A\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 21.37it/s]\u001B[A\n",
- "\n",
- " 70%|███████ | 19/27 [00:01<00:00, 20.27it/s]\u001B[A\u001B[A\n",
- " 70%|███████ | 19/27 [00:01<00:00, 16.79it/s]\u001B[A\n",
- "\n",
- " 81%|████████▏ | 22/27 [00:01<00:00, 16.59it/s]\u001B[A\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:01<00:00, 12.85it/s]\u001B[A\n",
- "\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 13.39it/s]\u001B[A\u001B[A\n",
- " 85%|████████▌ | 23/27 [00:01<00:00, 12.01it/s]\u001B[A\n",
- "\n",
- " 96%|█████████▋| 26/27 [00:01<00:00, 12.46it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:01<00:00, 16.22it/s]\n",
- "100%|██████████| 27/27 [00:01<00:00, 16.26it/s]\n",
- "\n",
- "\n",
- "\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 52.31it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 23.81it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 25.18it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 30.69it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 794.71it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 84.73it/s]\u001B[A\u001B[A\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 115.69it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 53.80it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 45%|████▍ | 48/107 [00:00<00:00, 75.67it/s] \u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:01, 62.07it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- " 56%|█████▌ | 60/107 [00:00<00:00, 84.19it/s]\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:00<00:00, 94.31it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█ | 12/107 [00:00<00:01, 89.79it/s]\u001B[A\u001B[A\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 123.52it/s][A\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 123.65it/s][A\u001B[A\n",
- "\n",
- "\n",
- "\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 124.57it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 244.95it/s][A\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 87.82it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 62.22it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 78.46it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 1031.61it/s]A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 47.00it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 27.86it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 26.52it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 305.90it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 377.77it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 115.68it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 51.22it/s] \u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1083.69it/s]\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 72.62it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 50.98it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 34.28it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 28.17it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 212it [00:00, 1574.23it/s] \u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 212it [00:00, 1551.59it/s] \u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1532.27it/s] \u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1532.55it/s] \u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:25:06,035 - IndustrialDispatcher - 12 individuals out of 13 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:06, 13.61it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:01<00:09, 9.68it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:02<00:09, 8.35it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 28%|██▊ | 30/106 [00:03<00:09, 7.82it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:04<00:09, 7.68it/s]\u001B[A\n",
- "\n",
- " 11%|█▏ | 12/106 [00:01<00:09, 9.51it/s]\u001B[A\u001B[A\n",
- " 40%|███▉ | 42/106 [00:05<00:08, 7.30it/s]\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:02<00:07, 11.42it/s]\u001B[A\u001B[A\n",
- " 45%|████▌ | 48/106 [00:06<00:07, 7.34it/s]\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:03<00:05, 12.28it/s]\u001B[A\u001B[A\n",
- " 51%|█████ | 54/106 [00:06<00:07, 7.34it/s]\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:07<00:06, 7.29it/s]\u001B[A\n",
- "\n",
- " 45%|████▌ | 48/106 [00:04<00:05, 9.93it/s]\u001B[A\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:08<00:05, 7.28it/s]\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:05<00:04, 11.05it/s]\u001B[A\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:09<00:04, 7.31it/s]\u001B[A\n",
- "\n",
- " 68%|██████▊ | 72/106 [00:06<00:02, 11.72it/s]\u001B[A\u001B[A\n",
- " 74%|███████▎ | 78/106 [00:10<00:03, 7.33it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:10<00:02, 7.34it/s]\u001B[A\n",
- "\n",
- " 79%|███████▉ | 84/106 [00:07<00:02, 10.20it/s]\u001B[A\u001B[A\n",
- " 85%|████████▍ | 90/106 [00:11<00:02, 7.13it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:08<00:00, 12.01it/s][A\u001B[A\n",
- "\n",
- " 91%|█████████ | 96/106 [00:12<00:01, 7.20it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:13<00:00, 7.83it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 100.27it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:03, 25.17it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:00<00:00, 86.21it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 144.60it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 93.92it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 239.66it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 422.75it/s][A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 109.82it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 586.25it/s][A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 78.89it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 536.43it/s][A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 67.15it/s]\u001B[A\u001B[A\n",
- "\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 43.33it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 44.38it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 748.47it/s][A\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:22<00:27, 1.84s/it]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:31<00:15, 1.76s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 87.83it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 57.67it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 878.16it/s][A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:43<00:00, 1.60s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:07, 13.19it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:01<00:09, 9.31it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:02<00:09, 8.24it/s]\u001B[A\n",
- " 28%|██▊ | 30/106 [00:03<00:09, 7.76it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:04<00:09, 7.39it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:05<00:09, 7.11it/s]\u001B[A\n",
- " 45%|████▌ | 48/106 [00:06<00:08, 7.04it/s]\u001B[A\n",
- " 51%|█████ | 54/106 [00:07<00:07, 6.95it/s]\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:07<00:06, 6.92it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 90.56it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 57.62it/s]\u001B[A\u001B[A\n",
- "\n",
- " 62%|██████▏ | 66/106 [00:08<00:05, 6.73it/s]\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:09<00:04, 6.94it/s]\u001B[A\n",
- " 74%|███████▎ | 78/106 [00:10<00:03, 7.03it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:11<00:03, 7.05it/s]\u001B[A\n",
- " 85%|████████▍ | 90/106 [00:12<00:02, 7.11it/s]\u001B[A\n",
- " 91%|█████████ | 96/106 [00:13<00:01, 7.06it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:13<00:00, 7.60it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 508.30it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:10<00:12, 1.15it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:20<00:11, 1.23s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 100.33it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 72.54it/s] \u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 734.83it/s][A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:33<00:00, 1.23s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:06, 13.71it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:01<00:09, 9.00it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 84.14it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 52.69it/s]\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:02<00:10, 8.13it/s]\u001B[A\n",
- " 28%|██▊ | 30/106 [00:03<00:10, 7.47it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:04<00:09, 7.17it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:05<00:09, 7.05it/s]\u001B[A\n",
- " 45%|████▌ | 48/106 [00:06<00:08, 6.98it/s]\u001B[A\n",
- " 51%|█████ | 54/106 [00:07<00:07, 6.93it/s]\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:08<00:06, 6.78it/s]\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:08<00:05, 6.79it/s]\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:09<00:04, 6.84it/s]\u001B[A\n",
- " 74%|███████▎ | 78/106 [00:10<00:04, 6.93it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:11<00:03, 6.96it/s]\u001B[A\n",
- " 85%|████████▍ | 90/106 [00:12<00:02, 6.83it/s]\u001B[A\n",
- " 91%|█████████ | 96/106 [00:13<00:01, 6.69it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:14<00:00, 7.42it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 519.20it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:10<00:12, 1.16it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:20<00:11, 1.22s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 108.96it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 66.05it/s] \u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:32<00:00, 1.19s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 11%|█ | 12/107 [00:00<00:06, 14.39it/s]\u001B[A\n",
- " 17%|█▋ | 18/107 [00:01<00:08, 10.20it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:02<00:09, 8.68it/s]\u001B[A\n",
- " 28%|██▊ | 30/107 [00:03<00:09, 8.03it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:04<00:09, 7.57it/s]\u001B[A\n",
- " 39%|███▉ | 42/107 [00:05<00:08, 7.44it/s]\u001B[A\n",
- " 45%|████▍ | 48/107 [00:05<00:08, 7.33it/s]\u001B[A\n",
- " 50%|█████ | 54/107 [00:06<00:07, 7.30it/s]\u001B[A\n",
- " 56%|█████▌ | 60/107 [00:07<00:06, 7.24it/s]\u001B[A\n",
- " 62%|██████▏ | 66/107 [00:08<00:05, 7.19it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:09<00:04, 7.18it/s]\u001B[A\n",
- " 73%|███████▎ | 78/107 [00:10<00:04, 7.14it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:10<00:03, 7.17it/s]\u001B[A\n",
- " 84%|████████▍ | 90/107 [00:11<00:02, 7.19it/s]\u001B[A\n",
- " 90%|████████▉ | 96/107 [00:12<00:01, 7.19it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:13<00:00, 7.92it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:10<00:11, 1.19it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:20<00:09, 1.20s/it]\u001B[A\n",
- "100%|██████████| 26/26 [00:30<00:00, 1.17s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 11%|█ | 12/107 [00:00<00:06, 14.64it/s]\u001B[A\n",
- " 17%|█▋ | 18/107 [00:01<00:08, 10.27it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:02<00:09, 8.90it/s]\u001B[A\n",
- " 28%|██▊ | 30/107 [00:03<00:09, 8.20it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:04<00:09, 7.73it/s]\u001B[A\n",
- " 39%|███▉ | 42/107 [00:05<00:08, 7.53it/s]\u001B[A\n",
- " 45%|████▍ | 48/107 [00:05<00:07, 7.38it/s]\u001B[A\n",
- " 50%|█████ | 54/107 [00:06<00:07, 7.32it/s]\u001B[A\n",
- " 56%|█████▌ | 60/107 [00:07<00:06, 7.26it/s]\u001B[A\n",
- " 62%|██████▏ | 66/107 [00:08<00:05, 7.22it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:09<00:04, 7.21it/s]\u001B[A\n",
- " 73%|███████▎ | 78/107 [00:10<00:04, 7.18it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:10<00:03, 7.18it/s]\u001B[A\n",
- " 84%|████████▍ | 90/107 [00:11<00:02, 7.20it/s]\u001B[A\n",
- " 90%|████████▉ | 96/107 [00:12<00:01, 7.19it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:13<00:00, 7.98it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:10<00:11, 1.19it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:19<00:09, 1.17s/it]\u001B[A\n",
- "100%|██████████| 26/26 [00:29<00:00, 1.14s/it]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:30:32,970 - IndustrialDispatcher - 8 individuals out of 8 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 893.10it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "Generations: 20%|██ | 1/5 [07:43<30:53, 463.32s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:30:47,750 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 20%|██ | 1/5 [07:43<30:53, 463.35s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:30:47,869 - ApiComposer - Model generation finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:30:48,329 - FEDOT logger - Final pipeline was fitted\n",
- "2024-01-11 17:30:48,330 - FEDOT logger - Final pipeline: {'depth': 1, 'length': 1, 'nodes': [treg]}\n",
- "treg - {}\n",
- "2024-01-11 17:30:48,331 - MemoryAnalytics - Memory consumption for finish in main session: current 0.8 MiB, max: 33.8 MiB\n",
- "2024-01-11 17:30:49,281 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 0.3 MiB, max: 1.8 MiB\n",
- "2024-01-11 17:30:49,282 - ApiComposer - Initial pipeline was fitted in 0.9 sec.\n",
- "2024-01-11 17:30:49,283 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
- "2024-01-11 17:30:49,291 - ApiComposer - AutoML configured. Parameters tuning: False. Time limit: 10 min. Set of candidate models: ['rfr', 'ridge', 'gbr', 'sgdr', 'linear', 'xgbreg', 'dtreg', 'treg', 'knnreg', 'scaling', 'normalization', 'pcaeigen_basis', 'fourier_basis', 'minirocket_extractor', 'quantile_extractor', 'signal_extractor'].\n",
- "2024-01-11 17:30:49,315 - ApiComposer - Pipeline composition started.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 0%| | 0/5 [00:00, ?gen/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:30:52,993 - IndustrialDispatcher - 2 individuals out of 2 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1106.84it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 174.74it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1933.94it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 189.32it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1635.18it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 172.47it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1730.43it/s]\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 166.32it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1233.16it/s]\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 35%|███▍ | 37/106 [00:00<00:00, 367.22it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 178.56it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 70%|██████▉ | 74/106 [00:00<00:00, 223.10it/s]\u001B[A\n",
- "SVD estimation: 94%|█████████▍| 100/106 [00:00<00:00, 190.86it/s]\u001B[A\n",
- "SVD estimation: 166it [00:00, 321.69it/s] \u001B[A\n",
- "SVD estimation: 212it [00:00, 293.20it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 503.71it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 68.75it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 44.43it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 36.29it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 57%|█████▋ | 60/106 [00:00<00:00, 589.83it/s]\u001B[A\n",
- "SVD estimation: 119it [00:00, 587.39it/s] \u001B[A\n",
- "SVD estimation: 212it [00:00, 602.18it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 506.11it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 86.56it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 49.19it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.11it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 45%|████▌ | 48/106 [00:00<00:00, 476.52it/s]\u001B[A\n",
- "SVD estimation: 96%|█████████▌| 102/106 [00:00<00:00, 511.65it/s]\u001B[A\n",
- "SVD estimation: 154it [00:00, 469.13it/s] \u001B[A\n",
- "SVD estimation: 212it [00:00, 487.58it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 151.35it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 359.07it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 57.30it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 42.47it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 43.54it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1440.08it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 547.38it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 63.00it/s]\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 48.14it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 34.76it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1285.01it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 583.08it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 63.00it/s]\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 46.27it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 32.25it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:32:40,928 - IndustrialDispatcher - 11 individuals out of 13 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 1%| | 1/106 [00:00<00:12, 8.42it/s]\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- " 6%|▌ | 6/106 [00:00<00:04, 23.30it/s]\u001B[A\n",
- "\n",
- " 6%|▌ | 6/106 [00:00<00:04, 24.16it/s]\u001B[A\u001B[A\n",
- "\n",
- " 11%|█▏ | 12/106 [00:04<00:43, 2.14it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█▏ | 12/106 [00:04<00:36, 2.60it/s]\u001B[A\u001B[A\u001B[A\n",
- " 11%|█▏ | 12/106 [00:05<00:52, 1.80it/s]\u001B[A\n",
- "\n",
- "\n",
- " 17%|█▋ | 18/106 [00:05<00:25, 3.47it/s]\u001B[A\u001B[A\u001B[A\n",
- " 17%|█▋ | 18/106 [00:06<00:32, 2.67it/s]\u001B[A\n",
- "\n",
- " 17%|█▋ | 18/106 [00:06<00:34, 2.57it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 23%|██▎ | 24/106 [00:06<00:19, 4.25it/s]\u001B[A\u001B[A\u001B[A\n",
- " 23%|██▎ | 24/106 [00:07<00:23, 3.53it/s]\u001B[A\n",
- "\n",
- " 28%|██▊ | 30/106 [00:07<00:16, 4.72it/s]\u001B[A\u001B[A\n",
- " 28%|██▊ | 30/106 [00:08<00:17, 4.37it/s]\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:08<00:13, 5.31it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 34%|███▍ | 36/106 [00:08<00:12, 5.38it/s]\u001B[A\u001B[A\u001B[A\n",
- " 34%|███▍ | 36/106 [00:09<00:13, 5.01it/s]\u001B[A\n",
- "\n",
- " 40%|███▉ | 42/106 [00:09<00:11, 5.74it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 45%|████▌ | 48/106 [00:08<00:07, 7.26it/s]\u001B[A\u001B[A\u001B[A\n",
- " 40%|███▉ | 42/106 [00:10<00:11, 5.56it/s]\u001B[A\n",
- "\n",
- " 51%|█████ | 54/106 [00:09<00:06, 7.88it/s]\u001B[A\u001B[A\n",
- " 45%|████▌ | 48/106 [00:10<00:09, 6.03it/s]\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:10<00:05, 7.71it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:10<00:06, 7.28it/s]\u001B[A\u001B[A\u001B[A\n",
- " 51%|█████ | 54/106 [00:11<00:08, 6.25it/s]\u001B[A\n",
- "\n",
- " 68%|██████▊ | 72/106 [00:11<00:03, 9.32it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 68%|██████▊ | 72/106 [00:11<00:03, 8.62it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 74%|███████▎ | 78/106 [00:11<00:02, 11.39it/s]\u001B[A\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:12<00:07, 6.53it/s]\u001B[A\n",
- "\n",
- " 79%|███████▉ | 84/106 [00:12<00:02, 9.74it/s]\u001B[A\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:13<00:05, 6.73it/s]\u001B[A\n",
- "\n",
- "\n",
- " 79%|███████▉ | 84/106 [00:13<00:02, 8.22it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 85%|████████▍ | 90/106 [00:13<00:01, 9.62it/s]\u001B[A\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:14<00:05, 6.76it/s]\u001B[A\n",
- "\n",
- " 91%|█████████ | 96/106 [00:14<00:01, 8.77it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:14<00:00, 7.53it/s][A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:14<00:00, 7.37it/s]\u001B[A\u001B[A\n",
- "\n",
- " 74%|███████▎ | 78/106 [00:15<00:04, 6.87it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:16<00:03, 6.75it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 114.59it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 53.82it/s] \u001B[A\u001B[A\n",
- "\n",
- " 85%|████████▍ | 90/106 [00:17<00:02, 6.43it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 81.22it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 60.72it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- " 91%|█████████ | 96/106 [00:17<00:01, 6.47it/s]\u001B[A\n",
- "\n",
- " 11%|█▏ | 12/106 [00:00<00:07, 12.78it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:18<00:00, 5.64it/s]\u001B[A\n",
- "\n",
- "\n",
- "\n",
- " 11%|█▏ | 12/106 [00:00<00:07, 13.21it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:02<00:07, 11.21it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 23%|██▎ | 24/106 [00:01<00:06, 13.03it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:02<00:05, 13.89it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 34%|███▍ | 36/106 [00:02<00:03, 18.73it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 45%|████▌ | 48/106 [00:02<00:02, 19.37it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 45%|████▌ | 48/106 [00:02<00:02, 24.50it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:03<00:01, 25.66it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:02<00:01, 33.68it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:03<00:00, 31.84it/s][A\u001B[A\n",
- "\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:02<00:00, 39.15it/s][A\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 488.99it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 90.47it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 50.21it/s]\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:03, 27.03it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:00<00:02, 32.19it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:02, 35.31it/s]\u001B[A\n",
- " 28%|██▊ | 30/106 [00:00<00:01, 38.31it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:01<00:01, 52.87it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:01<00:00, 89.08it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 75.34it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 67.82it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 48.31it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 247.23it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 367.97it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 85.92it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 57.15it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 46.02it/s]\u001B[A\n",
- " 41%|████ | 11/27 [00:00<00:00, 36.42it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 39.14it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:00<00:00, 39.81it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 34.98it/s]\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 101.95it/s][A\u001B[A\u001B[A\n",
- "\n",
- " 11%|█ | 12/107 [00:00<00:01, 71.81it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 128.41it/s]\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█▏ | 12/106 [00:00<00:01, 87.11it/s]\u001B[A\u001B[A\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 214.60it/s][A\n",
- "\n",
- "\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 102.70it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 173.85it/s][A\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 111.38it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 54.81it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 97.42it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 243.25it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 116.69it/s]\u001B[A\n",
- "\n",
- "\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 56.77it/s]\u001B[A\u001B[A\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:00<00:00, 51.78it/s] \u001B[A\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 29.02it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 41.57it/s]\u001B[A\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 39.66it/s]\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 215.35it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 355.54it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 187.91it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 428.69it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 100.27it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 69.08it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 355.55it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 178.97it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 319.32it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 663.56it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 83.79it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 56.26it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 170.20it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1100.30it/s]\n",
- "\n",
- "100%|██████████| 26/26 [00:00<00:00, 270.93it/s]\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:20<00:26, 1.74s/it]\u001B[A\u001B[A\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:31<00:15, 1.73s/it]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:41<00:00, 1.53s/it]\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:06, 14.27it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:01<00:08, 10.17it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:02<00:09, 8.76it/s]\u001B[A\n",
- " 28%|██▊ | 30/106 [00:03<00:09, 8.18it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:04<00:08, 7.87it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:05<00:08, 7.51it/s]\u001B[A\n",
- " 45%|████▌ | 48/106 [00:05<00:07, 7.42it/s]\u001B[A\n",
- " 51%|█████ | 54/106 [00:06<00:07, 7.37it/s]\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:07<00:06, 7.33it/s]\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:08<00:05, 7.21it/s]\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:09<00:04, 7.23it/s]\u001B[A\n",
- " 74%|███████▎ | 78/106 [00:10<00:03, 7.24it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:10<00:03, 7.22it/s]\u001B[A\n",
- " 85%|████████▍ | 90/106 [00:11<00:02, 7.19it/s]\u001B[A\n",
- " 91%|█████████ | 96/106 [00:12<00:01, 7.19it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:13<00:00, 7.93it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:09<00:12, 1.24it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:19<00:10, 1.15s/it]\u001B[A\n",
- "100%|██████████| 27/27 [00:29<00:00, 1.09s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:06, 14.39it/s]\u001B[A\n",
- " 17%|█▋ | 18/106 [00:01<00:08, 10.07it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:02<00:09, 8.68it/s]\u001B[A\n",
- " 28%|██▊ | 30/106 [00:03<00:09, 8.11it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:04<00:09, 7.77it/s]\u001B[A\n",
- " 40%|███▉ | 42/106 [00:05<00:08, 7.43it/s]\u001B[A\n",
- " 45%|████▌ | 48/106 [00:05<00:07, 7.34it/s]\u001B[A\n",
- " 51%|█████ | 54/106 [00:06<00:07, 7.26it/s]\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:07<00:06, 7.26it/s]\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:08<00:05, 7.17it/s]\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:09<00:04, 7.06it/s]\u001B[A\n",
- " 74%|███████▎ | 78/106 [00:10<00:03, 7.08it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:11<00:03, 7.02it/s]\u001B[A\n",
- " 85%|████████▍ | 90/106 [00:11<00:02, 7.02it/s]\u001B[A\n",
- " 91%|█████████ | 96/106 [00:12<00:01, 7.04it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:13<00:00, 7.77it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:09<00:12, 1.21it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:20<00:10, 1.20s/it]\u001B[A\n",
- "100%|██████████| 27/27 [00:30<00:00, 1.12s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 11%|█ | 12/107 [00:00<00:06, 14.35it/s]\u001B[A\n",
- " 17%|█▋ | 18/107 [00:01<00:08, 10.19it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:02<00:09, 8.84it/s]\u001B[A\n",
- " 28%|██▊ | 30/107 [00:03<00:09, 8.18it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:04<00:09, 7.73it/s]\u001B[A\n",
- " 39%|███▉ | 42/107 [00:05<00:08, 7.34it/s]\u001B[A\n",
- " 45%|████▍ | 48/107 [00:05<00:08, 7.29it/s]\u001B[A\n",
- " 50%|█████ | 54/107 [00:06<00:07, 7.25it/s]\u001B[A\n",
- " 56%|█████▌ | 60/107 [00:07<00:06, 7.16it/s]\u001B[A\n",
- " 62%|██████▏ | 66/107 [00:08<00:05, 7.12it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:09<00:05, 6.95it/s]\u001B[A\n",
- " 73%|███████▎ | 78/107 [00:10<00:04, 7.01it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:11<00:03, 7.05it/s]\u001B[A\n",
- " 84%|████████▍ | 90/107 [00:11<00:02, 7.09it/s]\u001B[A\n",
- " 90%|████████▉ | 96/107 [00:12<00:01, 7.10it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:13<00:00, 7.87it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:09<00:11, 1.23it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:19<00:09, 1.16s/it]\u001B[A\n",
- "100%|██████████| 26/26 [00:29<00:00, 1.13s/it]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 11%|█ | 12/107 [00:00<00:06, 14.46it/s]\u001B[A\n",
- " 17%|█▋ | 18/107 [00:01<00:08, 10.11it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:02<00:09, 8.80it/s]\u001B[A\n",
- " 28%|██▊ | 30/107 [00:03<00:09, 8.18it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:04<00:09, 7.79it/s]\u001B[A\n",
- " 39%|███▉ | 42/107 [00:05<00:08, 7.57it/s]\u001B[A\n",
- " 45%|████▍ | 48/107 [00:05<00:07, 7.42it/s]\u001B[A\n",
- " 50%|█████ | 54/107 [00:06<00:07, 7.33it/s]\u001B[A\n",
- " 56%|█████▌ | 60/107 [00:07<00:06, 7.30it/s]\u001B[A\n",
- " 62%|██████▏ | 66/107 [00:08<00:05, 7.16it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:09<00:04, 7.09it/s]\u001B[A\n",
- " 73%|███████▎ | 78/107 [00:10<00:04, 7.07it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:10<00:03, 7.08it/s]\u001B[A\n",
- " 84%|████████▍ | 90/107 [00:11<00:02, 7.10it/s]\u001B[A\n",
- " 90%|████████▉ | 96/107 [00:12<00:01, 7.10it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:13<00:00, 7.93it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:09<00:11, 1.21it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:19<00:09, 1.14s/it]\u001B[A\n",
- "100%|██████████| 26/26 [00:28<00:00, 1.11s/it]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:37:59,862 - IndustrialDispatcher - 6 individuals out of 9 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 474.48it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 53.70it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 49.02it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 50.79it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 790.41it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 86.77it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 79.16it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 550.72it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 85.04it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 777.51it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 84.01it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 545.03it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 80.62it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:38:07,618 - IndustrialDispatcher - 3 individuals out of 3 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 496.67it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 11%|█▏ | 12/106 [00:00<00:00, 94.83it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 389.48it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 62.67it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 50.73it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 40.23it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 597.10it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 81.29it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 50.78it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.40it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 600.47it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 98.61it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 46.98it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 620.15it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 75.20it/s]\u001B[A\n",
- " 77%|███████▋ | 20/26 [00:00<00:00, 52.00it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 35.00it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 609.58it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 79.68it/s]\u001B[A\n",
- " 77%|███████▋ | 20/26 [00:00<00:00, 52.08it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 42.29it/s]\u001B[A\n",
- "Generations: 20%|██ | 1/5 [07:30<30:01, 450.33s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:38:19,669 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 20%|██ | 1/5 [07:30<30:01, 450.35s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:38:19,786 - ApiComposer - Model generation finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:38:20,237 - FEDOT logger - Final pipeline was fitted\n",
- "2024-01-11 17:38:20,238 - FEDOT logger - Final pipeline: {'depth': 1, 'length': 1, 'nodes': [treg]}\n",
- "treg - {}\n",
- "2024-01-11 17:38:20,240 - MemoryAnalytics - Memory consumption for finish in main session: current 0.8 MiB, max: 18.8 MiB\n",
- "2024-01-11 17:38:21,163 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 0.3 MiB, max: 1.8 MiB\n",
- "2024-01-11 17:38:21,164 - ApiComposer - Initial pipeline was fitted in 0.8 sec.\n",
- "2024-01-11 17:38:21,165 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
- "2024-01-11 17:38:21,173 - ApiComposer - AutoML configured. Parameters tuning: False. Time limit: 10 min. Set of candidate models: ['rfr', 'ridge', 'gbr', 'sgdr', 'linear', 'xgbreg', 'dtreg', 'treg', 'knnreg', 'scaling', 'normalization', 'pcaeigen_basis', 'fourier_basis', 'minirocket_extractor', 'quantile_extractor', 'signal_extractor'].\n",
- "2024-01-11 17:38:21,195 - ApiComposer - Pipeline composition started.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 0%| | 0/5 [00:00, ?gen/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:38:24,826 - IndustrialDispatcher - 2 individuals out of 2 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 303.33it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 280.79it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 43.10it/s]\u001B[A\n",
- " 63%|██████▎ | 17/27 [00:00<00:00, 40.18it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 36.85it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 24.00it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 229.91it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 335.07it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 35.04it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 30.57it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 21.59it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 19.50it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 295.90it/s]\u001B[A\n",
- " 62%|██████▏ | 66/106 [00:00<00:00, 239.19it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 271.83it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 40.93it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 28.42it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 25.33it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:00<00:00, 21.78it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 24.16it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 245.93it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 326.75it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 43.41it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 30.27it/s]\u001B[A\n",
- " 85%|████████▍ | 22/26 [00:00<00:00, 32.02it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:01<00:00, 24.97it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 282.00it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 363.68it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 44.24it/s]\u001B[A\n",
- " 65%|██████▌ | 17/26 [00:00<00:00, 45.18it/s]\u001B[A\n",
- " 85%|████████▍ | 22/26 [00:00<00:00, 32.17it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:01<00:00, 24.73it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 15%|█▌ | 16/106 [00:00<00:00, 156.90it/s]\u001B[A\n",
- "SVD estimation: 45%|████▌ | 48/106 [00:00<00:00, 248.14it/s]\u001B[A\n",
- "SVD estimation: 75%|███████▍ | 79/106 [00:00<00:00, 275.11it/s]\u001B[A\n",
- "SVD estimation: 122it [00:00, 332.12it/s] \u001B[A\n",
- "SVD estimation: 212it [00:00, 282.20it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 483.11it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 98.62it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 45.99it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 75%|███████▍ | 79/106 [00:00<00:00, 769.04it/s]\u001B[A\n",
- "SVD estimation: 212it [00:00, 778.63it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 539.54it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 62.67it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 42.66it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.79it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 212it [00:00, 1466.13it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 577.63it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 59.55it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 47.92it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 44.46it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1532.35it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 523.35it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 65.40it/s]\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 47.25it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 36.41it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 214it [00:00, 1543.68it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 586.26it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 63.99it/s]\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 50.69it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 38.79it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:40:25,047 - IndustrialDispatcher - 13 individuals out of 13 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 652.20it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 106.25it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 67.27it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 652.05it/s][A\n",
- "\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 273.49it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 315.40it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 60.16it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 63.25it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 660.14it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 75.52it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 61.81it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 886.66it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 78.47it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 58.85it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 901.57it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 76.67it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 79.68it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 51.44it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 36.11it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 515.94it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 60.17it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 41.29it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 34.84it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 308.51it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 346.20it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 162.62it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 208.00it/s][A\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 35.08it/s]\u001B[A\u001B[A\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 25.94it/s]\u001B[A\u001B[A\n",
- "\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 26.46it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:01<00:00, 24.94it/s]\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 303.33it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 347.33it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 37.60it/s]\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 36.57it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 28.25it/s]\u001B[A\n",
- " 85%|████████▌ | 23/27 [00:00<00:00, 23.82it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 24.79it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 151.35it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 284.94it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 55.45it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 43.46it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.44it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 34.18it/s]\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 29.79it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 28.62it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 19.74it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 21.02it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 499.00it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 293.46it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 352.92it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 53.48it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 26.86it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:01<00:00, 25.00it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 311.17it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 259.77it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 74.27it/s]\u001B[A\n",
- " 77%|███████▋ | 20/26 [00:00<00:00, 48.17it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 35.47it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 31.58it/s]\u001B[A\n",
- " 62%|██████▏ | 16/26 [00:00<00:00, 31.82it/s]\u001B[A\n",
- " 77%|███████▋ | 20/26 [00:00<00:00, 27.86it/s]\u001B[A\n",
- " 88%|████████▊ | 23/26 [00:00<00:00, 25.20it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:01<00:00, 25.36it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 368.71it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 80.74it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 42.32it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:43:05,594 - IndustrialDispatcher - 11 individuals out of 11 in previous population were evaluated successfully.\n",
- "2024-01-11 17:43:10,078 - IndustrialDispatcher - 3 individuals out of 4 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 20%|██ | 1/5 [04:48<19:15, 288.88s/gen]\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 39%|███▊ | 41/106 [00:00<00:00, 407.14it/s]\u001B[A\n",
- "SVD estimation: 77%|███████▋ | 82/106 [00:00<00:00, 181.18it/s]\u001B[A\n",
- "SVD estimation: 109it [00:00, 204.84it/s] \u001B[A\n",
- "SVD estimation: 161it [00:00, 290.44it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 212it [00:00, 300.25it/s]A\u001B[A\n",
- "\n",
- "\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 104.51it/s]\u001B[A\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 71.27it/s] \u001B[A\u001B[A\n",
- "\n",
- " 45%|████▌ | 48/106 [00:00<00:00, 71.88it/s]\u001B[A\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:00<00:00, 68.25it/s]\u001B[A\u001B[A\n",
- "\n",
- " 68%|██████▊ | 72/106 [00:01<00:00, 69.07it/s]\u001B[A\u001B[A\n",
- "\n",
- " 79%|███████▉ | 84/106 [00:01<00:00, 67.72it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:01<00:00, 77.00it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 466.15it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:01<00:01, 11.44it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:01<00:00, 9.17it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:02<00:00, 9.06it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:02<00:00, 9.27it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 136.73it/s]\u001B[A\n",
- " 36%|███▌ | 38/106 [00:00<00:00, 104.97it/s]\u001B[A\n",
- " 46%|████▌ | 49/106 [00:00<00:00, 86.61it/s] \u001B[A\n",
- " 57%|█████▋ | 60/106 [00:00<00:00, 79.01it/s]\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:00<00:00, 76.36it/s]\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:01<00:00, 73.56it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:01<00:00, 87.05it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 43.59it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 32.93it/s]\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 35.14it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 32.01it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:00<00:00, 24.21it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 24.76it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 22%|██▏ | 23/106 [00:00<00:00, 226.09it/s]\u001B[A\n",
- "SVD estimation: 43%|████▎ | 46/106 [00:00<00:00, 133.62it/s]\u001B[A\n",
- "SVD estimation: 58%|█████▊ | 62/106 [00:00<00:00, 119.67it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 72%|███████▏ | 76/106 [00:00<00:00, 121.07it/s]\u001B[A\n",
- "SVD estimation: 84%|████████▍ | 89/106 [00:00<00:00, 99.89it/s] \u001B[A\n",
- "SVD estimation: 94%|█████████▍| 100/106 [00:01<00:00, 63.13it/s]\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:01, 13.22it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 109it [00:01, 42.69it/s] \u001B[A\n",
- "SVD estimation: 116it [00:01, 36.74it/s]\u001B[A\n",
- "SVD estimation: 121it [00:02, 34.68it/s]\u001B[A\n",
- "SVD estimation: 126it [00:02, 34.56it/s]\u001B[A\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:01<00:00, 9.58it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 130it [00:02, 30.60it/s]\u001B[A\n",
- "\n",
- " 70%|███████ | 19/27 [00:02<00:00, 9.57it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 134it [00:02, 24.97it/s]\u001B[A\n",
- "\n",
- " 74%|███████▍ | 20/27 [00:02<00:00, 8.61it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 137it [00:03, 20.29it/s]\u001B[A\n",
- "\n",
- " 78%|███████▊ | 21/27 [00:02<00:00, 6.65it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 140it [00:03, 17.27it/s]\u001B[A\n",
- "\n",
- " 81%|████████▏ | 22/27 [00:02<00:00, 5.87it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 142it [00:03, 15.26it/s]\u001B[A\n",
- "\n",
- " 85%|████████▌ | 23/27 [00:02<00:00, 6.27it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 144it [00:03, 15.03it/s]\u001B[A\n",
- "\n",
- " 89%|████████▉ | 24/27 [00:03<00:00, 6.11it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 146it [00:03, 13.70it/s]\u001B[A\n",
- "\n",
- " 93%|█████████▎| 25/27 [00:03<00:00, 5.40it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 148it [00:04, 11.57it/s]\u001B[A\n",
- "\n",
- " 96%|█████████▋| 26/27 [00:03<00:00, 5.24it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 150it [00:04, 11.76it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:03<00:00, 5.42it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:03<00:00, 6.87it/s]\n",
- "\n",
- "SVD estimation: 154it [00:04, 10.88it/s]\u001B[A\n",
- "SVD estimation: 156it [00:04, 9.99it/s]\u001B[A\n",
- "SVD estimation: 158it [00:05, 10.26it/s]\u001B[A\n",
- "SVD estimation: 160it [00:05, 11.48it/s]\u001B[A\n",
- "SVD estimation: 165it [00:05, 18.65it/s]\u001B[A\n",
- "SVD estimation: 169it [00:05, 23.03it/s]\u001B[A\n",
- "SVD estimation: 175it [00:05, 31.49it/s]\u001B[A\n",
- "SVD estimation: 212it [00:05, 38.07it/s] \u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 146.73it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 37%|███▋ | 39/106 [00:00<00:00, 107.79it/s]\u001B[A\n",
- " 47%|████▋ | 50/106 [00:00<00:00, 91.60it/s] \u001B[A\n",
- "\n",
- " 11%|█▏ | 12/106 [00:00<00:02, 41.63it/s]\u001B[A\u001B[A\n",
- " 57%|█████▋ | 60/106 [00:00<00:00, 68.27it/s]\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:00<00:01, 41.72it/s]\u001B[A\u001B[A\n",
- " 68%|██████▊ | 72/106 [00:00<00:00, 72.35it/s]\u001B[A\n",
- "\n",
- " 28%|██▊ | 30/106 [00:00<00:01, 42.61it/s]\u001B[A\u001B[A\n",
- " 79%|███████▉ | 84/106 [00:01<00:00, 63.96it/s]\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:01, 38.57it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:01<00:00, 81.57it/s][A\n",
- "\n",
- "\n",
- " 45%|████▌ | 48/106 [00:01<00:01, 44.08it/s]\u001B[A\u001B[A\n",
- "\n",
- " 51%|█████ | 54/106 [00:01<00:01, 43.96it/s]\u001B[A\u001B[A\n",
- "\n",
- " 57%|█████▋ | 60/106 [00:01<00:01, 45.51it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:01<00:00, 67.23it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:01, 14.78it/s]\u001B[A\n",
- " 52%|█████▏ | 14/27 [00:00<00:00, 15.07it/s]\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:01<00:00, 15.87it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:01<00:01, 7.28it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:02<00:00, 7.03it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:02<00:00, 9.52it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:00<00:00, 140.73it/s]\u001B[A\n",
- " 36%|███▋ | 39/107 [00:00<00:00, 104.64it/s]\u001B[A\n",
- " 47%|████▋ | 50/107 [00:00<00:00, 85.67it/s] \u001B[A\n",
- " 56%|█████▌ | 60/107 [00:00<00:00, 72.78it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:00<00:00, 67.68it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:01<00:00, 68.79it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 107/107 [00:01<00:00, 75.18it/s][A\n",
- "\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 49.11it/s]\u001B[A\u001B[A\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 38.25it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 40.80it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "SVD estimation: 33%|███▎ | 35/106 [00:00<00:00, 347.46it/s]\u001B[A\n",
- "SVD estimation: 66%|██████▌ | 70/106 [00:00<00:00, 219.57it/s]\u001B[A\n",
- "SVD estimation: 90%|████████▉ | 95/106 [00:00<00:00, 174.84it/s]\u001B[A\n",
- "SVD estimation: 115it [00:00, 154.16it/s] \u001B[A\n",
- "SVD estimation: 132it [00:00, 153.99it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 153it [00:00, 159.90it/s]\u001B[A\n",
- "SVD estimation: 170it [00:01, 91.03it/s] \u001B[A\n",
- "SVD estimation: 183it [00:01, 74.75it/s]\u001B[A\n",
- "\n",
- " 46%|████▌ | 12/26 [00:00<00:01, 12.81it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 193it [00:01, 58.58it/s]\u001B[A\n",
- "SVD estimation: 201it [00:02, 52.57it/s]\u001B[A\n",
- "SVD estimation: 212it [00:02, 81.54it/s]\u001B[A\n",
- "\n",
- "\n",
- " 69%|██████▉ | 18/26 [00:01<00:00, 9.24it/s]\u001B[A\u001B[A\n",
- "\n",
- " 73%|███████▎ | 19/26 [00:01<00:00, 9.23it/s]\u001B[A\u001B[A\n",
- "\n",
- " 92%|█████████▏| 24/26 [00:03<00:00, 6.81it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:03<00:00, 8.22it/s]\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 343.77it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 487.54it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 22%|██▏ | 24/107 [00:00<00:00, 147.63it/s]\u001B[A\n",
- " 36%|███▋ | 39/107 [00:00<00:00, 113.43it/s]\u001B[A\n",
- " 48%|████▊ | 51/107 [00:00<00:00, 93.92it/s] \u001B[A\n",
- " 57%|█████▋ | 61/107 [00:00<00:00, 76.91it/s]\u001B[A\n",
- " 67%|██████▋ | 72/107 [00:00<00:00, 71.02it/s]\u001B[A\n",
- " 79%|███████▊ | 84/107 [00:01<00:00, 72.78it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:01<00:00, 89.55it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 144.12it/s]\u001B[A\n",
- " 37%|███▋ | 39/106 [00:00<00:00, 136.90it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 236.17it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 36.44it/s]\u001B[A\n",
- " 59%|█████▉ | 16/27 [00:00<00:00, 30.92it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 20.82it/s]\u001B[A\n",
- " 81%|████████▏ | 22/27 [00:01<00:00, 16.78it/s]\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 12.35it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 16.27it/s]\u001B[A\n",
- "\n",
- "\n",
- " 46%|████▌ | 12/26 [00:01<00:02, 6.72it/s]\u001B[A\u001B[A\n",
- "\n",
- " 69%|██████▉ | 18/26 [00:02<00:01, 6.02it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 73%|███████▎ | 19/26 [00:03<00:01, 6.24it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 8%|▊ | 9/107 [00:00<00:01, 67.34it/s]\u001B[A\n",
- "\n",
- " 77%|███████▋ | 20/26 [00:03<00:01, 5.80it/s]\u001B[A\u001B[A\n",
- "\n",
- " 81%|████████ | 21/26 [00:03<00:00, 5.54it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 15%|█▍ | 16/107 [00:00<00:02, 32.67it/s]\u001B[A\n",
- "\n",
- " 85%|████████▍ | 22/26 [00:03<00:00, 5.84it/s]\u001B[A\u001B[A\n",
- "\n",
- " 88%|████████▊ | 23/26 [00:03<00:00, 5.25it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 26/26 [00:04<00:00, 6.38it/s]00:03, 22.04it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 22%|██▏ | 24/107 [00:01<00:04, 17.00it/s]\u001B[A\n",
- "SVD estimation: 25%|██▌ | 27/107 [00:01<00:04, 16.12it/s]\u001B[A\n",
- "SVD estimation: 27%|██▋ | 29/107 [00:01<00:05, 14.09it/s]\u001B[A\n",
- "SVD estimation: 29%|██▉ | 31/107 [00:01<00:05, 14.61it/s]\u001B[A\n",
- "SVD estimation: 31%|███ | 33/107 [00:01<00:05, 14.25it/s]\u001B[A\n",
- "SVD estimation: 33%|███▎ | 35/107 [00:02<00:05, 12.93it/s]\u001B[A\n",
- "SVD estimation: 35%|███▍ | 37/107 [00:02<00:06, 10.47it/s]\u001B[A\n",
- "SVD estimation: 36%|███▋ | 39/107 [00:02<00:06, 10.51it/s]\u001B[A\n",
- "SVD estimation: 38%|███▊ | 41/107 [00:02<00:06, 10.15it/s]\u001B[A\n",
- "SVD estimation: 40%|████ | 43/107 [00:02<00:05, 11.41it/s]\u001B[A\n",
- "SVD estimation: 46%|████▌ | 49/107 [00:03<00:03, 16.60it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 69%|██████▉ | 74/107 [00:03<00:00, 58.27it/s]\u001B[A\n",
- "\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 47.71it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 78%|███████▊ | 83/107 [00:03<00:00, 45.23it/s]\u001B[A\n",
- "\n",
- " 63%|██████▎ | 17/27 [00:00<00:00, 46.33it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 84%|████████▍ | 90/107 [00:03<00:00, 44.63it/s]\u001B[A\n",
- "\n",
- " 81%|████████▏ | 22/27 [00:00<00:00, 41.08it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:00<00:00, 32.58it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 29.09it/s]00:00, 34.27it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 95%|█████████▌| 102/107 [00:04<00:00, 31.36it/s]\u001B[A\n",
- "SVD estimation: 100%|██████████| 107/107 [00:04<00:00, 33.65it/s]\u001B[A\n",
- "SVD estimation: 139it [00:04, 84.78it/s] \u001B[A\n",
- "SVD estimation: 190it [00:04, 171.10it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 24/106 [00:00<00:00, 146.73it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 214it [00:04, 45.48it/s] \u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 331.10it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 271.40it/s]\u001B[A\n",
- "\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 182.30it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 321.10it/s][A\n",
- "\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 228.27it/s][A\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 61.09it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 50.48it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 31.15it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 64.33it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 40.32it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 35.52it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 355.46it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 528.77it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 51.57it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 40.67it/s]\u001B[A\n",
- " 85%|████████▍ | 22/26 [00:00<00:00, 29.03it/s]\u001B[A\n",
- "\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 38.86it/s]\u001B[A\u001B[A\n",
- " 96%|█████████▌| 25/26 [00:01<00:00, 19.03it/s]\u001B[A\n",
- "\n",
- " 37%|███▋ | 10/27 [00:00<00:00, 17.48it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:01<00:00, 18.87it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 67%|██████▋ | 18/27 [00:01<00:00, 14.94it/s]\u001B[A\u001B[A\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 17.55it/s]\u001B[A\u001B[A\n",
- " 22%|██▏ | 6/27 [00:00<00:00, 49.31it/s]\u001B[A\n",
- "\n",
- " 96%|█████████▋| 26/27 [00:01<00:00, 15.61it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 14.70it/s]\u001B[A\n",
- "\n",
- " 56%|█████▌ | 15/27 [00:00<00:00, 23.76it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 20.65it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:01<00:00, 19.13it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/107 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 89%|████████▉ | 24/27 [00:01<00:00, 21.29it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 3%|▎ | 3/107 [00:00<00:03, 29.50it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 17.77it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:01<00:00, 18.19it/s]0:05, 18.87it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "SVD estimation: 12%|█▏ | 13/107 [00:00<00:02, 35.11it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▌ | 17/107 [00:00<00:02, 36.32it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 48%|████▊ | 51/107 [00:00<00:00, 130.58it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 88%|████████▊ | 94/107 [00:00<00:00, 161.06it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 138it [00:00, 227.93it/s] \u001B[A\u001B[A\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 214it [00:01, 193.27it/s]\u001B[A\u001B[A\n",
- "\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 313.88it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 432.05it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 456.54it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 303.33it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 333.19it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 59.57it/s]\u001B[A\n",
- "\n",
- " 23%|██▎ | 6/26 [00:00<00:00, 47.95it/s]\u001B[A\u001B[A\n",
- "\n",
- " 42%|████▏ | 11/26 [00:00<00:00, 34.83it/s]\u001B[A\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 29.54it/s]\u001B[A\n",
- "\n",
- " 58%|█████▊ | 15/26 [00:00<00:00, 20.88it/s]\u001B[A\u001B[A\n",
- " 81%|████████▏ | 22/27 [00:01<00:00, 17.93it/s]\u001B[A\n",
- " 93%|█████████▎| 25/27 [00:01<00:00, 16.09it/s]\u001B[A\n",
- "\n",
- " 69%|██████▉ | 18/26 [00:01<00:00, 12.73it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 27/27 [00:01<00:00, 13.28it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 27/27 [00:01<00:00, 15.32it/s]\u001B[A\u001B[A\n",
- "100%|██████████| 26/26 [00:01<00:00, 16.22it/s]\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 483.33it/s][A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 468.50it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 6/26 [00:00<00:00, 42.97it/s]\u001B[A\u001B[A\n",
- "\n",
- " 42%|████▏ | 11/26 [00:00<00:00, 35.59it/s]\u001B[A\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 37.23it/s]\u001B[A\n",
- "\n",
- " 58%|█████▊ | 15/26 [00:00<00:00, 25.08it/s]\u001B[A\u001B[A\n",
- " 62%|██████▏ | 16/26 [00:01<00:00, 18.31it/s]\u001B[A\n",
- "\n",
- " 69%|██████▉ | 18/26 [00:01<00:00, 15.17it/s]\u001B[A\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:01<00:00, 14.87it/s]\u001B[A\n",
- "\n",
- " 77%|███████▋ | 20/26 [00:01<00:00, 11.83it/s]\u001B[A\u001B[A\n",
- " 81%|████████ | 21/26 [00:01<00:00, 12.16it/s]\u001B[A\n",
- "\n",
- " 85%|████████▍ | 22/26 [00:01<00:00, 11.47it/s]\u001B[A\u001B[A\n",
- "\n",
- "100%|██████████| 26/26 [00:01<00:00, 14.04it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 26/26 [00:01<00:00, 13.04it/s]\u001B[A\u001B[A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 23%|██▎ | 6/26 [00:00<00:00, 50.13it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 32.90it/s]\u001B[A\n",
- " 62%|██████▏ | 16/26 [00:00<00:00, 32.04it/s]\u001B[A\n",
- " 77%|███████▋ | 20/26 [00:00<00:00, 32.86it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 29.23it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▎ | 36/107 [00:00<00:00, 357.39it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 380.44it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 53.71it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 42.36it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 40.67it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:45:18,391 - IndustrialDispatcher - 9 individuals out of 10 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 587.20it/s][A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 350.45it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 496.65it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 98.62it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 54.14it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 574.51it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 80.21it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 69.41it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 966.22it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 89.36it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 71.82it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 957.90it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 66.11it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 58.06it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 957.91it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 107.43it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 78.36it/s] \u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1897.92it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 160.57it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1296.14it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 125.47it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 106/106 [00:00<00:00, 1802.20it/s]\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 139.55it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1759.67it/s]\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 113.84it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- " 34%|███▍ | 36/106 [00:00<00:00, 337.35it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 454.20it/s][A\n",
- "\n",
- "100%|██████████| 107/107 [00:00<00:00, 1702.97it/s]\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 122.97it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 70.78it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 49.83it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 37.09it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 536.78it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 64.69it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 44.61it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 40.41it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 523.56it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 65.39it/s]\u001B[A\n",
- " 70%|███████ | 19/27 [00:00<00:00, 47.78it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 37.22it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 586.26it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 80.21it/s]\u001B[A\n",
- " 78%|███████▊ | 21/27 [00:00<00:00, 54.18it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.74it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 489.78it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 58.12it/s]\u001B[A\n",
- " 69%|██████▉ | 18/26 [00:00<00:00, 44.99it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 34.48it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 567.65it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 93.27it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 40.35it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 78.77it/s]\u001B[A\n",
- " 74%|███████▍ | 20/27 [00:00<00:00, 53.12it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 39.62it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/106 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 106/106 [00:00<00:00, 621.54it/s][A\n",
- "\n",
- " 0%| | 0/27 [00:00, ?it/s]\u001B[A\n",
- " 44%|████▍ | 12/27 [00:00<00:00, 57.18it/s]\u001B[A\n",
- " 67%|██████▋ | 18/27 [00:00<00:00, 52.70it/s]\u001B[A\n",
- "100%|██████████| 27/27 [00:00<00:00, 38.28it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 616.59it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 84.25it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 43.46it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/107 [00:00, ?it/s]\u001B[A\n",
- "100%|██████████| 107/107 [00:00<00:00, 609.58it/s][A\n",
- "\n",
- " 0%| | 0/26 [00:00, ?it/s]\u001B[A\n",
- " 46%|████▌ | 12/26 [00:00<00:00, 65.04it/s]\u001B[A\n",
- " 73%|███████▎ | 19/26 [00:00<00:00, 55.59it/s]\u001B[A\n",
- "100%|██████████| 26/26 [00:00<00:00, 42.94it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:47:23,547 - IndustrialDispatcher - 10 individuals out of 10 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 40%|████ | 2/5 [09:02<13:24, 268.05s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:47:23,601 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 40%|████ | 2/5 [09:02<13:33, 271.20s/gen]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:47:23,714 - ApiComposer - Model generation finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-11 17:47:24,163 - FEDOT logger - Final pipeline was fitted\n",
- "2024-01-11 17:47:24,165 - FEDOT logger - Final pipeline: {'depth': 1, 'length': 1, 'nodes': [treg]}\n",
- "treg - {}\n",
- "2024-01-11 17:47:24,166 - MemoryAnalytics - Memory consumption for finish in main session: current 1.0 MiB, max: 26.2 MiB\n"
- ]
- }
- ],
- "source": [
- "metric_dict, model_list = evaluate_automl(runs=3)"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "outputs": [
- {
- "data": {
- "text/plain": " r2_score: mean_squared_error: root_mean_squared_error: \\\nrun_number - 0 0.607232 1.271311 1.127524 \nrun_number - 1 0.607232 1.271311 1.127524 \nrun_number - 2 0.607232 1.271311 1.127524 \n\n mean_absolute_error median_absolute_error \\\nrun_number - 0 0.799539 0.640049 \nrun_number - 1 0.799539 0.640049 \nrun_number - 2 0.799539 0.640049 \n\n explained_variance_score max_error d2_absolute_error_score \nrun_number - 0 0.607232 4.497106 0.443824 \nrun_number - 1 0.607232 4.497106 0.443824 \nrun_number - 2 0.607232 4.497106 0.443824 ",
- "text/html": "\n\n
\n \n \n \n r2_score: \n mean_squared_error: \n root_mean_squared_error: \n mean_absolute_error \n median_absolute_error \n explained_variance_score \n max_error \n d2_absolute_error_score \n \n \n \n \n run_number - 0 \n 0.607232 \n 1.271311 \n 1.127524 \n 0.799539 \n 0.640049 \n 0.607232 \n 4.497106 \n 0.443824 \n \n \n run_number - 1 \n 0.607232 \n 1.271311 \n 1.127524 \n 0.799539 \n 0.640049 \n 0.607232 \n 4.497106 \n 0.443824 \n \n \n run_number - 2 \n 0.607232 \n 1.271311 \n 1.127524 \n 0.799539 \n 0.640049 \n 0.607232 \n 4.497106 \n 0.443824 \n \n \n
\n
"
- },
- "execution_count": 19,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_automl = pd.concat([x for x in metric_dict.values()],axis=0).T\n",
- "df_automl.columns = list(metric_dict.keys())\n",
- "df_automl = df_automl.T\n",
- "df_automl.sort_values('root_mean_squared_error:')"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "outputs": [],
- "source": [
- "for model in model_list:\n",
- " model.solver.current_pipeline.show()\n",
- " model.plot_operation_distribution(mode='each')\n",
- " model.plot_fitness_by_generation()"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Compare with State of Art (SOTA) models"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 49,
- "outputs": [],
- "source": [
- "df = pd.read_csv(data_path+'/ts_regression_sota_results.csv',sep=';')"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 50,
- "outputs": [],
- "source": [
- "df = df[df['ds/type'] == dataset_name].iloc[:,:25]\n",
- "df.index = df['algorithm']\n",
- "df = df.drop(['algorithm','ds/type'], axis=1)\n",
- "df = df.replace(',','.', regex=True).astype(float)\n",
- "df['Fedot_Industrial_baseline'] = best_baseline\n",
- "df['Fedot_Industrial_tuned'] = best_tuned\n",
- "df['Fedot_Industrial_AutoML'] = 0"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 51,
- "outputs": [],
- "source": [
- "df.loc['min','Fedot_Industrial_AutoML'] = df_automl['root_mean_squared_error:'].min()\n",
- "df.loc['max','Fedot_Industrial_AutoML'] = df_automl['root_mean_squared_error:'].max()\n",
- "df.loc['average','Fedot_Industrial_AutoML'] = df_automl['root_mean_squared_error:'].mean()\n",
- "df = df.T"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 58,
- "outputs": [
+ "data": {
+ "text/plain": " r2 rmse mae\n0 0.612 1.121 0.756",
+ "text/html": "\n\n
\n \n \n \n r2 \n rmse \n mae \n \n \n \n \n 0 \n 0.612 \n 1.121 \n 0.756 \n \n \n
\n
"
+ },
+ "execution_count": 45,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "auto_metrics"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "outputs": [],
+ "source": [
+ "predictions = np.vstack([test_data[1].flatten(),labels.flatten(),auto_labels.flatten()]).T"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "outputs": [],
+ "source": [
+ "all_prediction = pd.DataFrame(predictions,columns=['target','baseline','automl'])"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "outputs": [],
+ "source": [
+ "all_prediction.plot()\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Compare with State of Art (SOTA) models"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "outputs": [],
+ "source": [
+ "df = pd.read_csv(data_path+'/ts_regression_sota_results.csv',sep=';')\n",
+ "df = df[df['ds/type'] == dataset_name].iloc[:,:25]\n",
+ "df.index = df['algorithm']\n",
+ "df = df.drop(['algorithm','ds/type'], axis=1)\n",
+ "df = df.replace(',','.', regex=True).astype(float)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "outputs": [],
+ "source": [
+ "df['Fedot_Industrial_tuned'] = metrics['rmse'][0]\n",
+ "df['Fedot_Industrial_AutoML'] = auto_metrics['rmse'][0]\n",
+ "df = df.T"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "outputs": [
{
"data": {
- "text/plain": "FreshPRINCE_RMSE 1.020426\nDrCIF_RMSE 1.046399\nRotF_RMSE 1.097089\nFedot_Industrial_AutoML 1.127524\nTSF_RMSE 1.172730\nRandF_RMSE 1.182821\nXGBoost_RMSE 1.272832\nRIST_RMSE 1.301506\nFedot_Industrial_tuned 1.362271\nRDST_RMSE 1.382981\nMultiROCKET_RMSE 1.454406\nSingleInception_RMSE 1.490343\nInceptionT_RMSE 1.542210\n5NN-DTW_RMSE 1.593567\nCNN_RMSE 1.602674\nFPCR-Bs_RMSE 1.607024\nResNet_RMSE 1.610736\nFCN_RMSE 1.636335\nFPCR_RMSE 1.637966\nGrid-SVR_RMSE 1.699988\nRidge_RMSE 1.713667\nROCKET_RMSE 1.856612\n5NN-ED_RMSE 1.905470\n1NN-ED_RMSE 2.129638\n1NN-DTW_RMSE 2.211915\nFedot_Industrial_baseline 4.637406\nName: min, dtype: float64"
+ "text/plain": "FreshPRINCE_RMSE 1.020426\nFedot_Industrial_tuned 1.032000\nDrCIF_RMSE 1.046399\nRotF_RMSE 1.097089\nFedot_Industrial_AutoML 1.121000\nTSF_RMSE 1.172730\nRandF_RMSE 1.182821\nXGBoost_RMSE 1.272832\nRIST_RMSE 1.301506\nRDST_RMSE 1.382981\nMultiROCKET_RMSE 1.454406\nSingleInception_RMSE 1.490343\nInceptionT_RMSE 1.542210\n5NN-DTW_RMSE 1.593567\nCNN_RMSE 1.602674\nFPCR-Bs_RMSE 1.607024\nResNet_RMSE 1.610736\nFCN_RMSE 1.636335\nFPCR_RMSE 1.637966\nGrid-SVR_RMSE 1.699988\nRidge_RMSE 1.713667\nROCKET_RMSE 1.856612\n5NN-ED_RMSE 1.905470\n1NN-ED_RMSE 2.129638\n1NN-DTW_RMSE 2.211915\nName: min, dtype: float64"
},
- "execution_count": 58,
+ "execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
@@ -3483,13 +1802,13 @@
},
{
"cell_type": "code",
- "execution_count": 57,
+ "execution_count": 53,
"outputs": [
{
"data": {
- "text/plain": "Fedot_Industrial_AutoML 1.127524\nFedot_Industrial_tuned 1.362271\nRIST_RMSE 1.887153\nRotF_RMSE 2.088333\nFreshPRINCE_RMSE 2.101253\nMultiROCKET_RMSE 2.137563\nTSF_RMSE 2.181236\nRDST_RMSE 2.200364\nDrCIF_RMSE 2.201153\nResNet_RMSE 2.404590\nRandF_RMSE 2.446314\n5NN-DTW_RMSE 2.502464\nXGBoost_RMSE 2.511297\nFPCR-Bs_RMSE 2.512605\nFPCR_RMSE 2.523426\n5NN-ED_RMSE 2.554152\nFCN_RMSE 2.559661\nInceptionT_RMSE 2.574168\nSingleInception_RMSE 2.633115\nCNN_RMSE 2.674200\nGrid-SVR_RMSE 2.800419\nROCKET_RMSE 2.870444\nRidge_RMSE 2.904762\n1NN-ED_RMSE 3.281798\n1NN-DTW_RMSE 3.408802\nFedot_Industrial_baseline 4.637406\nName: max, dtype: float64"
+ "text/plain": "Fedot_Industrial_tuned 1.032000\nFedot_Industrial_AutoML 1.121000\nRIST_RMSE 1.887153\nRotF_RMSE 2.088333\nFreshPRINCE_RMSE 2.101253\nMultiROCKET_RMSE 2.137563\nTSF_RMSE 2.181236\nRDST_RMSE 2.200364\nDrCIF_RMSE 2.201153\nResNet_RMSE 2.404590\nRandF_RMSE 2.446314\n5NN-DTW_RMSE 2.502464\nXGBoost_RMSE 2.511297\nFPCR-Bs_RMSE 2.512605\nFPCR_RMSE 2.523426\n5NN-ED_RMSE 2.554152\nFCN_RMSE 2.559661\nInceptionT_RMSE 2.574168\nSingleInception_RMSE 2.633115\nCNN_RMSE 2.674200\nGrid-SVR_RMSE 2.800419\nROCKET_RMSE 2.870444\nRidge_RMSE 2.904762\n1NN-ED_RMSE 3.281798\n1NN-DTW_RMSE 3.408802\nName: max, dtype: float64"
},
- "execution_count": 57,
+ "execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
@@ -3506,13 +1825,13 @@
},
{
"cell_type": "code",
- "execution_count": 56,
+ "execution_count": 54,
"outputs": [
{
"data": {
- "text/plain": "Fedot_Industrial_AutoML 1.127524\nFedot_Industrial_tuned 1.362271\nFreshPRINCE_RMSE 1.490442\nRIST_RMSE 1.501047\nRotF_RMSE 1.559385\nDrCIF_RMSE 1.594442\nTSF_RMSE 1.684828\nRandF_RMSE 1.708196\nXGBoost_RMSE 1.716903\nRDST_RMSE 1.772813\nMultiROCKET_RMSE 1.773578\nResNet_RMSE 1.938074\nInceptionT_RMSE 2.030315\nFPCR_RMSE 2.052389\n5NN-DTW_RMSE 2.055256\nFCN_RMSE 2.069046\nFPCR-Bs_RMSE 2.097964\nSingleInception_RMSE 2.149368\nCNN_RMSE 2.150854\nGrid-SVR_RMSE 2.203537\n5NN-ED_RMSE 2.251424\nROCKET_RMSE 2.275254\nRidge_RMSE 2.363609\n1NN-DTW_RMSE 2.742105\n1NN-ED_RMSE 2.822595\nFedot_Industrial_baseline 4.637406\nName: average, dtype: float64"
+ "text/plain": "Fedot_Industrial_tuned 1.032000\nFedot_Industrial_AutoML 1.121000\nFreshPRINCE_RMSE 1.490442\nRIST_RMSE 1.501047\nRotF_RMSE 1.559385\nDrCIF_RMSE 1.594442\nTSF_RMSE 1.684828\nRandF_RMSE 1.708196\nXGBoost_RMSE 1.716903\nRDST_RMSE 1.772813\nMultiROCKET_RMSE 1.773578\nResNet_RMSE 1.938074\nInceptionT_RMSE 2.030315\nFPCR_RMSE 2.052389\n5NN-DTW_RMSE 2.055256\nFCN_RMSE 2.069046\nFPCR-Bs_RMSE 2.097964\nSingleInception_RMSE 2.149368\nCNN_RMSE 2.150854\nGrid-SVR_RMSE 2.203537\n5NN-ED_RMSE 2.251424\nROCKET_RMSE 2.275254\nRidge_RMSE 2.363609\n1NN-DTW_RMSE 2.742105\n1NN-ED_RMSE 2.822595\nName: average, dtype: float64"
},
- "execution_count": 56,
+ "execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
@@ -3526,18 +1845,6 @@
"name": "#%%\n"
}
}
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "outputs": [],
- "source": [],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
}
],
"metadata": {
diff --git a/examples/tabular/requirements.txt b/examples/real_world_examples/industrial_examples/economic_analysis/requirements.txt
similarity index 100%
rename from examples/tabular/requirements.txt
rename to examples/real_world_examples/industrial_examples/economic_analysis/requirements.txt
diff --git a/examples/tabular/scoring_prediction.py b/examples/real_world_examples/industrial_examples/economic_analysis/scoring_prediction.py
similarity index 100%
rename from examples/tabular/scoring_prediction.py
rename to examples/real_world_examples/industrial_examples/economic_analysis/scoring_prediction.py
diff --git a/examples/tabular/scoring_train.csv b/examples/real_world_examples/industrial_examples/economic_analysis/scoring_train.csv
similarity index 100%
rename from examples/tabular/scoring_train.csv
rename to examples/real_world_examples/industrial_examples/economic_analysis/scoring_train.csv
diff --git a/examples/tabular/scroing_prediction.ipynb b/examples/real_world_examples/industrial_examples/economic_analysis/scroing_prediction.ipynb
similarity index 99%
rename from examples/tabular/scroing_prediction.ipynb
rename to examples/real_world_examples/industrial_examples/economic_analysis/scroing_prediction.ipynb
index 83d8929cb..31f1f02d9 100644
--- a/examples/tabular/scroing_prediction.ipynb
+++ b/examples/real_world_examples/industrial_examples/economic_analysis/scroing_prediction.ipynb
@@ -6,7 +6,10 @@
"## Imports"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -18,6 +21,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:46.840284200Z",
"start_time": "2024-01-09T14:23:42.905260300Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
},
"outputs": [],
@@ -34,7 +40,10 @@
"## Opening Data"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -49,6 +58,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:46.862273700Z",
"start_time": "2024-01-09T14:23:46.834260400Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -75,6 +87,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:46.895260400Z",
"start_time": "2024-01-09T14:23:46.867262300Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -115,6 +130,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:46.926262700Z",
"start_time": "2024-01-09T14:23:46.894259900Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -130,6 +148,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:46.969259500Z",
"start_time": "2024-01-09T14:23:46.912261200Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -139,7 +160,10 @@
"Split data for validation"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -154,6 +178,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:47.066260100Z",
"start_time": "2024-01-09T14:23:46.926262700Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -178,6 +205,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:47.122259200Z",
"start_time": "2024-01-09T14:23:46.942259900Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -187,7 +217,10 @@
"## Experiments settings"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -206,6 +239,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:47.372265900Z",
"start_time": "2024-01-09T14:23:47.330261600Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -215,7 +251,10 @@
"## Fedot (current master)"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -230,6 +269,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:23:49.032388300Z",
"start_time": "2024-01-09T14:23:48.900388800Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -314,6 +356,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.131389400Z",
"start_time": "2024-01-09T14:23:49.410176Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -339,6 +384,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.450391500Z",
"start_time": "2024-01-09T14:33:18.133389300Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -364,6 +412,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.641098900Z",
"start_time": "2024-01-09T14:33:18.452391700Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -392,6 +443,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.662099600Z",
"start_time": "2024-01-09T14:33:18.643099800Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -428,6 +482,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.687102500Z",
"start_time": "2024-01-09T14:33:18.660100500Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -452,6 +509,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:18.862100Z",
"start_time": "2024-01-09T14:33:18.674101400Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -476,6 +536,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:19.238101600Z",
"start_time": "2024-01-09T14:33:18.861099Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -485,7 +548,10 @@
"## Fedot with use_auto_preprocessing (current master)"
],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
}
},
{
@@ -500,6 +566,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:33:19.569648500Z",
"start_time": "2024-01-09T14:33:19.240102100Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -604,6 +673,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:44.532792500Z",
"start_time": "2024-01-09T14:33:19.571649Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -639,6 +711,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:44.787011300Z",
"start_time": "2024-01-09T14:44:44.533803600Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -664,6 +739,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:44.869049900Z",
"start_time": "2024-01-09T14:44:44.789038300Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -692,6 +770,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:44.882008Z",
"start_time": "2024-01-09T14:44:44.871000100Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -728,6 +809,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:44.912006600Z",
"start_time": "2024-01-09T14:44:44.886003900Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -752,6 +836,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:45.067037200Z",
"start_time": "2024-01-09T14:44:44.900002900Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -776,6 +863,9 @@
"ExecuteTime": {
"end_time": "2024-01-09T14:44:45.464663300Z",
"start_time": "2024-01-09T14:44:45.070001Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
}
}
},
@@ -785,7 +875,10 @@
"outputs": [],
"source": [],
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
}
}
],
@@ -813,4 +906,4 @@
},
"nbformat": 4,
"nbformat_minor": 0
-}
+}
\ No newline at end of file
diff --git a/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption.ipynb b/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption.ipynb
deleted file mode 100644
index c7f0c38f0..000000000
--- a/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption.ipynb
+++ /dev/null
@@ -1,4813 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "## Predict how much energy will a building consume with Fedot.Industrial"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Dataset published on Kaggle, aims to assess the value of energy efficiency improvements. For that purpose, four types of sources are identified: electricity, chilled water, steam and hot\n",
- "water. The goal is to estimate the **energy consumption in kWh**. Dimensions correspond to the air temperature, dew temperature, wind direction and wind speed. These values were taken hourly during a week, and the output is the meter reading of the four aforementioned sources. In this way, was created four datasets: **ChilledWaterPredictor**, **ElectricityPredictor**, **HotwaterPredictor**, and **SteamPredictor**.\n",
- "Link to the dataset - https://www.kaggle.com/code/fatmanuranl/ashrae-energy-prediction2"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2023-08-28T10:34:48.354623Z",
- "start_time": "2023-08-28T10:34:39.594404Z"
- },
- "pycharm": {
- "name": "#%%\n"
- }
- },
- "outputs": [],
- "source": [
- "import pandas as pd\n",
- "from fedot_ind.tools.loader import DataLoader\n",
- "from examples.example_utils import init_input_data"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "pycharm": {
- "name": "#%% md\n"
- }
- },
- "source": [
- "The list of basic fedot industrial models for experiment are shown below. We using simple linear machine learning pipelines with 3 different feature generators: Statistical, Reccurence, Topological. And for each of them we add PCA transformation with 90 % of explained dispersion."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "outputs": [],
- "source": [
- "from cases.utils import ts_regression_setup\n",
- "dataset_name = 'ElectricityPredictor'\n",
- "OperationTypesRepository, tuning_params, data_path, experiment_setup, model_dict = ts_regression_setup()\n",
- "experiment_setup['output_folder'] = f'./{dataset_name}/results_of_experiment'\n"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "pycharm": {
- "name": "#%% md\n"
- }
- },
- "source": [
- "Now we must download the dataset. It could be done by using `DataReader` class that implemented as attribute of `FedotIndustrial` class. This class firstly tries to read the data from local project folder `data_path` and then if it is not possible, it downloads the data from the UCR/UEA archive. The data will be saved in the `data` folder."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2023-08-28T10:35:13.321212Z",
- "start_time": "2023-08-28T10:35:12.913025Z"
- },
- "pycharm": {
- "name": "#%%\n"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 15:40:20,156 - Reading data from D:\\WORK\\Repo\\Industiral\\IndustrialTS/examples/data/ElectricityPredictor\n"
- ]
- }
- ],
- "source": [
- "_, train_data, test_data = DataLoader(dataset_name=dataset_name).read_train_test_files(\n",
- " dataset_name=dataset_name,\n",
- " data_path=data_path)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "outputs": [],
- "source": [
- "input_data = init_input_data(train_data[0], train_data[1], task=tuning_params['task'])\n",
- "val_data = init_input_data(test_data[0], test_data[1], task=tuning_params['task'])"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Lets check our data."
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "outputs": [
- {
- "data": {
- "text/plain": "(567, 4, 168)"
- },
- "execution_count": 6,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "input_data.features.shape"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Lets visualise our predictors."
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "outputs": [
- {
- "data": {
- "text/plain": "",
- "image/png": "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"
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": "",
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAGzCAYAAADuc1ebAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB5FElEQVR4nO39eXxb5Zk3/n+Odsm7Y8dLYid2EtaEAAEy7LRNCfkCBdqyDS3QBVpKV6YUMvNQli4UaJk8pQx0ZlqgPzqdbkA79CkMOwHCGihlC1mcxE7ixLu8aNf9+0O6j45k7T7ajj7v1ysvsCRLR9LxOde57uu+bkUIIUBERERUpkyl3gAiIiKidBisEBERUVljsEJERERljcEKERERlTUGK0RERFTWGKwQERFRWWOwQkRERGWNwQoRERGVNQYrREREVNYYrBAV0U033QRFUUq9GUREFYXBClEV+rd/+zfcf//9pd6MsjMzM4ObbroJzz77bKk3hYg0GKwQVSEGK8nNzMzg5ptvZrBCVGYYrBCRYQWDQfj9/lJvRtlsB1GlYrBCVCAvvPACjj32WDgcDixZsgQ///nPUz72wQcfxKpVq+B0OtHc3IyLLroI/f396v0//elPYTabMT4+rt72k5/8BIqi4JprrlFvC4VCqKurw3XXXZfytRYvXox3330Xzz33HBRFgaIoOO2009T7x8fH8c1vfhNdXV2w2+1YunQpbrvtNoTDYfUxO3fuhKIo+PGPf4y7774bvb29cLlcOP3009Hf3w8hBL73ve9h4cKFcDqdOOecczA6OjprO8466yz87//+L4488kg4HA4cdthheOihh2Ztc67btGHDBixZsgR2ux3vvfce/H4/vvvd72LVqlVoaGhATU0NTj75ZDzzzDNxv9/a2goAuPnmm9XP5qabbgIAnHbaaXGfk3T55Zdj8eLFWW0HAHzwwQf49Kc/jebmZjgcDhxzzDH485//nPL7IiLAUuoNIDKiv//97zj99NPR2tqKm266CcFgEDfeeCPa2tpmPfYHP/gBbrjhBlxwwQX44he/iKGhIdx111045ZRT8Oabb6KxsREnn3wywuEwXnjhBZx11lkAgI0bN8JkMmHjxo3qc7355puYmprCKaecknLbNmzYgK997Wuora3Fv/zLvwCAul0zMzM49dRTsWfPHnzpS19Cd3c3XnrpJaxfvx779u3Dhg0b4p7r17/+Nfx+P772ta9hdHQUt99+Oy644AJ89KMfxbPPPovrrrsO27Ztw1133YVvf/vb+OUvfxn3+1u3bsWFF16IL3/5y7jssstw33334fzzz8djjz2Gj3/843lt03333Qev14srr7wSdrsdzc3NcLvd+M///E9cfPHFuOKKKzA5OYlf/OIXWLt2LV599VUceeSRaG1txT333IOrrroK5513Hj75yU8CAI444ogsvvHZkm3Hu+++ixNPPBELFizA9ddfj5qaGvzud7/Dueeeiz/+8Y8477zz8notIsMTRKS7c889VzgcDrFr1y71tvfee0+YzWah/bPbuXOnMJvN4gc/+EHc7//9738XFotFvT0UCon6+nrxne98RwghRDgcFvPmzRPnn3++MJvNYnJyUgghxJ133ilMJpMYGxtLu32HH364OPXUU2fd/r3vfU/U1NSIDz/8MO7266+/XpjNZrF7924hhBB9fX0CgGhtbRXj4+Pq49avXy8AiJUrV4pAIKDefvHFFwubzSa8Xq9626JFiwQA8cc//lG9bWJiQnR0dIijjjoq722qr68XBw4ciHtsMBgUPp8v7raxsTHR1tYmPv/5z6u3DQ0NCQDixhtvnPXZnHrqqUk/s8suu0wsWrRI/TnddnzsYx8TK1asiPscwuGwOOGEE8SyZctmPTcRRXAYiEhnoVAIjz/+OM4991x0d3ertx966KFYu3Zt3GMfeughhMNhXHDBBRgeHlb/tbe3Y9myZeowhclkwgknnIDnn38eAPD+++9jZGQE119/PYQQ2LRpE4BItmX58uVobGzMa9t///vf4+STT0ZTU1Pc9qxZswahUEh9fen8889HQ0OD+vPq1asBAJ/5zGdgsVjibvf7/dizZ0/c73d2dsZlE+rr63HppZfizTffxODgYF7b9KlPfUodzpHMZjNsNhsAIBwOY3R0FMFgEMcccww2b96c12eVSeJ2jI6O4umnn8YFF1yAyclJ9X2MjIxg7dq12Lp166zPh4giOAxEpLOhoSF4PB4sW7Zs1n0HH3ww/t//+3/qz1u3boUQIuljAcBqtar/f/LJJ+Omm26Cx+PBxo0b0dHRgaOPPhorV67Exo0b8fGPfxwvvPACLrjggry3fevWrXj77bdnneylAwcOxP2sDcYAqIFLV1dX0tvHxsbibl+6dOms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Il544QWxbNkycfHFF5fqLc1Jus/D7/eLT3ziE2LhwoXirbfeijuO+Hw+IYQQL730kvjXf/1X8dZbb4nt27eLBx98ULS2topLL720xO8sd+k+i8nJSfHtb39bbNq0SfT19Yknn3xSHH300WLZsmXC6/Wqz1Et+4Y0MTEhXC6XuOeee2b9vl77RlUEK0IIcdddd4nu7m5hs9nEcccdJ15++eVSb1JRAEj677777hNCCLF7925xyimniObmZmG328XSpUvFtddeKyYmJkq74QVw4YUXio6ODmGz2cSCBQvEhRdeKLZt26be7/F4xFe+8hXR1NQkXC6XOO+888S+fftKuMWF9/jjjwsAYsuWLXG3G32/eOaZZ5L+XVx22WVCiMj05RtuuEG0tbUJu90uPvaxj836jEZGRsTFF18samtrRX19vfjc5z4nJicnS/Bu5i7d59HX15fyOPLMM88IIYR44403xOrVq0VDQ4NwOBzi0EMPFT/84Q/jTuCVIt1nMTMzI04//XTR2toqrFarWLRokbjiiitmXfhWy74h/fznPxdOp1OMj4/P+n299g1FCCGyz8MQERERFZfha1aIiIiosjFYISIiorLGYIWIiIjKGoMVIiIiKmsMVoiIiKisMVghIiKissZghYiIiMoagxUiIiIqawxWiIiIqKwxWCEiIqKyxmCFiIiIytr/H7o7KQgSw3r1AAAAAElFTkSuQmCC"
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": "",
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGzCAYAAAA41o3+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADcLUlEQVR4nOy9eZgkVZku/kautVf1vtALOw2yKUjbKKstzTKKI/deF0ZwLhfUaZxRZlz6XgcER1txXEfc5ofgAi7MiAsqOzQozdaIIEizddMN3dXVW+1VuUX8/og8J845cWLLjC2zzvs89VRVZmRmROSJE995v/d7P80wDAMKCgoKCgoKCi2MTNI7oKCgoKCgoKDQLFRAo6CgoKCgoNDyUAGNgoKCgoKCQstDBTQKCgoKCgoKLQ8V0CgoKCgoKCi0PFRAo6CgoKCgoNDyUAGNgoKCgoKCQstDBTQKCgoKCgoKLQ8V0CgoKCgoKCi0PFRAo6AwA3D66afj9NNPT9V7apqGz3zmM/T/G2+8EZqmYevWrU3vW1hI4z4pKCjIoQIaBQWFGY/Pf/7z+OUvf5n0bigoKDQBFdAoKMwA3HnnnbjzzjuT3g1XvP/978fU1BSWL18e+2c7BTRJ7pOCgkIw5JLeAQUFhehRKBSS3gVPZLNZZLNZ120Mw8D09DQ6OztTs08KCgrpgGJoFBRaBE899RQ0TcOvf/1r+timTZugaRre8IY3cNuec845WLlyJf1f1Lvcf//90DQNP//5z/G5z30OS5YsQUdHB9761rfixRdftH329773PRxyyCHo7OzESSedhAcffND3fpdKJXzsYx/DvHnz0Nvbi3e84x149dVXbdvJ9CoHHngg/uZv/gZ33HEHTjzxRHR2duK73/0uAGB4eBgf/ehHsXTpUhSLRRx66KH44he/CF3XuffVdR1f//rXccwxx6CjowPz5s3D2WefjccffxyAqeWZmJjAD37wA2iaBk3T8IEPfMBxnwDgW9/6Fl73utehWCxi8eLFWLt2LYaHh7ltTj/9dBx99NF49tlnccYZZ6CrqwsHHHAArr32Wt/nTkFBwT9UQKOg0CI4+uijMTAwgAceeIA+9uCDDyKTyeDPf/4zRkdHAZg38Iceeginnnqq53t+4QtfwK233op/+Zd/wbp16/Dwww/jwgsv5La5/vrr8cEPfhALFy7Etddeize/+c14xzvege3bt/va7//zf/4Pvva1r+Gss87CF77wBeTzeZx33nm+j3vz5s1473vfi7e97W34+te/juOPPx6Tk5M47bTT8OMf/xgXXXQRvvGNb+DNb34z1q1bhyuuuIJ7/SWXXEIDny9+8Yv41Kc+hY6ODjz88MMAgB/96EcoFos45ZRT8KMf/Qg/+tGP8MEPftBxfz7zmc9g7dq1WLx4Mb785S/jggsuwHe/+12cddZZqFQq3Lb79+/H2WefjeOOOw5f/vKXsWLFCnzyk5/E73//e9/Hr6Cg4BOGgoJCy+C8884zTjrpJPr/u971LuNd73qXkc1mjd///veGYRjGE088YQAwfvWrX9HtTjvtNOO0006j/993330GAOPII480SqUSffzrX/+6AcB4+umnDcMwjHK5bMyfP984/vjjue2+973vGQC495ThySefNAAY//AP/8A9/r73vc8AYFx11VX0sRtuuMEAYGzZsoU+tnz5cgOAcfvtt3Ov/+xnP2t0d3cbzz//PPf4pz71KSObzRrbtm0zDMMw7r33XgOA8Y//+I+2fdN1nf7d3d1tXHzxxbZtxH0aGhoyCoWCcdZZZxm1Wo1u981vftMAYHz/+9+nj5122mkGAOOHP/whfaxUKhkLFy40LrjgAttnKSgoNAfF0CgotBBOOeUUPPHEE5iYmAAA/OEPf8C5556L448/nqaBHnzwQWiahre85S2e7/f3f//3nL7mlFNOAQC8/PLLAIDHH38cQ0ND+NCHPsRt94EPfAD9/f2e7/+73/0OAPCP//iP3OMf/ehHPV9LcNBBB2HNmjXcY7fccgtOOeUUzJo1C3v27KE/q1evRq1WoyzWf//3f0PTNFx11VW299U0zfc+ENx9990ol8v46Ec/ikzGmj4vvfRS9PX14be//S23fU9PD/7u7/6O/l8oFHDSSSfR86ugoBAelChYQaGFcMopp6BarWLjxo1YunQphoaGcMopp+CZZ57hApqjjjoKs2fP9ny/ZcuWcf/PmjULgJkqAYBXXnkFAHDYYYdx2+XzeRx88MGe7//KK68gk8ngkEMO4R4/4ogjPF9LcNBBB9kee+GFF/DUU09h3rx50tcMDQ0BAF566SUsXrzY17nwA3I+xP0vFAo4+OCD6fMES5YssQVOs2bNwlNPPRXK/igoKFhQAY2CQgvhxBNPREdH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AuzatSvBPY4WBx54oO18aJqGtWvXAmjvsfHAAw/g7W9/OxYvXgxN0/DLX/6Se94wDFx55ZVYtGgROjs7sXr1arzwwgvcNvv27cOFF16Ivr4+DAwM4JJLLsH4+HiMRxEe3M5HpVLBJz/5SRxzzDHo7u7G4sWLcdFFF2HHjh3ce8jG0xe+8IWYj6R5eI2ND3zgA7bjPPvss7ltZsrYACCdQzRNw5e+9CW6TRhjQwU0dfzsZz/DFVdcgauuugpPPPEEjjvuOKxZswZDQ0NJ71qk2LBhA9auXYuHH34Yd911FyqVCs466yxMTExw21166aXYuXMn/bn22msT2uPo8brXvY471j/84Q/0uY997GP4zW9+g1tuuQUbNmzAjh078K53vSvBvY0Wjz32GHcu7rrrLgDA//yf/5Nu065jY2JiAscddxyuu+466fPXXnstvvGNb+A73/kOHnnkEXR3d2PNmjWYnp6m21x44YV45plncNddd+G2227DAw88gMsuuyyuQwgVbudjcnISTzzxBP71X/8VTzzxBH7xi19g8+bNeMc73mHb9pprruHGy0c+8pE4dj9UeI0NADj77LO54/zJT37CPT9TxgYA7jzs3LkT3//+96FpGi644AJuu6bHhqFgGIZhnHTSScbatWvp/7VazVi8eLGxfv36BPcqfgwNDRkAjA0bNtDHTjvtNOOf/umfktupGHHVVVcZxx13nPS54eFhI5/PG7fccgt97K9//asBwNi4cWNMe5gs/umf/sk45JBDDF3XDcOYOWMDgHHrrbfS/3VdNxYuXGh86Utfoo8NDw8bxWLR+MlPfmIYhmE8++yzBgDjscceo9v8/ve/NzRNM1577bXY9j0KiOdDhkcffdQAYLzyyiv0seXLlxtf/epXo925mCE7FxdffLFx/vnnO75mpo+N888/3zjzzDO5x8IYG4qhAVAul7Fp0yasXr2aPpbJZLB69Wps3LgxwT2LHyMjIwCA2bNnc4/fdNNNmDt3Lo4++misW7cOk5OTSexeLHjhhRewePFiHHzwwbjwwguxbds2AMCmTZtQqVS4cbJixQosW7ZsRoyTcrmMH//4x/jf//t/c13uZ9LYINiyZQsGBwe5sdDf34+VK1fSsbBx40YMDAzgxBNPpNusXr0amUwGjzzySOz7HDdGRkagaRoGBga4x7/whS9gzpw5eP3r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"
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/plain": "",
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGzCAYAAAASZnxRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADOPElEQVR4nO39ebwlVXkujj+1x3NO9+mZhm5oZkQUQQUhRFEUFNErKuZqiDcSYpwu3miIiSH3mxhNDNyYn9Fc50Qlg4loEuU6gDKDMsggKijI0EAjPUBPp/sMe6r6/bH3WvWuVWtVrapd0957PZ9Pf7r7nL131a5atda7nvd5n9fxPM+DhYWFhYWFhUUBqBR9AhYWFhYWFhaTCxuIWFhYWFhYWBQGG4hYWFhYWFhYFAYbiFhYWFhYWFgUBhuIWFhYWFhYWBQGG4hYWFhYWFhYFAYbiFhYWFhYWFgUBhuIWFhYWFhYWBQGG4hYWFhYWFhYFAYbiFhYjBHOOOMMnHHGGaX/zLLgxhtvhOM4uPHGG4s+FQuLiYUNRCwsLCwsLCwKQ63oE7CwsEgP3//+94s+BQsLC4tYsIGIhcUYodFoFH0KFhYWFrFgUzMWFiXDT3/6UziOg//3//4f/9ndd98Nx3Hwwhe+UHjtOeecg1NPPZX/X9ZzMA3E1772NXz0ox/FIYccgqmpKZx55pl4+OGHA8f+whe+gKOOOgrT09M45ZRTcMsttxif9zXXXIOXvOQlWLVqFZYvX45jjz0Wf/qnfxo4lyuuuAJ/+qd/ioMOOgjLli3Dueeeiy1btgQ+74477sCrX/1qrFy5EjMzM3jZy16GH/7wh4HX/epXv8Lv/u7v4sADD0Sz2cRzn/tcfOlLXwq87sknn8Qb3vAGLFu2DOvXr8cf/MEfoNVqGX8/CwuLbGAZEQuLkuH444/HqlWrcPPNN+Pcc88FANxyyy2oVCr4yU9+grm5OaxYsQKu6+LWW2/FO9/5zsjPvOyyy1CpVPCBD3wAe/fuxd/8zd/grW99K+644w7+mi9+8Yt417vehV//9V/H+9//fjz66KM499xzsWbNGmzatCn08++//378t//233DCCSfgIx/5CJrNJh5++GFl4PDRj34UjuPggx/8IHbs2IFPfOITOOuss3DvvfdienoaAHD99dfjnHPOwUknnYQPfehDqFQq+PKXv4xXvOIVuOWWW3DKKacAALZv345f+7Vfg+M4eO9734sDDjgAV111Fd7+9rdjbm4O73//+wEAi4uLOPPMM/HEE0/g93//97Fx40b8y7/8C66//nqje2JhYZEhPAsLi9Lhta99rXfKKafw/5933nneeeed51WrVe+qq67yPM/z7rnnHg+Ad+WVV/LXvexlL/Ne9rKX8f/fcMMNHgDvuOOO81qtFv/5Jz/5SQ+A97Of/czzPM9rt9ve+vXrvec///nC677whS94AITPVOHv/u7vPADe008/rX0NO5eDDz7Ym5ub4z//2te+5gHwPvnJT3qe53mu63rHHHOMd/bZZ3uu6/LXLSwseEcccYT3yle+kv/s7W9/u7dhwwbvmWeeEY71m7/5m97KlSu9hYUFz/M87xOf+IQHwPva177GXzM/P+8dffTRHgDvhhtuCP1+FhYW2cGmZiwsSojTTz8d99xzD+bn5wEAP/jBD/Ca17wGz3/+83m65JZbboHjOHjJS14S+XkXXnihoB85/fTTAQCPPvooAOCuu+7Cjh078O53v1t43e/8zu9g5cqVkZ+/atUqAMCVV14J13VDX/u2t70Ns7Oz/P+/8Ru/gQ0bNuC73/0uAODee+/FQw89hN/6rd/Czp078cwzz+CZZ57B/Pw8zjzzTNx8881wXRee5+E///M/8brXvQ6e5/HXPfPMMzj77LOxd+9e3HPPPQCA7373u9iwYQN+4zd+gx93ZmbGiE2ysLDIFjY1Y2FRQpx++unodru47bbbsGnTJuzYsQOnn3467r//fiEQec5znoM1a9ZEft6hhx4q/H/16tUAgN27dwMAHn/8cQDAMcccI7yuXq/jyCOPjPz8t7zlLfjHf/xH/N7v/R7+5E/+BGeeeSbOO+88/MZv/AYqFXG/Ix/DcRwcffTReOyxxwAADz30EADgggsu0B5v79696HQ62LNnD77whS/gC1/4gvJ1O3bs4N/v6KOPhuM4wu+PPfbYyO9mYWGRLWwgYmFRQpx88smYmprCzTffjEMPPRTr16/Hs571LJx++un4zGc+g1arhVtuuQVvfOMbjT6vWq0qf+55XirnOz09jZtvvhk33HADvvOd7+Dqq6/GFVdcgVe84hX4/ve/rz2+CoxR+djHPobnP//5ytcsX74cO3fuBAD8j//xP7RBywknnBDvi1hYWOQOG4hYWJQQjUaDV60ceuihPJVy+umno9Vq4Stf+Qq2b9+Ol770pakc77DDDgPQZyNe8YpX8J93Oh1s3rwZJ554YuRnVCoVnHnmmTjzzDPx8Y9/HH/913+N//2//zduuOEGnHXWWfx1jPFg8DwPDz/8MA8ajjrqKADAihUrhPfJOOCAAzA7O4terxf6Ovb97rvvPnieJ7AiDz74YOT3srCwyBZWI2JhUVKcfvrpuOOOO3DDDTfwQGTdunU47rjj8H/+z//hr0kDJ598Mg444AB87nOfQ7vd5j+//PLLsWfPnsj379q1K/AzxmbIJbL//M//jH379vH//8d//Ae2bt2Kc845BwBw0kkn4aijjsLf/u3fYv/+/YHPffrppwH0WZ43velN+M///E/cd9992tcBwGte8xo89dRT+I//+A/+s4WFBW1Kx8LCIj9YRsTCoqQ4/fTT8dGPfhRbtmwRAo6XvvSl+PznP4/DDz8chxxySCrHqtfr+Ku/+iu8613vwite8Qq85S1vwebNm/HlL3/ZSCPykY98BDfffDNe+9rX4rDDDsOOHTvwmc98BoccckhATLtmzRq85CUvwYUXXojt27fjE5/4BI4++mi84x3vANBnVv7xH/8R55xzDp773OfiwgsvxMEHH4xf/epXuOGGG7BixQp861vfAtAvS77hhhtw6qmn4h3veAee85znYNeuXbjnnntw7bXX8gDpHe94Bz71qU/hbW97G+6++25s2LAB//Iv/4KZmZlUrp+FhcUQKLRmx8LCQou5uTmvWq16s7OzXrfb5T//13/9Vw+A99u//duB9+jKd7/+9a8Lr9u8ebMHwPvyl78s/Pwzn/mMd8QRR3jNZtM7+eSTvZtvvjnwmSpcd9113utf/3pv48aNXqPR8DZu3Oidf/753i9/+cvAufz7v/+7d8kll3jr16/3pqenvde+9rXe448/HvjMH//4x955553nrV271ms2m95hhx3mvfnNb/auu+464XXbt2/3LrroIm/Tpk1evV73DjroIO/MM8/0vvCFLwive/zxx71zzz3Xm5mZ8datW+e9733v866++mpbvmthUTAcz0tJrWZhYWERghtvvBEvf/nL8fWvf10oo7WwsJhsWI2IhYWFhYWFRWGwgYiFhYWFhYVFYbCBiIWFhYWFhUVhsBoRCwsLCwsLi8JgGRELCwsLCwuLwmADEQsLCwsLC4vCkLuhmeu6eOqppzA7OxtoQGVhYWFhYWFRTnieh3379mHjxo2BZpbDIPdA5KmnnsKmTZvyPqyFhYWFhYVFCtiyZUtqrs5AAYHI7OwsgP4XWbFiRd6Ht7CwsLCwsEiAubk5bNq0ia/jaSH3QISlY1asWGEDEQsLCwsLixFD2rIKK1a1sLCwsLCwKAw2ELGwsLCwsLAoDDYQsbCwsLCwsCgMuWtELCwsLCwsRhGe56Hb7aLX6xV9KpmgWq2iVqvlbq1hAxELCwsLC4sItNttbN26FQsLC0WfSqaYmZnBhg0b0Gg0cjumDUQsLCwsLCxC4LouNm/ejGq1io0bN6LRaIydIafneWi323j66aexefNmHHPMMamaloXBBiIWFhYWFhYhaLfbcF0XmzZtwszMTNGnkxmmp6dRr9fx+OOPo91uY2pqKpfjWrGqhYWFhYWFAfJiCIpEEd9x/K+qhYWFhYWFRWlhAxELCwsLCwuLwmADEQsLCwsLC4vCYAMRCwsLCwuLMcanP/1pHH744ZiamsKpp56KH/3oR0WfkgAbiFhYWBSCnuvhH295FPf9am/Rp2JhMba44oorcPHFF+NDH/oQ7rnnHpx44ok4++yzsWPHjqJPjcOW71pYWBSC2x/dib/6zi/wosNX4+vv/vWiT8fCwhie52GxU4y76nS9GsvD5OMf/zje8Y534MILLwQAfO5zn8N3vvMdfOlLX8Kf/MmfZHWasWADEQsLi0Kwa74NAHhqz1LBZ2JhEQ+LnR6e8+ffK+TYP//I2ZhpmC3d7XYbd999Ny655BL+s0qlgrPOOgu33XZbVqcYGzY1Y2FhUQjYjpIFJBYWFunimWeeQa/Xw4EHHij8/MADD8S2bdsKOqsgYjEif/EXf4EPf/jDws+OPfZYPPDAA6melIWFxfhjsd0PRBY7PSy2e5huVAs+IwsLM0zXq/j5R84u7Njjhtipmec+97m49tpr/Q+o2eyOhYVFfNAc+875Fg5pjK91tsV4wXEc4/RIkVi3bh2q1Sq2b98u/Hz79u046KCDCjqrIGKnZmq1Gg466CD+Z926dVmcl4WFxZhjoe0HIjY9Y2GRPhqNBk466SRcd911/Geu6+K6667DaaedVuCZiYgd0j300EPYuHEjpqamcNppp+HSSy/FoYceqn19q9VCq9Xi/5+bm0t2phYWFmOFJYERsYGIhUUWuPjii3HBBRfg5JNPximnnIJPfOITmJ+f51U0ZUCsQOTUU0/F5ZdfjmOPPRZbt27Fhz/8YZx++um47777MDs7q3zPpZdeGtCVWFhYWCy0u/zfu/bbQMTCIgu85S1vwdNPP40///M/x7Zt2/D85z8fV199dUDAWiQcz/O8pG/es2cPDjvsMHz84x/H29/+duVrVIzIpk2bsHfvXqxYsSLpoS0sLEYcf/i1n+A/73kSAPC/X3Mc3vHSIws+IwsLNZaWlrB582YcccQRmJqaKvp0MkXYd52bm8PKlStTX7+HUtusWrUKz3rWs/Dwww9rX9NsNtFsNoc5jIWFxRhiseMzIjY1Y2ExuRjKR2T//v145JFHsGHDhrTOx8LCYkKwKIhVWyGvtLCwGGfECkQ+8IEP4KabbsJjjz2GW2+9FW984xtRrVZx/vnnZ3V+FhYWYwpbNWNhYQHETM08+eSTOP/887Fz504ccMABeMlLXoLbb78dBxxwQFbnZ2FhMaawVTMWFhZAzEDkq1/9albnYWFhMWGwjIjFqGGI2o6RQRHf0faasbCwKATUWdWW71qUGfV6HQCwsLBQ8JlkD/Yd2XfOA+X3qLWwsBhLULHqvlYXrW4Pzdr49dGwGH1Uq1WsWrUKO3bsAADMzMzAcZyCzypdeJ6HhYUF7NixA6tWrUK1mt+zaAMRCwuLQkAZEQDYPd/BQSttIGJRTrDeLCwYGVesWrUq9z40NhCxsLDIHZ7n8UCkWnHQcz3snG/hoJXjbRZlMbpwHAcbNmzA+vXr0el0ij6dTFCv13NlQhhsIGJhYZE7Wl0XTBO3YeUUnty9aAWrFiOBarVayGI9zrBiVQsLi9xBK2YOXjUNwFbOWFhMKmwgYmFhkTtYWqZRq2DdbL8FxE5bOWNhMZGwgYiFhUXuWBx03p1pVLF2WQOAZUQsLCYVNhCxsLDIHYttFwAwXa9izSAQse6qFhaTCRuIWFhY5I6FASMyLTAitvGdhcUkwgYiFhYWuYNpRPqMSF8jYlMzFhaTCRuIWFhY5A7mqjrTsKkZC4tJhw1ELCwscgdjRKbqVaxdbsWqFhaTDBuIWFhY5I4FBSOyZ6GDbs8t8rQsLCwKgA1ELCwscscS0YisnmmA9Q/bvTCe1tkWFhZ62EDEwsIidzBGZLpRQ7XiYNV0v+W4Tc9YWEwebCBiYWGRO2jVDAAiWLUlvBYWkwYbiFhYWOSORc6I9KegtbaE18JiYmG77xaAX2ydw3d/thXvetlRWN6czFtww4M78N2fboUHwAHw307ciJc964CiT8siJ/jlu/3xv2ZIm/d9Sx18/qZH8doTNuC4DSv4z7/1k6cwt9TBW089bMgztphUeJ6HL9z8KI49aBZnHLu+6NOJxAe+/hM4AP6/1z4HK2fqRZ+OESZzFSwYf3/dQ7jqvm048oBleOMLDin6dArBn33zPjy5e5H//87HduHGP3p5gWdkkSdo+S4ArF7WnzD3JBSrfv/+7fjUDQ/joR378PnfPhkA0O25+MOv/wSdnov/9ryNIzMpW5QLjzy9H5de9QAOXTODm/+4/IHIf97zJDwP+ONXP7voUzGGTc0UgP2tvr31vqVuwWdSHNh3f+MLDgbgXxOLyQAt3wWARrU/FXUSlu+y8bN9zteY7F7ooN114Xl+4GNhERdsrM6PwBzVcz14Xv/ftYpT7MnEgA1ECgCbbNvdyfVMYN/93BM3AgA6Pa/I07HIGUuSWLXGA5Fk44A9UzS1Q//d8+z4skgGdzB0kgbJeaLr+udYrdpAxCIE3cFk25rkQGTwUC8baGSskdVkgTa9A4DaYNJMOg66g9WCBh+0Asd1bSBikQy9wdjpjsAY6pFzrFdGZ3kfnTMdI3QGg2VSGZGe6/EHhlHznRF4yC3Sw2KnP/YZI8ImzaS7ThbA7G910er22RYalIzCImJRTngDNq07AqwtHedVm5qxCENnEIC0J5QFoAEYY0RGgfa0SA+LA0ZkRmJEkgakbbJIsABESM3YQMQiIdjQafdcHpSUFT3yHFiNiEUoWB5vUhkRIRAZLESeZxeLSYJcNVMfaEQSp2bI+3bubwt/A4Bb8gXEoryg81LZ56jOYG1xHKBiAxGLMDCKb1IDkVbPr2BgGgHAsiKTBLlqps41IskmekpJqxiRUaDVLcoJyoKUPcXHAqVRYkMAG4gUgo5lRAAAjVqF74SB8j/kFumBV82w1MxAI5I0XUmDWFUgYhkRi6Sg01LZN0ss4K6NkFAVsIFIIeh0B4xIyQd1VmCBSLNaESL3zoQGZpOGTs/lZboz9b5GaFhGhC4QOwcBCK2asUGuRVLQILbsNgOWEbEwxsRrRHo+I1KtOLwFfMedzOsxaaDmYlODXjNcI5JwDHQFsWpr8LcVq1oMD+pBU3abARZwj5KHCGADkULQmXAfEZqacRyHl27aPP5kgPWZqVYc7qg6vKFZuEbEpmYskoJqRMpuM8ACecuIWESCRdWTnppp1NgiNBwtbzFa4J1361U4AzqMpWYS+4i4YtWM63rYTfrW2LFlkRSUpCs9IzIY56PkIQLYQKQQdHjVzGT2v+CBCNsNDx6aSQ3MJg2sYoZWTNWGZMVkserexY6QjrGMiEVSiBqRcs9RvkZktJb20TrbMcGkV820eiIjwv5Oqg+wGC0sSn1mAMKIJBwDcmpmJ0nLAFYjYpEcoyRWZRqRmtWIWISBdkecVAYgkJqxGpGJwqLkIQJQQ7OEPiJS1cwuG4hYpAQ6dMo+R7FxblMzFqGg1N6kMiKB1MyQ+gCL0YLsqgoMPwZoee7exQ527FsSfm8DEYukEBiRkrO2VqxqYQQbiAQZkfqQFRMWo4UFqc8M4LNiSQMR+Vl6ZMe88H/rI2KRFDSILbvXkS9WHa2lfbTOdgxAqb2JDUQGi02TByLDtYC3GC0sKTQijdpgDCQMGOT3PbRjn/B/K1a1SAo6dMoe0LKgqW41IhZhoNSe1YiIGpGy1+hbpIMsqmbkIPbhHfuF/9vUjEVSjFLVTNdqRCxMQCfaiTc0q1pGZBKhqpoZViMip/UefVpMzdhAxCIpRkusajUiFgawGhHR4h2grpqTeT0mDWFVM8kDkf77Vs3UAQTZRhuIWCSF61pGJGvYQCRn0J1bu+cK9sGTglYgNcN2w5N3LSYRLBCZSrN8dzABHzg7JfycjS0biFgkhTtKFu+2+66FCahpl+eVX/yUBfzUTH8hsoZmk4WFQWqGdd4FSDCa2NCs/771K5rCz9ct7/+/N4EBv0U6EFMz5Z6jLCNiYQR5xzeJ6ZmgWNUyIpOEJS5W9aef4Q3NBozICpEROWB2EIhMYMBvkQ7E7rvlHkdMI2KrZixCIeeuJzIQ6fUXIqsRmUz4VTOEEan65btJ0pVs7BxkAxGLlEHHY9krHS0jYmGEACNS8oGdBVjwFfQRsYvFJEDda8afipIwYywQOZCkZqbrVSxr9oMdG4hYJAUVq5Y9NWOb3lkYQR7IE8mIBMp3LSMySVBXzfg7uCRaIbYTPICIVdcsa/C0nzU0s0gKQSNS8oC207OMiIUBZNX1JHqJBMp3mZlVyR9yi3Sg9BGpDMeI+BoRnxFZu7yBijOcY6uFxSh137U+IhZGkHsVTDQjIqVmyt7HwSIdsF4z0xpGJC4z5nkeD26pWHXNsgZYxsemZiySYhSdVWtWrGoRBpl2nkSNSEvXfdcuFhOBpU7//lNGxHEcvouLqxWiQcZ0vYrZqb4upB+IVAKvsbCIg1Eq3+3ZpncWJpCpPcuI0NLNybsWkwgVIwIkt3mnaZda1cHaZQ0AwFrLiFikAKH7bsnHEWdERiw1U4t+iUWaCDAikxiI9DSBSMkfcot0oNKIAEC9UsES3NjjgAYu9WoFa5Y18NjOBaxZ1sT2uSUA+YpVW90eLv3uA9i6dxEAsLxZxwfOfhY2rJzO7RzKjr0LHVx29S+wa74NAFizrIk/efWzsXJg0V8meF6yqpl7t+zBf93zJP7wlcfm9r3Y+jJqYlUbiOSMACMy8NSYJOgMzSYxKJtEsNRMsy4SskkZEfpM1asVHL5uGe55Yg+OWDeDp/e1AOQb5P7goWdw+a2PCT87dM0M3nfWMbmdQ9nx3fu24t9/tEX42QsOXYU3n7ypoDPSgw6dOGLVz934CK6+fxuO27AC559yaAZnFsSoMiI2NZMz5El2Ehdf7iNSFQ3NrMX7+IN6MsheB0nLuNku1XH6O8E/e+1z8MULTsYrn3MQT824OQYiOwbBz3EbVuCs49YPfraU2/FHATvm+tfolCPW4MRNqwAA+5a6BZ6RHknFqvODFCT7rnmAaURq1dFa2kfrbMcAshDPlu8CDWtoNjGgk3rVEXdtSW3eWd6+PghsVi9r4MzjDkS14nDRXp6MCEs3HL9xBV5y9DrhZxZ97JrvL84vOnw1jjtoFgCw2C5pICIYmpmPIza3s++aByaSEbnsssvgOA7e//73p3Q64w/LiChSM3wnbAORcQft2+FIs49v856MEVH11yhCrLpz/0D3sLyBNYOmezttICJgJ9GGTA20Qkw7VDYIqZkYY5PNc3neezbOR00jkjgQufPOO/H5z38eJ5xwQprnM/aQd2aTWL6r04jY1Mz4g2pGZUbE1wrFFavq6Wh2jDzFqmwHvHZZg1fwWEZEBLsea5c1uMMu60FUNiQ1NGtzRiS/e9+dJEOz/fv3461vfSv+4R/+AatXr077nMYa1tDMWrxPMigzUdGlZmIGpJ1QRiT/1Azd7a+xgYgSfrVMg1dPLZWUEeklrJphm8xcAxHmIzIJhmYXXXQRXvva1+Kss86KfG2r1cLc3JzwZ5Ih16FP4uLb0pTv2tTM+INO6rLnUlKNCHu9qtFXEWJVuttnjMjuhbb1MiHYSQORkjMilExLwogUkZqpj5ihWezy3a9+9au45557cOeddxq9/tJLL8WHP/zh2Cc2rpj0pnee5yk0IkysOlnXYhLhkVssMyKJy3cHDEq9pmdE8gwC6G5/9SAQ8Txgz0Iba5c3w946EfA8D7tZsLbcD0QWSxqICGLVBBqR3fNteJ4Hx8mepehOgkZky5YteN/73oevfOUrmJqain4DgEsuuQR79+7lf7Zs2RL9pjFGQCMyYYEI3VE0q/0JqM5FinbHOO7ohVXNVJIxY4wRUe0C8xarep4n7Pbr1QpWDCznbXqmj7nFLn/W1xCNyEiIVROkZrquh7nFfCqC2DgftV4zsRiRu+++Gzt27MALX/hC/rNer4ebb74Zn/rUp9BqtVCtim6JzWYTzabdBTDIgUdrwlgAKs6Vu+9OWlA2iXCF1IwUiNSSiZbZ4qCafBnr0stJrDrf7vFxvHb5wGp+eRNzS13snG/DWpoBOwdi3uXNGpq1KteIlJYRGVKsCvS/cx7uquxZGDVGJFYgcuaZZ+JnP/uZ8LMLL7wQz372s/HBD34wEIRYBDHpFu/0+1qL98kDo7lV82QtISPCAxEFI+JXZOUztnYNSnen6hXMNPzme5ufmbeMyAA0dQUA04PrVFaNiJtUrErmul3zbRx5QKqnpURvRH1EYgUis7OzOP7444WfLVu2DGvXrg383EINX1jnoOt6ExuI9M2m+g9L3WpEJgYsHlDt2JKOA56aqalSM4Py3ZwCkZ28dNdngdmCa71E+tgpByIlr5oRAhHDceR5nsD+5nXvfUOz0RKrjtbZjgHYbm9Zsx8DTmog0iCeD9bQbHLAUiQq4Z7PiMTtvjsQqyqCm7zFqvJuH4DvJbLfBiKAWFUEYAR8RPx/m87Xsj/U7pwCkYnQiKhw4403pnAakwM2yS5rVLF3sTNxhmasyV+D7F7ZAjKJpcyTBsZMyEJVgFbNxAsa2j395Ju3WFXe7dN/52n1XWbIwVrpnVXd+IyIHLDkx4iMpkbEMiI5gw2UmQllRFpS6S7gU+pWIzL+YDS3ap5sJDQ08y3eg9NZ3mLV3dJuHyCByEInl3MoO6gFPoARqJqJrxGR5/W89EGjqhGxgUjO4KmZwcM3aYGIMjVjGZGJAZso5YoZIDkjwjUiikCEfWahqZnllhGhoBb4gK8RaXfdUpq+ieW7hoxIr5hAhJ1f1WpELMLAImquEZmwxZcFIk3KiCR01LQYPbBJXTYzA6hWKJmhmWoXyBmRvFMzyykjMmh8ZzUiAEQLfADc0AwoJytCUzOmY7Oo1IxlRCyMwCJWVtrXmjRGpBdMzSR11LQYPTCaW1k1w0pt45bvdvWpGXacvBmRtSqxqq2aAdC3uwf869KsVcDi0oV2PsZfcZCkaiaYmsmHDeuOqFjVBiI5g4tVmxOemlEwIjYQGX/4GhFV+e5gHMTViIRMvrWcAxF5t9//t99vxsuxC3BZwaqH2HVxHMcv4W2Xbw5I4qwqbzDzqpjqWbGqhQnYpMkYkYkNRKq0asaKVScFXCOiMjRLmKLrhGhE8harsp2vqmqm0/Mwt1S+HX+ekC3wGXgJb6d810cUq8bTiLCAYOd8PkGo9RGxMALTiCxnjMiEsQBhqRmrERl/sLk4zNAsto8Ir5rRC2DzMjRjO1+ampmqV7k4fdLTMwvtHmcL1kjXCCinzbto8R5PI7J+ts+MtbpuLj4p3Z4+9Vlm2EAkZ7R7k82IqMp32WLR7rmWuh5z+IxImKFZehbv7Dh5sG1LnR7mB4sNFavS/0965QwLxJq1CmdBAFLCW8ZAhEzRXdczmqPYvL5yus6F+XkEoVasamEEnxGZzEBElZqh/y5j+Z5FemApEhVzzJvexa6aCTM0y08jwhaaetXBbFP0irSVM33sJGJe6q47XWJTM1cKPEyCWloduDZHi3/mwWPFqhah4BqRSU3NKBkR/99WJzLe8MLEqgm1QixwaRRcNUM9RGQLe1s50wfX0EiM0XSJbd4DgYgBY0dT0HmyYT2rEbEwQWfSGRGVRoTQiLZyZrzBbm+YxXvc4LwTZvGeo1hVVTHDYBvf9cFdVaVrVG5GRPy/yfikG6482TAWxI+aRmToXjMW8cAW2knViIQZmgG28d24w+VN74K/86tm4gYieo1InmJV2TGUwjIifah8VgB/PiylRiTAiMQIRKoVrJrJ797T7u6jBMuI5IyubPE+YQJNlUakWnF4OWfcRchitOCG7NgaCaunfIt3vbNqHim/nfuDZakMa2wgAkBtgQ+Uu/GdPHRMxlKLpmZyvPe26Z2FETgjQsRsk6QTUaVmAGLvbTUiY41Qi/dKsjHADNDCnFXzYUSiA5GJT81ortFMmTUi0tgxSR/7qZlqrveeaURUz0KZMVpnOwZg0TTzEQEmKz2jEqsC1N57cq7FJKIXIlb1/WTi+ogwjYg+EMmDEdGlHQDb+I5Bd42YWHWplIyIHIiYV800qpVc03KjqhGxgUjOYNH0dIMwIhMUiHAfkWpV+HnShmcWo4XQXjNJm96FGJpxRiRPsepyFSPSFyzmZfVdVugYESZWLXuvGSCmRoSkZrJmRFzX44aBViNioYXnecSO2uET50SlZnSMCF+EbGpmnOFyQ7Pg75KOAV41oxCrVnPsvhvKiJDFaJI0YTK4oFdTvrtYxl4z0ikZMSK9PrPTrFVyY8Noj6aq9RGx0IFOho1qhQs2J4kR0WlE6tbmfSLAnVUVkQhPzcRuehfNiOSZmgkr383L6rus2KUp3+XOqiXvNQOYjU+64VrNqmYyZsPo+jJqjIgt31XgH295FHOLHVz8qmNT/Vw6GdaqFTRqFcy3e6kHIs/sb+Gvvv1znH/KoTj1yLWpfvawaHf7k3BQrDroMxJzEdLh/qf24v/3/V/ycsCj1y/Hh899rnIBTBNfv2sL7vvVXnzoddkfKw7+9nsP4u7HdwMA6rUKLjrjqELGRphYlRuaJa6aKVasunN/sOEdw0yjimatglbXxa75NpY1g1PvNT/fju/fvw1/+YbjeRXJOEGwwNdVzZQwSAtqRPpzVNj9EjUi/aBrvt3Db37hNtQqFVzw64fjlc85MNXzFNaXETM0s4GIBNf1cOlVD6DnerjwxUdgtWJSSQqagqlVHL4Yyy2jh8VV923DN+99CvuWuiUMRAY+IlVZrDqg5VO6Fl+54wlc/8AO/v/bHt2JN5+8Cc87ZGUqn6/Dx6/5JbbuXcJvnnIojtuwItNjmWLn/hY+dcPDws/qFaegQGSgEUnR0Iy9PtTiPeN0SKfn8s66qkDEcRysXdbAU3uXsHO+jU1rZgKv+b/XP4SfPrkXrz1hA844dn2m51sE5pY6APoeMiumxKWn1FUz0tBhqZlPXf8QfvLkXrzmeRvw8meL94syvyumazhgtomn97Vw+6O7AAD7ljqpByK93ugyIqMVNuUA1/M4xZW2cJLu9OoDRgRIXyPy9L7+zuyZ/eVT6OtTM8nsvXXYP1gUznvhwTh0MOnncT2Y6r9MEyptSf6ulx0JoLixEWZoxsdAbEZEb2iWl8X77kFapuIAq6brytdEWX2zMVtGViANdAhzJVvgM7HqKFTNsPG5r9UV/qagzT0dx8F/vefX8ffnvwC/f+Yx2vcMCzZ3Oo469Vlm2EBEAt05pb2LYhNmxelPkFlpRNhEV0bPAp1YtZawBbwOzBjp5MPW4LC1/UAkl6ZTg0mqTLof2pHzVc85CEBxY6MXUl5YT1q+O/jMRi3E4j3jQIRdz9UzDe0iEGX1zcbsuIrX2X2tK67PKPWaYXPU0uBclxTnLBs3blozg3NP3IgzB8yJ6j3Dgje8G7EgBLCBSABUopD25OV3Ce1f9kZt4K6aeiDSFv4uE1TOqgC1907nmrNd5UyjSur4s2cBmMalTIsJG9PVilO41Tib01WBSGJDs7CqGV6+i0yrVcLMzBiirj1bhNNO1ZYFnRC/l1L3mglUzfR/sMDZzyC7odtw8RRUBt+TzZ2j5iEC2EAkAMqCpKSb5GD6B7Yj4KmZlCcetuNaaPdKR3W2IgzN0mZEpupVfyc6qYwI0WWw9EBRY6PH6WM9I5LURyRMI0KPnQV0/hgUUVbfnBEp0dhJE2HVTSPVa2Ywjti5LnaC90uXgs5SlMtdVUdMqArYQCQAOlmlnpph1NlgR8AEm2nvnulEV7b0TJRGJC2L9wXKiCzPp3zO8zw+SZVpMaEls7PNGl8IihgbflAU/N2wGpGwqhl67Cywa7/aH4MizNiq53p8zJRp7KSJbghzVWpGRJGa6bke31QthjAiTQ0j0uq6qQfG3FV1xDxEABuIBEDL/FJPzUhlhlkxIjQQKZuTY5RGJC2Ld7bbn25Uc2s6RYW2zNCoDKBupo7j+NejgLHhGVi8x2dEost3gWwZkWFTM3QBLlNaL02EMVfc0KzTK53hGxs2bM7q9DyBTVQFT7oUNPueQPrCXKoFGzXYQESCkJpJXawqdgnNIhBxXQ+7FygjUq7KGd0DmnQ3rAPL207X82s6Rc+9TLtazogMFn8/VZX/2GBrrErQmbRyKkykRwOefFIzQTMzhrBxSHUGZRo7aYLdV1XAyBZozyufRoatA4zd6PZEUzqVwFabmqn5gUjawtwOqY4bNdhAREKWjIjsd8AW41aKO6A9ix2h7r1sglV2DWTKki0iae0GWQ52WhCrZnstqBlbmRYTv1Kl//8iBasuZ0SCv6uRUts4BmRhjEgtZ0ZEZe/OEGb1vdQu59hJE5wRUVXN1LNboIcFG4vNQRDRcWMwItI8V6k4mKr3f5YdIzJ6y/ronXHGEMp3087h8fK17FIz8iRXukAkotdMWqkZNjnM5JmaIYxImXZ1solYXtcj9FxUjAgZE3EcdkdHrKpvfLdArM3HNTUT1SWZzQll04mwYaNjRFTCUx3zC/jC3LQDrlHtvAvYQCQAOlmlnpqRqMksAhHZo6B0YlVtIJJeT5BOz+W75Ol6lVss72910epmN8nRIKpMzfvk/i55papUcKU0EQVV+8dJ0bHXqiZ9x3G4eVqmYlUDRoRd93lFxRJdzMaVEQmrmgFIv5mSdeCVUzOdnisES6rASVcdCGQnzOWMiBWrjj4y9RGRUzOZMCLi4lImsarr+lUlOh+RNBZw+oBPN6pYMV3jdHCWLACt+CnTYiKzEGsLFKuy2xsmVgViBiKunhEBxJRPVuBi1ZCqmRVTfsWSPA5pIFImNi1N+H4v6vvEF+iSdeBl8SsVq1JNTxyNCEDN29INuKyh2RhBFKum+9kyNcmdVVOssJB3uWViRCjlrGNE0vARYa6FFad/jR3H4T2DdK6WaYAyImWqmmGnxVMzy4tjRLyQ1AydQE3TE57nhRqaAX7Qk1Ug0iMC8bDUjOM4fidWORDpTAAjEpKaAfxAJO0Felj0XJER6UpVMyqth658F8jOzt7Xgo3esj56Z5wx3AyrZjpcI9KfGJsZMiIrB/0u8nATNQXd6QXKdyvpaUR8D5EaN87KQ6DZKWnVjNzfJU+nWRm+oVnwd47jkBSd2fWjqTwd5c8CnLQNChn2LLT5rpkFGjro0mJ0Vz22GpGI1Awt4S0T2PPD5qyua1A1wzUiwS7KWdnZdyMYpzLDBiISMvURyUEjwhbaY9YvF/5fBtDvqSvfTcPQjLqqMuQh0OyWtGrGlURsXDRZqKGZLmiIV8YtN5JUgWljTIObuKDBv+4cGNZogkCRESnXQpwWopir6QxdR4eBL1YdtOToucI5KsWqYamZjL6nFauOEUSL92yqZuTy3TR3QGyndcyBy4X/lwH84VR030za8EwF6qrKkIdAU/ARKdGutieZiBUpVmWPl0ojAsQ3NaPVNTqNiN9vJpvUzE4DoSrDGk2KcGkiUjOjzYjQ1MxiSGqm5/od3FWBCJuX0k/NhF/fMsMGIhIytXjXOKumKU5jO62j188CAPYtdUszsekqZgC6AA1/zbmrKmFE8khH0MWzTIJDueMtuxZFjA25gkdGPaZouUPOX9djo8YZkWwCERNXVQZdinASUjO86WcEI1I6HxE5NSMxIvL5tkNS0EB239MyImOELKtm2pKhT5blu0euW8ZNo6jTapEIDURY59UUGZFpgRHJPh3RHZGqmZXTdf7vvMdGmKEZEF+03HX9z9MFN1mLVU08RBh043AiyndD/F6A7JiCYeFKYtWO64k+IpItfVgKGsiO+bGGZmOEbC3eB9RZLXuNyLrlTS6cy7JSJA7CTH4atXjagDAsKhgRXimS4bWgi2eZFhNuqz5YkCsVB6tn+mLmvMeGrFeRwTUihkEDF4CHaDOyFquyMuiwhncMuoolsddMeTxo0oTMCMvISsQ5LALlu103ECwtkQ68LVIxp0qTZKURYSyiZUTGAEJqJuWJixuaVbLRiHgeKSNc3ijUQVMFVtKqZkQGO+EUVgtmiEQ1InlUzZRWI6JY/IsaG+zx0mlE4mqFohY3IA+xaj/dN0xqZhIYkU6Ez8V0ve84WjaNSI9rRPrzSVdiRAB1+XWjFtTCAcS4LSONiK2aGQO4GVq8d2QfkZQZkbmlLj/G2mUNIkosRwlvmNtgqoZmg0liSiFWnciqGUWlSlFjQxbOyqjFDM7D7N0Z8hKrhjW8Y9CNQ0EjMqZVM5E+Io2BxXvJGBFZIyI7qwLqpoVNzfecyqp8d4SdVWtFn0DZkKXFe0dSjaftI8Imt5lGFVP1KmmyVRJGJCQ1k2rVDOszoxCrZlkpUlYfEV8g6v9sbUElvH5qRv37uF2Yo0pC+8diGhHTs4wHE3t3Bj4O94sBoFA1UyI2LU1EVc2wHizlC0T6fwtVM56cmgneP9WGC/DnJasR8TF6Z5wxsvQR6Ur5bM6IpDTxyBQx+3t32QIRxQMat1oiDEtKsWr/Wuxd7KQiiFWhrKkZVaO54lIz4YxIfEMzFtyGMCJOPj4iZmLV/mv67KV/Pqod9bghqmpmKqMFeli4rgkjok7NqMDFqhkZmlmNyBggS7Gq/CAy1720Jh4mPFzLA5H+rrcsXiJhO4Vainl8VdXMqpkGd/PMqlKkrKkZzogoUzP5jg0unNWKVeOVccvpThWqGYtV41TNCOOQXPvJsHg3a3pXNrFqIDXjegEbepXGRx+IZMP82F4zYwRKgmRWNZNR0zt5Z5aHQDMOwvov+IxICmJVRdVMtaLv85EWyp6aoTslnrbLu2omony3FnMcxNGIZMGIeJ7HAwqTqhk6DmkQOBFi1V64hiGrHizDQnZW7fZcLHbEe7SgEqtG9dRJ+XtaH5Exgpth1Yz8IKZtaCaL5op00FQh7AFN09BsUeGsCpB0REaLL9W3lMnQTOVmWnRqRmfx7muF4lm868zMgGzFqnOLXb4AmDAi9HW7dIxIidJ6acLfsUeV75an6R31BxE0ItI5LpFAshWlEWF+KSkzIj0DdrCsGL0zzhiCWDX1qhlJI5Jy+e4uaWdWOkYk5AH1RYrZMCIAsEaxE00TtE9OmRYTVaVKUVUzfgO+KGfVeBbv9Vo0I5LFLWHXb3mzxnfMUVBtEGg6otPzUp97ygC/1DqcEZHZhiJB1wOq6WNzzOxUP80SRyMyxRmRdAMuXjVjGZHRB9WI5GXxnlVqZk1Zq2aUgUh6Nty+RkQsCsuaBaBBVJno9Z6iUqWoqhl2idIyNOuaVM1wZ9X070kcoSoD3yCQyhk5HVGmQDYtROl5uL9GiRgROgw5I+L6Fu/sXip9RCK/Z7r3WJWCHRXYQERCtt13RTFR2uW7smiOV80stDOzt46DVlhqhlu8Z+OsCuhdLdNCt6QakbCqmT2LnVzHhqc4F4rYFu8RAkjAF8Zmw4jED0RUAXGgX8kYBiJRYsoyVs242tRM/xzZvYwlVq1nE3BFGcaVGTYQkZBp1YzO0Czl8l0WpTNRnOcBe0rQb8as6V0azqpqjUjWje+oK2yZFhJV1QyzePe8fPvNsHPRZGZiG9v5/ZuiLd6zEKvG8RBhkD1tPM8LLL5lCmTTQpQLbhmrZjyBERlUOfZcLjRlejyVxkclygdEZ1UvxTWGaUSqI2hoZgMRCb0cfESY5wFjBmjb6GHARJgsSq9XK1g53V9wypCeCdOINDLQiEzJjEjmqRlx7JSBhQLUlG2tWsGqmfzHRs9YrBrT4l0z6QPZilWTpGbkcdjqupBPbRwDkagKp+kSNr2jG1M2b823uvx+saAylkZk8D1dL11Ru99CZPSW9dE744xRhMU7kM7Es2uB7c58q+k8HEVNEc6IpG/xrquayarRm7x4lmUx0VWqZH09VFBV8FDU42pEmFg1hI7OVKzKgn+D0l2GNctFfx9K6zPavixjJ01ELZQzg14znZ6XmelgXLiKQGTfkp9SWT14hpYSlO/K7xsWViMyotg+t4Tf+6e7cMtDT/Of0fGfuo+IlMOjC/J5n70Vr//UD/CtnzyV6LMX2l3eAZJOimVqfBfWgyFN+pxrRAKpmWwFmh1p8VQtJlfe+yu8+1/uFkoU++PwTtz8y6cDrw/DP9/2GC6+4t7IgFlnIpZ1VRV7vuj38u3mdb1m+j83XYijvCmA4cSq7H7Nt9T5fDkdagL5ujOav1Gr8DHL2MMdg2t4kzQ2PnHtL/EX/+/+yGP1XA9/cMW9+OfbHhN+/v9+8hTe86/675UFohiRqYY/LwyrE/E8Dx+68j584tpfDvc5ZMiwVAtjPxrVCqmaIc64EeW79WqFM3/ss/7p1sfw/q/+eChG2FbNjCiu+8UOXPuL7fjK7U/wn2XrIyKW79YqDjaunAIA/GLrHH7y5F784y2PJvpstjNr1CpYprA2LwMjMj94WKcawTLHNC3e2aQgi1VZKmJuqTP0MVSQJxHaDpzhiz/YjKvv34YfPPQM/9n37t+Ga3+xA/982+Oxjvd/r38Y//XjX+EXW+dCX6djRFbN+Lb3WeCGBwbP1x3+94oyNONl3IZBg7+4RXffTfI8/8Mtj+Lq+7fhR5t3KX8fp+Edg7w5YIzIdL3ql/QPArFrB3PUv5BAoud6+OR1D+HyWx8L9KyR8cC2OXzjx7/C31/3kPDzz9zwMK66bxvufEz9vbJAVNO7RrXCx8WwHhtb9y7hn257HJ+87qGhSqF7glhVnE+mG1VlyXFYc0/+XkmY+/fXPYRv3vsUfvarvYnPlc0/o6gRmeimd4wWozRgHmJVNtk6joMr3/sS3PfUXjy4bR8uu+oBzCd8AKlojno0FOWgqUKYsC9utYQOrutxZkhmRPxeEdloN+TPVe3q2c9oYPjM4N7ENXJaGOxmo8R9OhZiJmMDKXYv6XVRVfBQJDU009HggL9DTFKOv9DqX9uWpiPuMGLVPYNqNppKZHMDW8zYvZlv+cdf6vR4iitqLLPf75pvw3U9PgbY+MvqWVAhKo3mOA7q1QpaXXdosTfbmHkesNTt8YZ6caFKzTBM16ukb0ywVxBr4aHCdKOKuaUuFts99FyPp9WHSZP2RpgRmehAhA12XfCRtqlQV0FNHjDbxMuPXc8rXJL2H9CJ5tZkXCkSB7tDdo9xu67qsEQWDFkjIu8204a8i1cdh40vmg5h9yZOtYDneZzSjwokVD4iQPaW2uy4oklg/2+doVlcrZBJySJnRBIsbuye6ESFScSqTFfgen02ipabs3Nt80BkcI/JPaLjJCq4Ytfe9fql2muWNQRb+jwF1SZ9gRq1QSAy5DNKjfoW2sMHIo4THGMzjapQAcMQJVbtv7cGoIXFTg97Fto8sBwmTepbvI9eoiPWGX/2s5/FCSecgBUrVmDFihU47bTTcNVVV2V1bpmjMxgwOjfV1A3NmFhLQZ3JVF1c6PwMytT4LsxzoRaz66oONJCbkqjUesrl0jLkIEp1HDYG6M6HTT5xAgJaaRH1Pl3H2+mMyyW7ikAksmomplYoiu6nx0oS4y5y1jT4Zs/zEgUi9WoFKwbagl3zLT+V2KgG3JbZ8Wmqgt7vXsSXoteeBbzUlj7PQIRr5EJSB42UUrSCff4Q45s9Y1XHCQQWU/Wq75JKq2Z6vuZHB/o+eq7DzNO9kPWl7IgViBxyyCG47LLLcPfdd+Ouu+7CK17xCrz+9a/H/fdHi6bKCM6IaEp202ZEWKSs8jwYlibXiebKZPMeRmNTQ7NhauvZhDBVrwRSEZQRSbN+n8EkNcPGFGWodvLUjPmESSfXqPdpA5GMDaTYcekz5Ruaqd+TtOld2OTLUzMJglx2nVX3cqHd40yJScM7irWscmZ/mwcW0/VqwG15kTMi/ryQhBFhxwJEtiDtzVYYTPoCpeU2revjExfUgyeUEVGU7+p8RNh72ft2KtjRJGCB3thXzbzuda/Da17zGhxzzDF41rOehY9+9KNYvnw5br/99qzOL1OwQKQr7NhA/p0VIxK87FOcJncTBUA60VxZqmaWOj0+gapKHWmOfxib9yWNq6p8jCxy4yapGc6IzAcZkTgTJn1t1Pt0tuqqSTRNKBkRbmgW1WvGMDUTYZIFJBerdnu+VkEVGLH7NlWvxKb+6XPptyTQByLUDpze76jgSmRE2sLfJu9PEyadkuucERpuTOo6G8eFkJqRxpgoVjUv3wXoJqCbGiPitzsYvUAksUak1+vh61//Oubn53HaaadpX9dqtdBq+VHe3Fy4wj9PsAHj6lIzKT+jYXbUVM+QRFzFxKjyzqwsVTPs+PWqg9lm8LvRyanb86CII4ywwIV/wWNQqrTTc0Op0yQIpGZCGRFFIBJjwqS74qj36QSiWVtqs+8q9m/q/52eoVn04lZLaGimWlwodnKGz7xihoE+l+xS0OCZLcRMG0LFkJQ1jbpM9Nqz890pBCKxTz0xwlLTDH4gNmRqhqQ+h0k9Ut8b+bxFsWrQWTW0aob0m9lPhMhWI2KIn/3sZ1i+fDmazSbe/e534xvf+Aae85znaF9/6aWXYuXKlfzPpk2bhjrhNMEmF12ju6wt3imoC2iSCF6Xq2aBye75dibpCFNQ11fVbpguJJ0hdmm+q6q+sR6QjWBV3jW3FLN8TxKruq7HLdbjWD5TnUDUeFFZvAN+sJaVRoR9fVVqRjdXsqBB9mTRwcRNkjEicYXQKttuCkajx9GHMNCUKa2akQXVnBEhY0PQiERcJzeCEcmzy69Jg8K0OpLTYGsYMTY1CZNZt0hGxKB8d6HdFYKmYQKRUa6aiR2IHHvssbj33ntxxx134D3veQ8uuOAC/PznP9e+/pJLLsHevXv5ny1btgx1wmmiE6ERSd9ZVa/wr1acgGFOHOjFqv3/d10Pc4vFdbXcySdt9e6RLiSdIYKExRBGpEZ8CrJwbpRTSqpgp0dSM57nYc9ih3f47Lme8QRMx8hCZGpGUzUzMJDKrmpG/3zpnFW5RsRwDLQNGBFfrBozEFHk/Sl27lc/cyZYowhElKmZgTaE2oELGpGIOaobEYik0e3aFEapmVq8+6/DLqlqJimiq2b68wwdK2HNPel7gf6zp9KLJYGJGLisiJ2aaTQaOProowEAJ510Eu6880588pOfxOc//3nl65vNJprN+NRlHmhHVc2kXb47+DxtV8ZGFa2um2hh0AlBm7Uqljdr2N/qYud8CysHpl55I8pvoVJxUK046LneUJOjrvMuQ6NWwVLHTbXHA4Mc3IQFIu2ui/l2LyBOW2q7AeMkFRZjMCI6Q7PpenASTRM9hVhVJ5xl4D2HTBkRySRQhWpCsWo0IxLfQ4SBpmbYojRdr2GhJpYL03uz1Olhql4VfhZLrMpSM2Sxy1WsGqKRY2imxIikJVZll6/iOHAGglX2PabqPiPSdfu29PVqxYgRoWlRlV4sCSaKEZHhuq6gARklsFSJqrwQyCI1E+55MKMoBTNFWBlhGQSrJmWOnJYfYhKiwj8V6jGrMuLARCMi7FD3twM7IFodEQaqGTBOzUjjrojyXRYL6JT9cbsw+x1d0+81Q6+LaoeepHSXgRsNzrfImK0EUhMC80XSNAzxxKot4W8gmbdKUkTNfwBQr6VjbCiKVZMzwZ6kr6Jsw0yjKswz7P6YaERop2E5aEq6MRhljUgsRuSSSy7BOeecg0MPPRT79u3Dv/3bv+HGG2/E9773vazOL1O08mZEIhT+UwpzHBO0uj3sH7hsqoRza5Y18MSuhUIFq2EeIgzMVXEYU7MoRqRZq2AfsvESCVTNKI7hCjvUViA4NJ2E4lTN6BgRSg9nAZVYNcrinaVmTMdAh+8Co51V424slhQCRAo+pmOW7gLE32d/G5tW++nERq1vt8+C2CXFfRYYkThiVV6+SxmR2KeeGFHzH+AzYsMwlu2uKzSmG6p8Vxqv9UoFSxg4N9erqFd9Jnep08PK6XosjUg/NSPOATvnWzikMRP7XCemambHjh1429vehq1bt2LlypU44YQT8L3vfQ+vfOUrszq/TME1IrmJVcNzeEnLKdlArlUcrJgO3tIyeInwqp4wRiQFm3e2+5FdVRk4IzKkKl8FxrA1Q9wh6fjaNd8OBIem7IRqp6yDlhEZgoEzAbuNKpNAfffdeGOAMRVhjEhSsarAiKScmlmrKN+dUviIqKqj4mhESiVWNdAwpMFYMvE3w1AaEckJuF6rAANCabpRg+M4mKlXsa/V9RmRkOaeDJSNlOeAXfNtHLI6QSAywt13YwUiX/ziF7M6j0Kg1IiQ5zLNEnvP8yJzpEkNpthOZ7WmIqUMqRmT3WMaje+Y34KqsR5AygOH9ClQgU20y5o1tLrtUI0I0L8m8j0xZSdk7UAYdD4i0wkZOFOwtEFXwTjqe80MxoBx1YyBRsQZvnxXtUNP0vCOgT2TuxfapORcJVYNMiJxqmbotd+90BbcYOXfZwnP8/yqwYwNzeR053AaEZERoWwDm6+nGv1AZDFGaoYGIrtJQLtTsTkxRW+Exaqjl0xKESpn1aws3ukDrys1nE5YThm1M2OL/zCK7GFh0i49rr23CkxjMaNJzchNxdIE23EzNkZF58sGU3IgYnrvRWfV8By4XqyaraGZWqza/1tfNRPPR8Skf4mvEUleNaMKjocp32Xv6fQ8PL1vCUD/fshizcUoRiRijqLzWafnYW6pKyx0abO+OtBrH+ojkkI/qKTpThXkZ4cGvOw59/vN9J9Ds14z/ffsmFvia8NR65f3zz/hPN01SFOWFaN3xikiqnw3TdqS0sK6iHV64H0RN4KPEs35NHBxouJdBrvHuA3PVGB5fZ1YNa1eFiqw8bRsEFDKwY7neQLjpkrNmN57cadsJliU134aMJku/HGg8hHRpYkY4jY/9BmRaLFq3N2/6A0RvC8m6UYdpupVLBtc/yd3LwIIlu+2u65wzknEqvJ33rJrQVjkh20yaQp6HlFN74DhUjM7pXluuECk/zdjmunczSpf/IC+f85xNCLs3i9v1rBh5RSA5Mx1L4JtLDMmOhBRpWZ0epGhj0UeLL1GhJVTxlN5RwlBy9D4zkSsmoZGJLJqJqVeFiqwyXamWVUeQ96R79zfDgSHppOmqB0wZEQ0zqpANukZ7iMSR6waWyMSvQtk3zvuxkJoZCbdy6VOD/MhLQtMwJnKwbMh95qR78nSkGJVAHh4x/7Q32cFej/DxJRppGYCLGMaqZnB8FIxIn6aRWJEQjUi/bmezovDumCPslh1sgORwcNB6cmsqmbojlOXmpmSImtTRKU9iharUhV72O6xEXM3rEJk1UwO5buMEQkEItKkv3vBL99lZnamAYGqmkIHXSDSrPkGb9kEIoPjK3xEtBbvbEdsmJ7r5MSIyAwae5Z0LQtMILODtPtuq+cGglI1I2KemgGAh3bsC/19VqDPdJiex+81k/y82L1hz9TSEIyIJ41XQSPSkBiRwX1pmWhEpPlpzbLG0Mz1xDS9GzewhaKrYUTSzJ9SRbOOlua15YZeEgxRaY+ixapMxV6tOFg5rTdU44zIMBbvRPinQlrdPVVgwY2f8hAnwAAjQjQiB6+eBpBx1Yy0+DuOk6lORClWlahuGSxIN07NGJSEJharEqZJHi80Har7LlGQg/I+I+KzaXJwyP4v9poxF6sCQUYkL7Eqe6YdJ3yhTEWsmvCZUoEF0xWFRoQ9O7Ta0fO8WBoRhrXLGnz+3jXfSXiu0c9CWTF6Z5wi1BoRkH+n95CamPnw2vKYDw63mtZQxJTyK6LfDK/qmalrgzDAp9fTYESmtGLV/vGz8RGRxKqRqZkWD9JYuZ5x1Qx5XdKqGcCniDNhRAZfV9VUMtrQzGwMmNiGJxarhjirDlMxwyCnKWWNiCxCZoER1QTFEasCwENSIJKXWNU0bZBG+S7T7rBnKo2qGRZr0nHGGBHqkkrHbbOqd0iW5yeamknOiFiNyEgiz+67Ju3KkzpdRlXNMBdHZiueN0wdKOspakR03YtzYUSa6tSMTPRs3bvEx8XBq9juzdRZVUwbhF2zsHQI6zeThZdImKGZ7jGIOwb8AD/9qpkwjYhJFVgU5PfK5btygOkbmvljJCq1Igcqj+9cEH+fc2omqqKjmaJGhD1TaVTNqBgRuWpmod0TAtY4jMia5Q3itptQrGo1IqMJtgjkkprhPTGiGZG0q2ZmGjXejTZpadgw2GlY5pjGbmgpQiOSh8X7Mk35rlyWzBaBZY0qVg16AJnqg3S0vQphlSozg34zw+TRdegqUjM9vsOMqpoxtHjn/ZuiDc3iLrpLgkZEYkSGaHjHEGBE6lXB4l0ODlUakajUivydo/6fFTqGHhdpbEbYfHPIIDUzFCMisYl0/p6WqmaWOj0hgIqjEVmbgli1YzUiownOiOQgVjXxO0jqrLozghHp/45VzuRfwuszNuE0dlx7bxWiqmayZETYwjsTIVZ1HHFCW7O8wX1PFg31QfIiFTZmwliIqYQsnAmUYlU2sUd13zVuehe9064lFKsKjEhPZkQyCEQaVYERkO+pqmomkhHRNNpk/8+bEYnSL1CxblKwe3NIChoRVwqc6TjjYlXi/8Se+eqgiacO8vy0ZlmTz9/7lrqJ5ife9M4amo0OPM9vuZ6PWHXAiBgMzjgRfKfnYu9iX9wUNikWKVg1Ts2kYGgW2X03BcMkFahz5LJB+a7sI8K+Vq3iYPWMfy3WLGv6995w0gzQ9iHv04lVAZAAKC+xqv5cADIG4qZmwjQiicWqhBHRiFWHSs0QTVfF6Y/NsPJdzoi0zRkR9vsDloubAPb/3MSqBho5YPjy+p7rYc9gPmSByDC9lORyc7aBYPcLEJlsk9JdoJ+Coo/A2mUNrJiq8+BFtqk3gTU0G0FQUZHn+WVaqpblaR4vjBFJ0vuDDVjHAVbNRAciRXiJmHiIAP5iMkzpnmnVTNqpGTpudIwIC7AqjiNci7XLGrH1QbKWJOx9YUZHcQOgOKC3ketFeJpI/R72fLie2W69w1Oe+ucqaWrGRKy6eihGxA8OZgZ9S/wWBEFGhFVlUF8MU7Hq+hViIML+n1v5rmFFR2PI1Gnfxr7/7w0rfd1VUpE+e5ufmumfH7tf/X/7zxCrlAtLywDgPWoY1ixroFJxsHqQoo3rgu26Hj9XqxEZIcgTC5uk6HjNomomVCOSoBsq25mtnmmEUoFFeolwB8oI46e4+gAZnuf5jEhE07thqF8V6M6SMSLyGKP5Znot1ixrxNYHBRapkPeFi1WzY0RU7RKiLN7p82GyGJlQ/rWkgQi5xjK7lQojQt7LqigoYxdIv3V6aHVdYY4yFavqGJG8DM26BswVMHzqlN2XVTN1LJ/qbwhcL3mVnO9KzJxV++dHq16mSCDSMijdZaBzFNuYJGWu6fxTtamZ0YFMtXalHRuQbtM7kwlzJkG+fhcpjQ3DSKRmhtSItHsuv39RGpG0u+/SRTOKEalWHGE3vJYGIqa9ZgaBw4op5sYbzYioBKJZduClKTZ2DjpzNQb6fJikDbgIMiQIT8qIhHXfTVsjwp59Nj5bJDVD77F8n03FqgfMSoHI4P+5iVUNKzqGZUSoiJimZ5MyfoHUTEVkQQA/vbkQIzUDiHMU25j4zHU8LR991iwjMkII7FZZaiYji3cT1fhUgnz9TkMhaJGN70yrZri9d8IIcIlUnERqRFLuvkuDJ52zKl2E6W54DUnNmNz7Ts/lE/vawc42tGpGopcpZjJlRMg5SIFIlMU7YMaMxWJEYj7PlJmU7+XO/YPy3YT27kD/2jNxKhuvPiPgBx3sHi+0e4H7ZCpWnZ2q82MBwPrZKeH3WcOkSzKQHiOydlkD9WqFM2xJx7fM4LH5m84vnMkmYtWmCSPCuvfWK3zzspabmg3BiNhAZHQQ3K0OJsrMLN6jhUR+r5n4qZmoRb7Ixndxq2aSshXMkbZedbQTXmaMCFl1mTdHMP3X/7tWETUia2IyInRSZZ8T5j/CbaoVl8Q/bjw3XxPQhV9mHHWpGTqJRtHpnuf5Ar2QAJ8daxhGhGpWOj0Xc4OWBcMYmjmOH5CyxYyW77L7zO7xUqcXYK5MGZEaCX7rVQcrp2vC77MGn/8iy3eHs3iXOyJPDcn4BSzemUC1EQxEFjpdPmbNUjNi8EHPO24g0iPXy4pVRwjB/H2QEUlXrGrQCIkwIqbiKi4EjdiZrUkYaQ8LqmKPCpYarAV8QkaELeI6V9X+MdRBwrDwd+YOGlW1s6pWrLq84QehBjs35vnhOMCqgWV+mK4obPFPwsKZQqiWkQJ93a7NcRzjnkNUcB5q8Z4gNUP1Rgzsfu4ePEMVcv2Tgj237NlvCs6qYiCy0O4F7nPUHEU9ZNYQ+r9azbd818R4DhAZoSSQHW+TWiIw0JJ7IFgpQ/+9SBgRo0Bk4O0kb0ro9zAFe9aiLPTLiokNROQcZE/ascn/Tut4YTsCFln3XM94oTR1eCyqaoaq2KN0LJwRSbgb8l1V9YFIVhbvlPHS0cuCWFWYfJqxHE7ZAjlTrxpV24RVzSTRJZkiiVgV8J+RqECEBqxhIvAkYlVZnAr4Y2YnEYiHtSwwgbxgsrHjesD+ltgoclHBiER9px7Z0bNjrVnW5Dv83MSqrh+oh6E+5EZBFhEnNYlkCKRmVBqRhiIQMdCIsM2HvCkB4htPUuZrFDGxgYiuDwjdYWSSmjFgRABR7xCG+KmZfAMRqmIP++4AXYASakQiPEQACE3F0gTVAOkCkR7RiATLd80ZEWraZjLRmlTNDOO1oENXEdSzaxDec8hMK9QxpKOTiFVVgRm7n2kIVRnYczklBSIAAv5AiwqNSGRqhqRE2LHWLmskriRKClNGpDlk6lS2CphOkO6m8CRxNa+aaSgYkU4vXmpm8D5ZLwbEn6fZ9R1FNgQYo0DkvM/8EKf+9bXYsmsh+sXQLxJZ+YiYGJo1ahU+QZh24DW1mma07EK7h5f+zQ14xd/eiK/ducXoGMMgjhU267yaVDHvL9D6tuycESH3/6s/egKv+Nsb8bKP3YCXfewGfPQ7Pxfec/V9W/GWz9+Gp/Ysaj+XiiZ55UOAdfMnC135brvrRi4OtETZhHoOs3g3rZr59A0P4/f+6U7tvfnqj57AW//xdswt+Z1DVXorL0KsCpjb8NPfmzAicZ5ndo0btUqgksPUF8cE7DNmpPJdANi7IB6n3XOxf0mcF0zLd2k6kHlWANkFIr/YOoc3f+423PHoTgBJNCLR9/73/ulOfPbGR4Sfy1YBLP2RlPHrkZRH//wGjIhCrLp7oYOPfKs/d8Qp31WnZuJp+XxGZDSX9NE8awW2z7Wwfa6FZ/ab3UCdj4hK6Z8GTHOHccs4mWguzMwMAGabNRy6pt+N8oldC3j0mXl85UdPGB1jGMTxW0ja9I/B77yrv8YqQ7N/vu1xPPrMPB7fuYDHdy7gH27ZLPz+K3c8gTs278ItDz2t/VzqHEm9IDyBYev/Xa04OHjVDFbN1HH42hnMkICCfg/t92z7zM+UQSDChvEwhmZf/uFjuPYXO3Dfr/Yqf3/5rY/hhw/vxN2P7eY/6ynYRZ4mCknNmAoM2Tk3ahVt7xrAp9XjuIgy8a7ciA4A5gZMxaqIVKMJjj94BQDgmAOXA+jvuNltYowIDVp3SY6bpoZmtYrDj/XcjSsSBWdxcNV92/Cjx3bhm/f+CkD8qhnZXkHGg9v24dpf7MCXfrhZ+DkLhFcOtDss/ZGU8ZNTM0cd0L9P7H4BwLrlTd+IbDDfsdeF4Zj1/dc8d3BfAGDVdP9e712MJx4f5c67AKDfOo4Y1ixr4Fd7Fo0pLV1qRhSrpnd+UdbjDNONKva1usaLsUk6AuiLAL/9+y/BQ9v34cdP7MFffecXiVMgcSCr2MPAbM+Tpo+MUjMKi3d2b/7yDcfjQ1feB9frCxLXr+iXODJWJ0y7Qp0jabDZ6Xm8IRv3EXEcTDequP4Pz0C96sBxHG757Hn9CpjlTf2juUiYH9a0biGhWNW0fJctzLp78wy/RkHvEPpv9qOwwIE/yxF5cpMeS4A/OcdxEWXNB6frVbQcF2j5mxfTZ84Eb3j+wTj5sDXcjhzoL8ZLHZeLvFdNN/jYkK9J1GapS9gweqxv/XRr//dDuBiHgY0XNlaNfUQ0bKIMNs7kZo3yPDts1Yxcbv6GFxyMkw5bLdyvqXoV1/3hGdj8zH4A/TnguRtXRn72O196JF7zvA3CZ7GNQStm4NTj848NRApFXDGmvKioxKpp7haWOoP6coNApP/6dAMRAFgxVcdJh63h55JHflhWsYdhWEGtmUYkyIiw9514yEqsnmlg53wbO0kgwhbfsOtFnSOph0C75/oCRMKIAGJw5jgOpuvVfmVEhD5ogX/PChe5hnXPDROrThkwcJ7nYakrpiUoXNfjrQZ0Yu+e5wmBQNjOzTRPbhrksmPFYURYOfR0o8rnARa8LpHU2LBwHAebBkwlQ6PaD0QY88K0QAvtXqD83lysKh4ra7Eqm2PY33738XBGhHbf9TxPG7Cy770kVde0Bsdj92ZYnxxZIwIgcL+A/hhcs2xNrM9W3XveyTdm1VB3hDvvAmOUmokrxtQxIl5GYlVjRiRmBG+SjpCRZGJOijipGa4YTxiI8PLdkAWCOlfy95F7Iy+Cnufxf4ddL7rjo3l+Os56ikmNgt/7CH0QCzpmGjWh86cOYWLVGYP3d3oefxZU92ZuqcN/rxKosn/TwD5svlxrGJCa6o+SlO/SMUH7v9DfNWvDByIqMEE1O12aupOvSWQgMhiXVSkASHJN4oBdI/a3id8LADQHpe+eF/68sd91ep7A7Prz4aAz7pA+Oeyjwxi8NMHm8U7Pi6WVM/GpKjNG86wViKs2DpTvKpxV02wItWQYMMTt/bEkPXgmyFMxH0fYN6wNPdu1T4UsECohJL2GMiuzv+WbFPVCqjhoDrxScfg1FgKRiF2LqV6D79brZlUzYY3m+A4s5P10d6a6N3Rx1DIiric8W2FVM/44CNd7mQa5Sbrv0uaJfMwM7iVP26TAiKggu3JO16v8+Zavf5zyXYqsAxE2ntjfHcOFsl4z6zVEz3uJbira4oZv2F5KUU7AaYPO43F0LaOuERmfQCSmhblWI0LFqqmmZswYkTgGPK7rceozTiDiMyLZa0SY+ZOJFTZbUPa3umglMDTytRPRYlUWXHieeA39Ov7+Ikgn/tAdmlQVoCrhZWNL56FhKlReJPSzyXhxSeWEDBMfEZr2UT1fumski1XpcAsTq/JnOTI1Y5b2S8IA0p21bILHArOwgHcYyIJ2ep8DgYihWFXOiLD/ZyVWlQMRPzVj1msGCC+xp/eSjf1+CnHAVtVFB9RhnVXDfG/SBNOKAX5aywTWR6QkiGthHiytZFUzwSqHNGAaMMQx4KHphTi7M7Yr6WUkVKOI47mwYqrOF40krIjJAsFLMQc+BfI1lFmZZ8jCG3a9ZJ8EP+Dx72PUZBFXOBqXEQnViIS4+dIJUVVWuJNUqvUUje7Yv8XUjH7CNE2z7jQMcpOIVak5nqwrWjIIeIeBbIZF7zP7zuz/Uc+wv1OWUzPDNZiMgqwR6RimZqoVhy/EYYEIHWcs2KGdidn1mTFg/MIQVvqeBRzH4fNXPEYk2jCzzBibQCSuhblcHqaumklRI2KgXwBglPNnoAN1yqBunSFPjUic1Eyl4vDKmSTN+fwFIlojwvP9bfEasnHEztuYEZFU62wxaXWDC7NuUjMuW+34i6T/Hn0OPMzNlJYN63ZgNMiJSs1oNSKenJrRnq7xs2wa5PI0RIznmTKYcqUVD3hTqJpRQWZE+lqggVfF4DuzFveRjIimz1CSdFUcBDQihoZm1OI/zEuEBlA8ECHjd0pKzSSvmun/nRcjAvjp+ziBSE8TcI4KRvOsFYhbcaH3EclGrOrv1qN8RMwHIXvI61Un0rWUgkXNWWtEPM/jE6ep+dMwDrAmrFNds6iwaygfnzJsYddLy4goxKrDMiJsUp2q+5R9GI0b1t+FXivdcelYVKZmKGtEq86kZ8kjpxg2sfNn2bB81zgQibH7p+Z4dSmoNOlpNAzkQKRZq/AdPgv0ZptmTevYgh1kRLLdjCzJgUiM8lJVib0MQSPSEUXEtYrf9NJUd6VD3hoRIJktfdewPLqsGLtAJFVGJM2qGYPdOkCrGKJV3kmEqkB+jMjcYpcfwzQQGUawKivmVdAxIowOlQNa3W5fhplGJB2xKmVE/B2ffrzoBIvsXJg4UvcZsRgRstjL7Ah9tsI0IqbBKNcfGYpV4zAiqqoZJrhkC18aPiIq0NTMdL2KSsXh8wIDZ0SGFKumOcdRLEoaEb/XVvSSI19vFQSNiHQsZUO6xOW7/b/DxmvamDLYXMiwYtWSIKxDpQoBRkRh8Z6qWNWgogOgvg7Rg9Bk4VUhr6oZpidY3qwZlzqaChVVMKlMkl1POYvSEPs+cEZE2O2bVc0IxxEMvvp/68WqZv1maFA7bNUM+xxAz8LRny92eoFAiQYMuufHlTQiYfM6GwOqY6mOG8mIVOMH3osKjQgLKpM+d6agjAi7N/KxljUMUzMRYtWsfERaXCPCUjMDRsRgodT1aqLoKQIRXlZNrlV63XdzDERq8YMnNjdZRqRgrJiqcdrPZBHLPTVjzIiwQWjCiCTbmeVVNZOkOVhc0TGFiVcL3W12XY8sKoOW3Mvl1IwZIyI7RzYVkym121bBtAMv/Z7TZPek2936OgFNSihCmyIHKLJgVVs1Q/7ddX1Ds4oTPrHPNumzrB4HrW6PdKeNqJpx4u/+abAn95pJ01lVBSEQYaJLad7gjEhJxaqLnAnp+3z4YsroJcek3wwdZ3KFDhURTw3JiBSSmknQiNLUp6WsGJtAxHF8oaNJC2Uzi/cMNCJRPiIxes2YepPI4FUzmTMi8QMRPzXTiXhlECapKjrJt7sut1Jm150df/dCGz3X03pkyJCdI1W7Omq3rYJpXwzafVcQm2pKnqP6u0T1q5EpYjllIl4jTdWM5xkL/xzSoE2XnmE/r1UcrJgON4hOIlZdIONCvpdJnztTqBgReQPDNSJlFauSsbTUdf1A3UQjYsSIBKtm+KaiRhmRYbvv9v8eFbGqNTQrAeJ0LgwYmil8RNJcp00FbnFU3kl3ZnlpROK4qjIMw4iYMERULNfpuQGanQWzngfsWWjHrpoJaERoaiZCrGpSAQP4932mURUmXdWY8WgAECGS1fWrkXeTMuNI71VXwSwC/Z077wRrsL2Uq5dkMCHr6mWNSNqcjXfPM2dFKCPCOzZzRiS+d08cNEnUwO6NPKYZIxLZfVfLiGSXnqV+HkB/vPJA3WChTMqIyPbuwPAakbzLdwEzk0EZvijZMiKFI45FeFEW72n6iKhyoiaoJZiYkyBJaiZuGTaFfz30w5p2N213g4FIvVrhnTt3zYuBSLiPiLgjUZbvDibWqIAgSh9Eq2YqFYfvoFS7Pnp7dYwIn/g0wW9AE0IYR2qBD/jPjBy00V4zJsI/HpBq2M04QS49nikrwlKjRWtE5DJUBtYUMWozoWPDsgxEqJ8H0B8/pj4igFkHXkEj0tYzIqbpTh2KSM00Y7DiDF2rESkP4ixiciDCBpw8UaW1ULcM9RxxxFWJNSJkMsiSFeG9QAxcVRmGaXxnyhDRHZdqd0t7nexU7PZVkJ0j1eW7/b+jAoIofZAvpKxJ7wuOGTph6wKgKO8aOeVDn699ra5Q3cAZEcVzFGdSN03NmAS5dLybLryUwZTbAnCNTkYW7zQQYfOBTiMSlVrRCZWzFKu2pFReq9sjTSENqmYkBkoFwUdETplRRqRhJgDXoQgfEf95tlUzI4k4HhRyaRi7kfJElcaD2nM9/lBFLZI8Xx+DEYmvEYk/MScBo+xjpWaGaHxnWs5MgwRf+OlfQ7a4/Wr3oqCPCKuakXd8rHFZPLFqvPJdX8ioz4ObNJpj313rIyJ9Lg0SdW3p5aCt63qxaO6ogDSO/khgRAzHu8pZtd3tC4LbvAIue2dVuZ09A9OIRIlNddqBaobuyvI4Wmy7iapmTHvNBBmR4PVrd91Ec52q+27WGEYjEtXduKwYzbPWII4HRUuTmgnktlNYqAUH1ChGJAYtJwstTUEfqiwrZ/zFIryqgYLdwz0LHaGrpglMGSJaWqu6huwcHtqxX3ifCSMip2bori5KrGraeZmWlgL+xKV6Hx2/2qqZCJHskvSsUE2IHCiwBUd+btwYYlUgWisUJ8ila7DpxkLprNpzBXYoD0ZEbmfPsMxQrNqLEKtmwYjI42ixQ1Mz5hoReY6mEDQig3ui8mqi1y0JK8LGcY6EiNWIjDri0PpytK1NzaTwoNIHQO6sKSNOt8ikDo90d5RV+R6QTKy6eqbBH/rdC/EqZ0wpcz8H7SmvIWNlHt6xT3hf2LUKWLyryndDjMUAEJdU/b13hZJjkRFRvU+wVddVzUQEQOwarVseTH0Gu8G6/Dwpuj0vsoyYQi6jlmHa8A4Qx7spA0Ark2j5LmXI8mh6x7vIkvHpOP5YMRWryveeXZIsGFF57hLEqjGcVcMZEVI1M7hXLYVXE20iZ2ISKaMYi/f4gYhtelcixEnNyBoRtsjIBEGajEizVomkpU26ofLPTdjzgp5ClhqRJGLVasXBKiIWNUWn51OvUQsEbUinuoZJGBHZOVLlI8KFg5rJ2IQRobtEuaJCWTVDO94mtJZn4/fg1dMApNSMxFiwa6QUq8bQiKyNSs3E0B/R45mLVYPluy2SymsYPMtJodKICLv8etX3ATEMROTUTJYl/CpGpNtTn4cKJuW7NLXOLd4VjIjjOESMHZ/99QoQqybxPulEuDaXHWMViMRJzRgzIilkLpYMd+pAvEHIqiviBiKO42Turup5XiIfEfp6kzJsBnq9piK6ovr9ZjzlNWS77Cd2LQjvC3VWlXLgqvJdLiiL8vMIufd0VydXVCjFqga26lHeNexzD141BUB8vnSpGZVYVbc7VyFKeB6HbXMcJ7alORUE+2JVz9chZaQPAdQaEcG2vFHlqZakYlXOiGSQmlExIp0Y3WHNGBGiEZEMzeSqOR6oG5hEyuDBc64aEd+k0BS9GD4tZcRYBSKMUqdtyXVoS1RhlmJVXplhQOUymt1EXMV280kcHrN2V51v9/iOJqpNu4y1CUp42STkOME26jJUOX96Ddnixm49WzfDfURERkTVuCus+RxgVjG1SNg19jl+IBGcaM2qZswMzQ5e1WdEqECV/Vu+RvLY7Tur9v9tlJoxLN81DXJZEGbCAHZ6Ln+daGjWU+6604aoEenPB7TXTD8QMXNGjWJEsijhl6tmlggjYpSaMWBEVL1mdM7KwzS+i2rLkAUSNb2zVTPlAdtFzS11Q6NpwB/kLPp0iQU1RRqMQZxyP/oQRQ1E3zY+/m3MmhFhC8hUvRJo2BWFJI3vGO06Xa9GGlzViU/BEteIBKtmGFhgEt59V66aCQruoiYLkwkoTJCnep+JLsPfMUakZgaByL5WF61BACczE4w1UotVzRkR9nn0WBQ7Y+qP4mgiaIpL1Ih4/FyysncHZEakEjjedL1q7IwaJValr0kLQUbEDXSnDoPcIVsFlbOqTqwex61aRjEW79ZZdaSxarrOB8zuiEVMLqeVu4MypCFWpRqRKNAFMUpcNYyxUtbuqjt5VYN5xQwDb3xnYNXPEEcv01QxImRhlwORA2b7KQkjHxFWNRMmVo1iJjo9wViPgnfeJd9zKkRXFGXvDkQzMWz8Hrhiip/77oEFPwsI5GsUYBZd6qyqPRWOldP1wLEYOj0Xexf7PzNlROJoItj3rVYc1KuOWO6dMB0aB6JGZOAVI3ljmAZWUWJVk8+IC6VGJIGhWduw+67ca0a+N1EaqDB4EQLzLMCY80S9ZiwjUjwqFb/fTFTljMyIUJ8DilSqZmLQuXHEVaa+GSqwFEJmjEhCfQgQT3TMwK+xwbWo1/oPa6fn+lUzJG0mp5LWz/aDqVBGRPYRUXbfNWNEPE9fushdVQ1trKM67wI0AFIHvpTRWz3TFxKzQJPdI/kaBcSqrkeEf9GTZf9ZFo/FsHvBTwetmjFkRAaHNNn9L5Cx5DiOYICXtasqIDmrKsSq0/WKcWAVlZox+Yy4CK+aSYsRCYpVdYaGUVVhYSik+y5pZGkKdn11QviyY6wCEcCc1u9IjAiljilSqZpRlJWFwe/9kQMjklH5blKhKn1PEo1ImL07A7Vf5/qdEEaELbJGPiKBpnf+5BfFTtAJVFtKS/rMMIQxGlElw/S4UYzIdL0auDdyIKJzVu25Hs+3m+4udeOA/X/1TMM4J87ui4keQt44UEYk64Z3gJiaYcwXHRszjZqxM2qUWNXkM+JCHkeLnV6gO3UYTAzNwjQi8hwwDCNSSPluLblGxDIiJYGplwiLttlk03V9wyUARGU//DktxRS4TRnmNJNavAM5aEQSeIgwDFM1Y8SIkB2Xyo2xWavyXh5APyUBJKyaUZXvaiaLWrXCFyHdJKRifsLGi4mbaVSjRWqDLwcH7B751yhErMp3l9pTEaANRPbHD3IrMcSqjBli15g3vROcePMSq/aPU634KaJpUr4b9fyyax7GiKQuVpWYjKV2j4u5TRiRBrneOvSE8l0xNZOmWLWI8t0k56trbjgqGM2zDgG3CI+onGEROmdEpNQMm3xSqZrpxttFmfabGWZ3lnXVzHCpmeRVMybsEN1x6Uqr6XmvXzHY7Yc1vZOcI5uK8t2eiXCU33tNmoQHtX6gFNY910SsGmWkRq8Ruzc797ex0O7yIIVfI00gQsXgpiwGPRZFEraNMwhGjEj/O81IjEiHOPHmlZpRiZKnG75YNer7dHWMSIZeQvK8tdTxLd5jNb2L2X13UdMVebqevN8Mmx7zLd9ljG18RsTEQr+MGLtAxJTWlxmRnivuDOopaijiOqCauquaNnlTIc3vp0KShncMyVIz5uyQimqX3ycEIgYakUDTO0Weu2dgw+ynSTQaEUVvnLDuuSblh5HOqqSrKb037B43SMdiXdVML6bFOxCdmonDtjEGwETzxUTi7LrQoDIPRoSK2uVqGfa3iVjVdT1egi6nwxzH4cFI2owIe6bYs9BPzZhXzfDUqamz6uDZb2k2FcN04O3F0DWlhSRVPux6WI1IScBKeMNSM57nN6Fj0WfPdQX2gy3UaVq8Gwcipj1HSlw1k6ThHQNjtXYvdMwNqGKwQyrLbvkasvOuEgF0eCAiUuAqwZ0JI+I766oZERZsyL4S/feEpGZCq2b0O0bPIyZejYqQ+qSsV03ytVCJVeNO6ro0axJGhK1/ZqkZUYfDDc2IpqiZJSNSDbIggNh3xkSsSuczVQDA71lGYlUmJF4iVTMmPiK0vF6HMI2IrMWL6qUUhiLKd7mhWdfVVs/J6MbQ4JQRYxeImFRcUHtgdtN7nk8dVxx/skzH4j2elsOcEUleSpiXRiROwzsGuvCzMs0oJEnNCBoRDSOyeqbBJ8ZQi3fJOVLlI2JSShvlrLugYNfCqmb81Iz2kKE7sHbP5UzGVL1KuiO3hECkKo0nlVg1dmqGHIsiSZDLfTfiiFXrklg1J0ZE1WuG/nuqXjUSq4pmdsHfZ9Vvhs1LawbPsWDxbqQRCaY1ZdBz7rlevwKOMyLiMXzGL76zKmeUCnBW7X8vw0DEakTKBROxKh3g7OHukh1bteLEyilHIW4KxVQjEocFkJG9j0hyjUijVsHsVE34nCgkEqv2PO01ZCmltcsaRkGb7Bypsng3EY5G3Xt11UxN+x6jqhki2Jbz8rSEXK6a4aZiy/1rFOYjEnd3GZWaidvDiJ5fGGQDQspu5VI1E6ERmWmYiVVpMKhaSE1N0eJiiTMi/XRdq+PyQN1EwxDXWRXo3zPfr0njI5Kg14zffTd/jQgAodtzGGzTu5KB7ZLufnw3XviX1+DFl12Pm3/5tPAaSvmpxKoVxwk8pDc+uAOv/sTN+NmTe2OfU9zJi0XEl131AF74l9fgzZ+/LfBQuq7n61yGYkT8z/3Y9x7AWxTHYvjSDzbj3E/9AHsW1MHBlff+Cqf+9bV44V9egyd3LwJIlpqh7zPVicRhh9hEt9Tpaa8hOz7d7VNh7675Ns791A/w5R9uBoBADlxZNeNFTxZs4fnA13+CF/7lNXjnP98l0LNMxCr2Hukf66Ed+/iYv+Wh/pg3qpoJKRtmE2Hf3MtPzdzzxB78+ZX3ARhco6oYrCkNzQzOhYIe64V/eQ3/c83Pt/d/v9ycbYvTa2ZBZkSoAV6BjAjtLaQSq978y6fx6k/cjJ8+uQeAuFgrA5GUNiN/+70H8ebP38bFlewaMWZzvt3lzEIcRsS01wzQD8I58yxrRDhjOESvmRzX90a1wo+n0n2p0I3Ry6eMGLtA5FkHzWKmUUXP9bBrvo1f7VnEt3/6lPAatkutOP5D3xerYvBzh0fAbMBffd82PLBtH77/822xzymuluN5B6/k79s138aPNu/CL7fvE15DI+W0fESuuPNJ3KE4FsN/3vMkfvrkXtz+6C7l76+89ylsn/Mp+wNXNLFh0CgtLlYMxI/7W/FSMyYl0myHu28p2ECO4fmbVsNxgBccukqZj7/78d346ZN7ccWdWwCQOn5JrEonUyZWDVuIjx/c+/l2/95//+fb8TSpAOOtzklQe8S65VjWqML1wMf8d3/WH6cmVTONml82vL8lTtZymuLYA2exbPB8sQX7BZtWRTMiCcSq9Fi7BpqUXfNtdHoeahUHx29cYfQ5gE9Zm1TBtSSzQ7+KwxsqHWqKdcsbWD/bxLMPmhUW7ucdvBKOAzxnwwplWuWq+7bigW37cN0vdgAQgy4VIxa3EaAOX7trC360eRfuf2oOgD/frV7Wf4bpc2ayUJoYmsnBE03hyvdm2aAUn56HKbyYYzYNOI4Tu/EdqxiS2aBRQbwmICOAdcubuO2SM7F9bgnf/ulW/P11DwV0BmyAN0jjMCpW7admREaEBS+mmgWKuA6oF774CJx13IFY7PTw21+8A9vnWoEHjw7QZBqR4OLKFk3dToT9fE5zDdjv//jVx+Ks4w7EwaumEz8YbGEzzZHG6YrKqhLmlvST1ylHrME9/98rsWqmjkeengcgTn7ytZCdI9nfNNAzYUT++Oxj8eaTN6HTc/Hav78FnZ4nfEZHkWtfs6yBWwdj/qs/2oIv/XAzPx9TE7EV03U8s7+FvQsd3lMGCJaer13e5McC+gHKpjUzuPWRZwbHc4Xvyr87Sc2YGprJx6JYt7yZqHzXZPfvm9OJQWXP9XigNmUQ8CZFs1bFDR84I7Bo/9HZx+KdLz0Sq2Ya2LZ3iZ8TQ7vLhMLu4O8oRiQdsWpHmhv91MygXxB5zuomVTMGFu+ypw9t6SHPAayiSzdvhaGI7rtA/7laaPeMS473DljqVYPvOmoYu0AE6A+8ldN1HLO+v7PfsyAFImTR4IGIR1MzZLcweBbYYiB/lgkWExiPbVozI7ynKwUHbIDSYCoOVLQsO4ZuYmLXQBeMsQlp0+oZPOvA2djnRFFTLORh4CXSRoxI/7uzialRVV/D1YOFjqexesFAZM/gM2TnSLaI0KCOizVDFmLHcXDEumWD86yg0+sJ14BTsNL5sjF/0Eq1n0fURLpqZhCISPdWVXrOjkUhV2D0evpAJM7mUnWsJIgjVvUrPAZBJVnY2JjJMjUD+Lt4Csdx+OLOGREvODbYeKHie5XGIS0dHJ8XBnMjm++YRT9l2eIxIvpFWJ4Xdi/4z7Kc/mFalSSbSLom5AmfETEMRAbfbeXMaAYisVIzl156KV70ohdhdnYW69evxxve8AY8+OCDWZ3b0GATmDwA2eLQrFVIrlWksXlvClfcZeTBiFDUqj4trPxMAwZA/bnBHDMz5dIyIi5bfNW6jTitvqPAPsPUcC2OjT7b4c4tMb+I8GuoDtr6/15o9wZt4yVGRLHb7BoGBQycFSLXwL/G6nNmAQG7h6YshP+siPfWNBUhV82oGJEoZ9ksEUcP4et9REYEMB8zWYPdT8/zAw42NthcEVUunpZYtSPNjS2JEaFzVzyLd7OKIABct6Zq8cDG9p5EjEj/7zxTM4A/vkwZEfbdRpURifU03XTTTbjoootw++2345prrkGn08GrXvUqzM/PZ3V+Q0FHybHUTL1a4YtCz3WFQETOn7KHIslgXtKUlZnAz71LjEhM23gZoYyIZgKIZES4cnv4SdpfUOMxIibXozEIVti4iFpkVUEbvR97FzsB50j2N72WrkFqhkKV3ulIaYPge8TjGjMimqDdVJzJx6l0XIYeMdfKe1IH4ukh5FJTGljnxYhEQWha54kbCJkZ0QYiVfPgLAwyW7woiVX9c3aMqk+aCapmGCOiui+ryDoQVw9TRPddwNzCAeiPaTYu02APi0Cs1MzVV18t/P/yyy/H+vXrcffdd+OlL31pqieWBhglJwcPVCPiV4+I5k/cR8Rju41wfUQYfPYiuQOqHBwMw7IAwaoZ1/XFhDoWohORnpJz68PAX1DNGJFWDBt9npoZ5K6jghdV1QwNkPYsdAJVMzw1o2AzjBkRRXrHt3LWMCJsvEhajahiBb5rXEgWiAQYEYVYNW7VTJqgKdgodKVSU8dx0KhW0O65fMxkKVY1gdC0zvVQr/pjg43NKDYsTrpKB8/z+HFljchqKU1gOi/Qbsc66BgR1X1hwnfXA/a1urEW616CdGIaYGtFyyAQ2dfq8rl7xSQEIjL27u2Xsq5Zs0b7mlarhVbLV/3Pzc0Nc8hYYANuod0v05S9HQSNiOvyqhnKiMhtzXWlq2HgVTMJ2AvVYgQM1/AOCDIiHc0iSxGVnopKG8QBZ0QMJ0lVMzgd2Dhguevo3T5z2e1P2pWKIwRIexc7AedIFih4Xn8MVSuOkVhVdVyVSFY3qcsiX5cE12FYqcmj6zqaBo4r7a6V3Xf5whj6UZlAfp7DoBIEN2r9QISLVUvEiLgyI8KFyhGMSAqmhnRsspSt7KzKYCJUBUhqJhYj0j+26lmeqlcxVa9gqeNibrETKxApKjUThxHxmd1K4eMyKRKvGK7r4v3vfz9e/OIX4/jjj9e+7tJLL8XKlSv5n02bNiU9ZGzMTtV5JEsnWM6IVCuE+RD7CshVM1QZHncHwfPsSRgRjbLdXyCSMiJi1YwgiEycmlELKROdX0xGhFV3mFwPlvNna2XUe+hEzhkycj/2LrYDdD4NFLhewzAoYFCxQlEOlXWZETENRDR5dNOAV2bY5DHUT83E+/5pIo5Tstw3iP6bjZmiNSJ0Te9Kz7AsVM40ECH3eW6xM2gJ0L9+K6ZrApNgzoj0X2fSa4Z1yWapGd190TF+UeBjNufbzaoNTcp32XdaNZ3Ms6kMSHx5L7roItx333346le/Gvq6Sy65BHv37uV/tmzZkvSQsVGtOJgdDFS6eLIdT71W4Q8HNTTri1X9lA1AlOgesD+mVfDSEHoOPSMSbH4WB7KPiKoyQ4Zcpicjjo1zFHQpKR2SMCIMUdeQBlZsjFDWaO9iJ+AcSVkhvlDEFGuqhMpy2iD4HokRMfARAfQaEVMPHLkUVE6BuJ7nN+ArIDUTp6WBr3XyzzM4ZordedJ0CxerumL5fZRYVU4/J0FH0krRlgYzjZqw+TKdF2j3XV2vFTbOljX7nx+WmgH8RTpusYFbUPA8beiuDZCKmRFNywAJUzPvfe978e1vfxs333wzDjnkkNDXNptNNJvx+42khVUzDcwtdYVqAMaINAkj0tWIVfnCQ3fACx2smDK/6cNYsevKWIdpeAcEJ2az1IyZRiSNqhlVxUgY4hhNyakj04oQgO4+qctqJ+AcSRcx9tq4YlWVUFmVNhDfw8YLO+bgO5imZhJqROTxJC/43V58i/c0EWf372ud/Gscd8xkDdWY7EibiiixqpxOS4KupJWiC+dUrYLpRpXPVaYt6ilj2XU95XzC7uPyZg3b4Zso6u6Lz/jFS62bMoppg1VDmli8s+80qqW7QExGxPM8vPe978U3vvENXH/99TjiiCOyOq/UoCrhZTsGvVg1WNomawJM0S/t7H9Gkl1UXbEYAaTldUoaETE1E1z8PSI2nFtSp6dSrZqJyYjEsd6Ou7sVGBFWIkm+/zPE+ZRN7nTy5+WUMcWaKlYoysq5Li0u/jHDj6XbMZq2J5DHk7zgu55nzM5kgTi7f1UZetkYEcfxLQZkRoT9nYdYVZ4X2cJZrzqoVSuCvUBcRgTQWwmwe8RSM3tCqmYAvQYqCkVrREws3ieOEbnooovwb//2b7jyyisxOzuLbdv6NtIrV67E9PR0xLuLAa+cWQhqROpVRyzfpakZyeynK1HxpqCGNMl8RESqnWFoRqTqf+/+55NdtyrIIMf3vL5dshyBp8mIxK2aicM6DceIiIJAANhJAhGm6XEcB/Wq03dGlfQapqWAyqoZtkhGVM3ETc2s0OwYlwyF1jIjIotVu67ffTfPBmIMqhJsHVQBdaNkjAjQv6duzyOVfSIzEhX4VmKwRDrQuWLPos+IsJQMHTdxq2aA/lw9o5A+cEZk0Bxzz2K2GpEUss2xwA3NQgS7DL5GZHQDkViX97Of/Sz27t2LM844Axs2bOB/rrjiiqzOb2isUDAibcKIVDVi1YrEiNAUQZzBzFIGjuPXx8eBzwyoq2aSTogBRkThJ0IhMzKqYCxNjUicqpm+QM6cEZHvQ9Q1dBx9FRUAPLPfX7zpZOunSczEgzJUQuVIH5GKGMDFFavKqZlFw9Jzen08zwswWf2qmcFrR0SsWgthRJI8y2lD1nnJPiJRHVnj6GZ0oHNFu+v6AcEgAKHjxrRqpu83MvhMHSPCNCKDztPsO+h0eKs0nlJRKKL7LuDPSSYakVH3EAFiMiI64VCZsUoRCVNDM5VYVVU1MywjMlWrJhrMdSlgYBhGdwIEF0lVZQaFzMjsWWzjUMyIr0mxaiYOI9LuuZxCNSmRlhcVk2tYrTjouZ7SfZYyIvS716oO0CHiwdhiVQUjIpUJB98jiUYNj8mYw7mlLi83BkjVTCQjQgy2XFEP4nqD1AxJfeaNOIuuqgydMiLNWqUQwa2MQPpY0opEMiJpiFWleWH7oAcOe6amEzAizLel1XW1pma8amZKXMJ0va2SMiJFpWbY9TOxeOeMyKRoREYRKo0IZUR0YtVg1UwyjYhpjl2HKIv31HxEqHunQiAqBwRhjEgqPiKalJQKQgNAgxJp+fxMrqHcb4YGa4wRkZ0j63JQEFMjodLJcNZJm5oRg5e4Fu+A2KTMZ0QiNCJkkemSoJ4FfYJYtQiNSKyqmWBATcdMUjfjtKHTeclsmJYRiZGu0kFmSreRZoiAOO/FYUpZ4KcLRNh3Xi715NEyIgk1Il5BAmt2/Ux8RMZBIzL2gYhqAHaIj4hv/QxuaFZRWbwrjHtMsDhkwKBjBoYNRAK+DwoHUAqZkZF3FtRhMQ1nVd/MK5oRYdeiWnGM9ClBRiT6GsruqvS8mFhV/t6+uVgyRkQlVI5OzcjpoP7Poxb/erWCZQ1WCunfWy6KNtSI9I/pEeaGmcFRQ7P8A5FqIrGqaGjGULRQlSHYhoKNTTHw1e3m46SrdJDnChaIsGeKXivTqhkgut+MLFZl0N0bVYreBJwRyTkSYd/DyEeEV81MoI/IqCCKERG67xLnR53FOxAvzzislkOnlUhbIyJ4VSjSIbJ6XX6gaaBimgsOg9wzJQy0AaBJ+ksOVmIxIorrxbwT5O8tV70kF6uSe+MGF0nVewIW7wbHVD0r5j4iIiPCFkempei6xfaa4bt/g/GkCvbo9S6DUBUI2tbrUjNZGprJ84KfmulfI2oWGGeDUo9gRGSxKoOOeWYur3F7hRVWvhuj++7exb6vlWVESoyVg7JEas3OA5GqL1alk2ffR6T/WlXVTJw8Y1rVLXJwEKftvfJzZfFlRNWMHBAEAhHaYTMNRkSTklJh0XDXztCsiq8z04iIaRZVsBZgROSgIKGhmXBvpM6wMupS8OLGOOZKxWTNx1lUIEIm6i4pWWcUu6DBKnv5rqJqhopTyxaIBMSqpqmZlC3egQhGJE5qRmrHETyu6KzKoC3fTShWLcr7ZipOamawtk1M1cwoQsmIsB1srcJz267rhVu8Sw6CphhWIyLrDPjnds1y9zoEFtYhq2bo9UknNRNMS+jA2CGdUE1GvSaen8nCEjSAC07ecg5c7vuSPDUT1IhoGRHJ0MxX/Ucfb+V00IXYlHmrVHxfCypWZQtKzyvW0KwmpTHCEGbxDhRv784Q9DoSn+V8xKoSIzLXT1Myt2JBIxLjxrPrrWJEaINOORDRtWvwixbiGZoVxeLFEatajcgIQKkR0TAiaov34RiRpZi7dRmyzoAhTtt75edKVLXgI2JQNSOXedLrk05qxtzQLO61kD0hTN4XFAYGJ0g5Bx5IzSQUq6os3rVN73jX3wEjEuOY3NSMTNZxtEi0SZ9SrBozEEsTFUVQp4Ou6R1DaTQikthUtniPcvJNRawqPZ9b9y4C8K/RtJCaicOI9N+nMjSjgdOymIzIfLunNUlToTCLd0NGpNNzMd9mTQZtIFJaUEaEKaB507taRRB86SzeqRCTfZYplgx9GHTQOYwyo5uknxvqrKqsmpHEqpJgly3MFScd6l3XY0cFzg4Z7lSrxKcAMLuGsgGcKkAKMCI8KEgoVpXScp7n+YukJtirV9WMSFKNSBxGjz4z7LhUrFpUKSQQU6waUTVTmtSMI85RAYv3CH1DKmJVaa6QGTQxNRNDrBrCiNDznW3KGpFwsSoQb/7uFZyaaUWIVel3mY3RdqRsGPtAhEWJnZ6HhUHkyB5YWjXTo025HEegPeVdVJyBPKyWQ2fxPkwjPSB+1Yxc0htMzQR3kcNA13VYhaUYDe8A36eAIRYjorB4ZwhWzQwpVpWEynQC1vqI8JSiSGGbBIcqF+I4VV81EtwGGBEp9Zk3aAo2CqNSNVNRBH6AuSYpHbGq+r1KsWoMpjRMI0LnBFNGpFpxMDsVTD1GwYvx/KQJ3vQughFhz+qKqVohTGNaGPtAZLpe5ZM2G4DU4p0+jKLFO/t5cGHe3+oa03vDMhc60eawhmahPiKq8l2ZEQmkZljlSDoPQzJGxPwaNwTxYfQ1DBP3MgSrZkRGgy8MhjtDWahMJ2Bt0zvy8w71xjFY/FUljnGqs6qENVKJVYs0NKMp2CioqmboeGmWRCNCx6TovmumSUojENGlTlWMSBztGO3AK4NWPplWzQDJTM2KSs2w9SJKI8L1ISOclgEmIBBxHIdUzvRvWounZqoinUzFqoQRURl8maqvff1CUrGqumpmadhqnIBlOXXvjDY0k79/VFfY2OcXSyMSv5S5EZNqrwWqZswZkYBew3BSk4XKdFKOqpph5xinUkXWU3meF6vqi16jMLFqETs32XMjDLxEWtNrpjSMCEk3if2IDBmRFMSqOjG5b2gW3+Id8Md+S5GaoceUxaph45S7B8dJzRQUPE8N1ovFTi/U0Zx1lWf6rlHF2AciQLAagHbfpXlWOuho0zu66LCBb0rvDa0RYWJVaQIdvixYXuSClRkU7Pi822XARyRYaTAMdCkpFZJci0bMckxZ2NdRlA/qNCIyo2E6H8tCZUEQHFE1w17vL0bRx/NbpYsBO2CWvqqR9BU7Lit77fVI6rPAQMSEEfF7JhFGpIwaEcqICM7IZoFvnOBMBzZvBAMCZvFOnVXjaERCGBEyT8vjMuzerNQ0dgxDcVUzVX58XQkzMB4VM8CEBCLMzIZFj9rUjMLi3fU8vpA4DsmjxwxEkle3BL0kAF/ENKzFu6oqSPXws+OvXd6/lgvtniAki7Iej4s4PiJ+ZUf8HVf/fUmqZvp/s+sBhFfNuMTQy/QayawQC34cR7/LpYFg3NQM21WxHaPQOdqgTDxMrFp0+a5c6hqGjqIyqV5CjQhlNTtukBHpRjEiMYIzHeR5gWFa1fQuBlvKrrdKrEp9XuQNXtg861eFlT81Q8fYUlsfiDCW36ZmRgByNQBbaJuSs6pLaGy6W+gQqjZuz4JhmQuVw2jP9XiUPGxqxvcRoakZBSMyOP7qmQavOFGVRKfhIUI/J47Fe5wFIjYjIol72fddt7zpv0Zn8e66Av1tnJqRbeV7/jjUgXYKjpuakXPoTB9SrzpGKTf/ngXFqj03fmoqTcilrjr0SMCoS82UxUekomFEuFDZMBAZihEZvJc+B4AfgFCRfhwfkaYBI8JaOtDvFxYwr5iOt4kESCCS8y2vk0IKpoFTwTIiIwS5Ay9bxOnNltuU0/wrbQuua5euQxYW73SnOjwjwhbWCEbE9dNZs4r0VJT1eFzIPVPCkEQvMzQjMvh77TLCiEjfnTIidAE0F6uKrJAqZaB8H0npxLF4l4PsxZhpRZXeii3gPcLO5N1SHTAXqwo6HA0jUpbUTE0TiAD94DdXRmSZyIhMKRiROPqxMIt3nxHpN5mkwUcoI5Kg8R2tpMwb3EukrQ9EeOddG4iUH3I1APURobX0osW7XzXjezc4Pr0XkxFJ3JxOIValJV3NhM6qcmlptxdMs1D4JY1OINUFRFuPx0WVLKZRGFYjYnIN2fWSq2bWzRJGRPrutPLHTcKISPde1RVW/T4iGo3hXcKek8VOD61uzw/wDNOK1A2Xp2Zq/nVjt7LMYlWhZxJZOJtVs8UuTwhiVYk5FPVBGYpVB/PCsmZNYIpYcECvVSwfEV6+Gzw3tnliAT09RljQHHcTCdDuu/mPWROb9znLiIwO5NQMZURqil2cbPHuCzErPr1nzIikZPFOHkj2mc1aJbHwL6ARUfgQUPiBRkVpfOXv1lNiRKrmu7UkrBMzTDK9hsG+HgNKmuwEgxbvfkBAv0dssaqkS4linWjwGkcgOtuscf3G3sVO7BLxaoUGHTIjUnD5ruHunwbkgqEZaQuQVHieNnRiVWCgS8pDrEqCY1q5wTUigsV7+owI4Ld2aEQ8y6sSdOD1dYPGb0kNJjbvLM00yq6qwIQEIrLAVOWsSifPakV0HaSUeFx6L4l+gYLqDAKfOcTOTNaIRFm8+6kXR2l8lXbVTKzy3QRi1YZixxZ6Pppy57UkNy5/d8po0Mk+vlhV1KVEp2b8lE4cgWil4vjs4UIn9thVGZo1FeW7RVbNRIlV6dinTEKDNEosCyNC5y6ZOcwvNeNvQOiuXG3xnoARUQUiPfF7sfsRNU7lqjAT+L2aCkzNhAQiViMyQpA7Lwq9ZhRiVbn7rooNMC0BG1YjomZEhjNJAxR9KiIt3v1roDK+oumrNKDrsaNCK0lqZnBd4+of5KoZQawqBRh+akbUiJheIlmorOoKG/o+kiIxTQdRtiuu9oY/S72gWNV1EUuvkjZMzbtoQE0Xn7gGeHlAYESk72XS2ycNRoQ2CKSVG2zMCD4iaRmaSc/BlKLBngorE2hEiirfBcxs3lkTv5XWR6T8kHfwWkZEY2gmsAEx20kP7/cRXJDjtr1Xfq7MiERZvFNWSJGeSj81I/qchCHJ9WCfb8yISL1m2P2gZYtai3caEFQc492VLFRWdYUNO9dOj4xpw+iH3tu4QTQdU64kVu26bqGTOvULCoOuDF3svlsORkQUq0qMSC8fRqRDggIqmFQFIrEs3kN6zcjfS8W+qDCcs6rxW1KDGSPSBTD6jEgt+iWjj2D5rj9J6sSqFQXtSenHvDQisqMn/cykQlUgWDUT6SNCdDJKjUjqqRlzRoQtmM0YDBHbcZlew6p0H9jf6wQfEfXi1SUBQRw2QBYqm7rX+hVHLhfbmR5XxXbFZkTIDp2JVV0vui19lqgYMiK69Ffccu88IDqrSoyISfluDG8VHQRGRAhEgixF6ozI4PNUQY8KTGQ/N2iAarIhcAsMnpsRGhHP83xnVasRKT98i3fJ0KxWEVIJLLoPMCIk7aBahMMwrJ5DZfEet+29CkHLcjMfEd01iOoKGxdxyneTXI9GXEZEYwA33ahhZvAZAUaElN+y18e5PHJaTtUVVnmuCj8PY0ZkMFnvIWJVU+1NTZESov4bbFEpYnfJ71/EcNKVoZfR4p2mVuR0apeUbmu77xoGZ2EQmNKZoEakv9nD4DXxxaqtkE0Ru6emgQibt9o9N7KZHENcRjFNRDEii50ev/6jzohMSCDSv0n7Wl3BDKxRFVXWnUGAIjMiAhsQ21l1OD2HX8ZKGJEhG+nRz/Uty4lGJKR8t1ZVm7r5GpJ0GREjQzPW9C4GQ8R2XEk1IiyVVSeBWcBHhJSzsl1nnECN33vZ0Cyqaqbi7ybjlszSdgjxNSKKqpkaDUTCd+hZQmYAddCVoZeREaFjMuAj0vNZKd0zKadnk8APCioSI9K/Ro7j8H/HmRs4I6JIzfhpTsa6BCt0VFjWqPJzMN1IegWmZtj3WtJoRBgrX686fDM0qpioQMTzgF3zvsiUilUBv6yX+oi4nhj1UzYgrBlR/3je0HqOOsmxMyylwohIQkihaiYsNeOQ9BTxEZHo0mFBdQ5R1znJ9YitEZGqq7hdO0lVBX1EfEYkSfMsWaxqWjVD3xfXzdS3wW6nUjWjYkSKqECoxNSI6MzpgPIxIqqqma7r5iRW9fVzK2f8NCUN1tj1imXxzsp3lXORGGAxxi7qvvQboMZjtNmlKUJgPc0DETUjQitminim0sREBCKNWoVHjE/vawk/F1IzpKcM+7FLdht9i/f+w9buutpI1f88f0JO3PROYfEe199BhbBeM+GpmQpPdSkZkZSdVek56jCMoZm5R4Z/H2T3TR6IhDS9izKXUoEyGwBJG0SwKjUSvMZNzYhVM/HEqqq+TSIjMgj0C5g05dSaDnyHH6oRKce0qRLUM3QMmgz6GpPk50B1S2zsyBs8zojE2KQ0wzQiErNmmpoB/MoZU41fkeW7UT4ivM/MiKdlgAkRqwL9aoCFdg/f+PGT/Gf1qgP6/La7/u5RsHgnk9OyRhXVioOe62HvYid0R017BEw1kk1e8mIEJLM0D3yuZBhGUzNhTe/qAivUJb9ni2S6jAg7x1q1Pync8tDTeMGm1UKp4FKCBoBsxxW3IqRH/BkAsf9QwEeE6HC4WDVGaiZwj4x9RIJVM6ZrALuuD2zbh50D9jBJ1Qw7Z7qAM21WETS3uVhVnc4oc/fdrooR6bk8DaVNzUiVYBR7Fzq47oHtgc+tOA5eduwBWD87NTg2NTTrjx05UGP/T2Jo9tSeJVxx5xOYnarjzOPWo1mrKhgRs6oZIFi4IGO+1cWPNu/Crx+9VrjnhaRmGuEW7+PiIQJMUCCyZnkDT+1dwj/cshnAgA2pVgRasqNIzfRpTz/qZ/Tervk29iy2cdDKKe0xWcrAccSJLA5UDqPDlgQD4sIKGFi8k9SLX49PUzMpMyISpT9Vr+LaX2zHu/7lbvzmizbhsjedAKCf/mIBXzPGTnXZ4CGfbZo9ArRqpisxImuW9b1E5PtBK3+oWZ4pfLGqqBGJrJohjEgci3fA7xnywLZ9eGDbPgDA7JTpNRqMKWLgJt9HoBjhnzEjoknNMEa1Ua0MVa2WJgSxqqJqJlKsGpKu+uvv/gJX3LVF+b6XH3sAvnzhKf3jkOu1ZjB2ZqfEhXH54P9xUqfLBs/l5mfm8cH//BkA4C/fcDx++9cOC7CLywevXW4wTqNs3j9/0yP4++sfxl++4Xj81imH8p8X4iNSCxerjou9OzBBgcgHXnUs/u2OJzhlfOZxBwIQJ0Vf1S9ZvDM2QIrAw4xmAKDVZWWllcTUnsphtE0+NynkctSOkJoJt3hn378zME2qVBwhV5wG6C6Offa2vUv9v+eWyHn5eo045bvnnXQIts4t4bdPO8zsfKrBwJSd54UvPhwA8MYXHCy9x793sgmT0TEloXLXFcdh1LkK2hTDxf/FR6/D//i1Q/m1np2qB75X1PlSRqRWdeA4fX0WF6sWMKn7moMIRkSTmlm7vIk/OvvYQffpcuTjBbGq9MzS4DdKrKoKRLYOnrHnblyBDYPN1s75Nn78xB5sm/PT25Sle+7GFXjXy47E8w5eKXzWH77yWbj+gR34tSPXGH+3XztyDX771w7D1r2LeHD7PmzZtYjtgzEpp8/exJ7lX4t+lvncrelou3VwjO17l4Sy5iKCZ7axUnmpAD7jXhan32EwMYHIGceuxxnHrlf+jqVa2rRqhuwWZCGm35ApPBCh1TlJwRYdajhGDdmSIiBWJZ/PBKJ0wqWBhkC391xMVaqC82oaoDt49t3Z96YPJr0HcQKzg1dN46/f+LzY59OvRvDpaMdx8KwDZ3HpecHPolUzfkBgfMiAUJmKpsNAGxq6EbtiGVP1Kv7qDebXhUJVNVOr9Evhu55HGJFEHz8UfMvw8LJNnaEZAFz08qPTP7EhQBmRgI+IQRAalq5i1+ndLzsKrztxIwDg9kd34je/cLtwDaluyXEcXHLOcYHPeumzDsBLn3VArO/WrFXxl284HkCfnfnCzY/yZ12umtkY41lm46ClWdzZMdokkAOKSc00QgS7AFkHimiEkzJG/xukAPZAq6pmem5QiMkHiGYwM/gBwzBajv6xPM9/ANl5NocYgGFiVfpzBpp6oQOfPdBpV804jhOoGuGTRDcYlAHZPpCCRsQ0IFBUzSQzNBMrm6JTM8EAKA8WQuWsWiXsImUc84bp5sHUvbYMEHRsiqqZqNLtaohYVbXZUV1DU93SMJDn26iyZKPPiljc213fCRgoyNAspN8O4M+9w2xIy4LR/wYpgD2QQmpGYWjGdrhhDZko0kih0Ae8Iy3EqTAikmU5g6p3BXsfnaT55EA6GqeFmmRqxh48Oomw49eI90sWUAkDo6pXlAFBClUz0YZmJAAa3MY8qGXav6hLduOyF04hgYjh5qGT4D4VBVUqjKEf/CYXq3I2lwYiimuYdmsHFWQWI8mzJH+Wbhywn7e6rpCaKWI8mJ6rDUTGBOxB9VMzIm0pCzGj6D0G1cMcF3SxY5NNGgOQ+qS4yoksuMMC+oGG4ziB3VHaTe8AonUIS83k9DAKfT0M2R/aBdevmjG/PrJQ2dS9lqeEelSsanzYxBAYEZqaUTCOeSNqd8mQRUCdFUJTM67rB6EJxKp8E0Wug+oamuqWhoG8IA/FiEQt7mSzRwORImRBUSyen/offY1I+Z+2HFBR7NjY8ycwIkwjEkHvMaSRwxPKWAfHa/VS+Fzq06GidhVOjfR8mgG6NN2qGSBoca7WiPTz1VkHIlTc2zFMkah8ROKwAbJQOW7TO5oiyYOFoO6l1Bo7mJrJ/FQCMGUxuxkE1FlBdFaVxao+IxJlaBYWiChTM+QamvY/GgbyfNsdIqCNGgeUdaVEUTEsHhPWWkZkIiBPlLJYVRZixk3NpJFC6Z+fzIgMYfFOFjO5EgQQxbEAWQQ11yBtHxGAVo2wyaEfdNAHs5VCsBfnXHpuMFWnA2U05EZdJpCFyqY6HD81kywllBSCsypZ0Hnqk/uIlFcjknYZepYQGBFFKjXq3icORIS+VDloRCShcVQ1UBiaxhqRnlg1U+SYtYHIZIBTx6RqhpbvaqtmIgKRNMREjuME9BxpBziq8j+VLwGgvwZZ7Iz8qhGJEVFoRLJnRIKlkpGMCEnNxLVap5/PhMqmlUl1ssAkOW5SVImmh3pYlEkjwkrOdUi7DD1LZCpWDdGI0GtIXaezgi41E8ccUPdZMijrKgYisQ81NEzPtSy+NsNg9L9BCmAPZLvn79i4WNUN5o1NSwHTKN8FgtUTaWpEgL5lciDwCKRm1DoZxlLQXjRpgaY2gII1IkTYZ15G658/u56xxKqSUNnvDBu/WicPsarcjwcQg/oiNSJyybkOHcNgrwxQ6ZYYjFIzIWJVFdOouoZ5VM00JSZmGEbEWCNCuhc7TjEW75EVPimtL2XA6H+DFKAqL3TIbkMWYkbRewxpLZJ1qXoijQFId8hd1w2kYoKpGalyiLXpllIzqYpVpZ20snw3p4eR9pox3QXWCKPjJhGrSkLlRNqUwfqUDyMSrBKqkTQnQxHmUKaBiKkQuQwQBPUqi/eIe88ZEcXlCEvNAESvYRgcD4NA+S4L6hMck89bMcp3i2DwAJuamTjI1HG1IuZPZSo+T41I/7hi9UQalFyl4nC6keoeGAKMCJ+g1dfAdJGMA9nQKyw1kzU9SXefOvfNwHuIxTsvZ03gIwKIrEqkNoUIa+NavA8DFSNSqTiB61SkORQQ/tzKWqgyQ/Q6CqZSk3bf9TwvNDUDBIOCLBkkea6JKksO/6yq8FkyVKmZIpyAAesjMnHggQgR0ymrZmL7iKRT0UHFh/S4Q3+uUAkSUb4rUbC6vG02qRnRR4QudPlpRPxrZdzzhWomEuy0ZaGysTZF0eMmTx8RQShJ0pz8dQVM7I7jGHmJmKbdygCxEaPEaPb8n0UFIgF9mEvaJpDSUNU1zMXQTLJL6A4RXJumZvo+Iv2fFeXob16+O/rL+Oh/gxTABjSj6wIW79LCU4+g9xjScEAFqC+EmKJIi2mhrA+DztCMLa51KT2VRW5dNvRSaUPSuhZRqNNrJfUe0sFnstxEZbSyUNl0kaRlz3nu6tjY6Lmib4q8YBTVq8VkA0H9csqOChGbqize2SMdyYhIYlXBrVh6rvQbkAwZEWmuGUYjwp7jSEaEePAUlpqJCJzZRrduGZHxABerKqpm6CJd17ABOqSXmlGnKIaNhEUfAnkiU2tGuI+Ipnw3zZ2RbOilSsnkVb5Ld4+mZbR1zkx4iTU0lBUyTRtwbQ3tcZPDXErHk0qsKr8ub5iU8I6SjwgVUKue16SMiFEgEtiAZM+IpFE1IwtfZahSM0UNBWONyAgEzVEY/W+QAmTaWmfxzh62+L1m0mEuOlKKYvjUDK0E6X/mVN2vuKDQmrpJhmZZWLyrGJHWoFqnEGdVQ/dN36LeTSRWBUShclwfEaGMNg+NCGGNQsWqRU3ssVIz5Z8aVY052fPbJfb+UWJVuWhG1XOLQScczZQRCWhEsqmaodqYNknNFCGuBsSgz/O8wO85424ZkfGAPKCrFUepSI8rVk3DARUQtQb946ajPRF0D4OnjrXJDvqKiKmXPC3e5bJl+u80zN1MoNSIGKZmOrT3SkyalwqVkzS9y1OsSqvP6CQeEKsWPLGHtWbIogw9K6gac/Lntxd973WGZmE77aBeI3uNiMxiRDE9YWBupaq5W2BcE7ohp4moSi9bNTNmUDIiJH8qCzGj6D2G1BkRlppJy5+EaE96ciCirZrRiVXTZ0QCVTOK1Exegi111UxUQEAYkYRloVSobFo1o+pxk8dkyns2kftUdVSMSHk1Iqb9fMoAaqnPxgZ7fmnwG52aEZ/1MMaVXkNPsDbIUiMiBg+pMCIhCzv7t1d0aiai0mucApFa0SdQBshrQ1CsqmED8taISMzAsJQcm4iWOr4x21RjMJFpqma4qZvORyTNqhnZR0ThH5K7s2ov2HtIhxoJZpO6ilKhslxCrT0u8RGJEiymCcYa0ftUrSo0IkWL/0I1Itnv8NMCdUZlqT/2/PZ6Mcp3PQ0jogpEyDWkTEqmPiIaPVoiH5GQuVsORNjXK0zTZBqIjEAaMQqj/w1SgBzNUx8RQSOi0UfokJ6hmb+wdAntnRbTstTxv4efmlFrRLhORucjkuLOiDIK9Fj034X4iBh+VxowsIAt7qRGhcqmTe+oyDfPqhm5izU7rvydiyIbzKpmsjfoSguCWNUVUzNUrBrVfVcWuoaxjPQa0jki06Z3NT8t6kr6o9ifJW2gKMQeOn6RQlFVXpWK41f5qBicnCoG88Dof4MUIE+MosW7F0g7mDbQStviveN6wjGH14gEGRE+kWmqZnTXIFMfEVfBiORcvksrDEzdN+m1aA10PfEDEVXljZlIVvQRiXXYROBl8DQQqQR9RMqdmkk/oM4KKosBmlplcYJunFLGjiIsuKfXkM4ReVTNAP3nnT9/Q/WaCbbnkMcF26AVWUAVtum1hmZjhiAj4vCJW2XxbiJ6A9LbrVNmQCitS0kjskQeyimNRiTACmnLd7OomhlUC6k0IjnRk4LninEZrf97NqnFZSaoUNnU0ZUzIr1k1vJJoWREFGLVoqhuX9ul7xE1Sk3vfGdUIlZt+GLzKLFllFhVpfei15DOEVlWzYgBPWkfkOAehen7goFIf5wUFTgDZqkkm5oZE6jEqv5uIyjEzL18l+gE2GdWnOEXfZbTp5G/T4P6383zvMAupCldgyz8BOpE6+B5nnC9WVCS166AVs2YG4sFGZH4YlVfqGyuTRkEcK7ocJo1fEbEX+jVYtXMT0UJk+fW1L22DFCxdFOc0YxOYWgDkZ6+Ko9eww5PXWQbXMpaiaGqZkIWdnljWaZARD43Wmpsy3fHBPK8LlbNKDQipmLV1BxQ2cLiprrw1qTUTK1aCQhEAVEvojN1y8JhkaakZF+TYPlufhoR0wohh4wjP9hLqBHpxdGm+AFcrt13JddKx+kfN6ARKXVqZnQMzahYNZia8e99ZPluHLEq1YgYNn8cFoK1fM9NRSPienptDAN/ZgtcJXUyAGrDb1MzYwLZoc+4aiZCI+K7fg7ncUGp9jTLVWWNSL3iBASi7LgMAS8V2WEx1aoZkpKSJ42cy3dVLrQmE2FNYgniG5oRobKxNsUPXrjyPxdGRBwT7JhlC0TMfETKPzXSpnUBHxE3unSbznHUMCvMrZhewywq5XRQiWSTOKuGeXPIAepiGRgRDYsX5n47ihj9b5AC5OdNqJoh9fgBH5HcUjO++DBNAy9/kfTpaFkgCvhCVfoercNiqlUz/rnoHsS0zN2iIFbNmOtheF+ixFUzPitk7ujqp3PyNGXi46kjftdA07uCyyHDNhCj1PROCI6ZDxApv4/SUtBAmmZnTMt3uWYph/tJA5E0fETYZ1GUUyOiNmBLUytYBoz+N0gBqh2bT3sGu62GufNR+KKv4QZyTbEgN1KYKAOMSNUJCEQBKEVp7AHJ0mGRmnkFHkTZRyQvRoR0NTW5r+x6tAbXOLZYlTBUpmkDtcV7rMMmgqp5JP2bofBupmGMyAhVzdDNkt+iwRebRwWhNF1HdSJhKWVlaiaHhZBufLiPSIJApFZx+PgzD0RiHyY1NKR0JwO7R2loBcuA0f8GKUCZmmFVM0JqRtJHmJbvDu0jEkxRpKIRqYqBSK1SEQSiDOzfVJQm90HIYidJzby0jEhO5btsYRIYEYPFir2GMyJxxarUSM0wbUDvYZ4W73LVjC41U3jTuzHxERHEqgpn1SjmoKYLRAw1IlmkY3Xw55veUIwI1ZvIKTp5Pme/L4NYVZdGGoe0DGADEQAGYlVJiBnXWXVYVTP1kkhzAMpVM7WqI6QCGNi/adqF1uMLDosp7iSpmZdccpm3WLVKWKk47pt1zogkK9+lQmXTnLxQNZOjoVkg4KhqApFREKuOwC5TbEPBynf9TYupWBUQBat83jI0NMuDPRK0KUNUzdDPitSItMuQmlGP2by6jueF8fgWQ0LFiFRVYtW4VTOpiVXJgpxh1Uy9WhEEogyqhVegSgWHxTRTM34Aptu95OYjIlTNmO+aOeuUVKxKhMqmVTN1ft1crqzPpWpGfo40jEhRTpVNA42I7xFTfkYkytAsqvMyXWBNGRF6DU2dftMAnW+G8REB9Bo/bWqmwLEQJVbNutlnXog9e99888143eteh40bN8JxHHzzm9/M4LTyRVCs6nff7Zd5iYwAFWyp2jMzpFa+S+j5NCNhrhFhYlViKSyIVRXaBGoMRB0WU216R1NSmh1Bfj4i/nWJ477JvoMs4DQFFSqbBkA1xeRVBCPCnqHSiFVjpGZGgRERgmNJI0KFyrFTM4YakTzZo7SqZgD94t6SAlS2eShUI8KYIE2p8Th4iAAJApH5+XmceOKJ+PSnP53F+RSCMLEqECxNjWrPzH+XVtUMF2166WpEVD4iRCDKoNImqERr9DPTgGBtX7hGxP9eLPhJxIjETs3QlJBh0zuFw2mePiLyeQQNAzM/FSViWbyPkEak3xFarJoZSqxqUL5LjcVyrZoZ0kdE/iwKvcV7kamZ8KqZcdGIxO6+e8455+Ccc87J4lwKg0pMRx9S2b+BRqHtroumhh5LrekdX4zSLd9VVc1QgSiDSpsg7IxIeW+au12/+iPERyRnRgQQA7co1CRGJG5AQFkh3u8n4jP8VJ5/D/PpvhsM6IHgglEU1c1FiqGpmXxMutKA6G0z0IjUgwtX2L2vVhz0iLAVCGcZ6TXMs2qmqWREhgxEIlIzi6WomolIzYwAc2eC2IFIXLRaLbRaLf7/ubm5rA8ZGwHqWNExFAimZgD97opa8A7fE4YwIikOQNn3oVZxBIEogyoVoSqnq1edVPP/oVUzA/FqfhoR//Pp9YoCF6syi/eEPiLtrq/3iGREFLv5PLvvyudRFkOzulFqZvQYka7rd+RmgYhgs28SiHimqRk/0Mm1akalEck4EGmVQSOiO9cQG/5RRObf4tJLL8XKlSv5n02bNmV9yNiQc42Oo46C2QNXqTg+/a3ZXaXZJZdadjMDrzRyg7xqpktTM75AlEGlTaD0pmlX2LjwK0aiUzNZ50oFRqTri3ujwL7DUkKNCDvGIumQHOmsqrgPefqI8P/ryneLqpox6DXT6ZnpcMoAFtCxwBgApgapmaWOISNCuowzGFu8K6rpsoIw3wxbNaMt3xUr88qQmtE1ahy31Ezm3+KSSy7B3r17+Z8tW7ZkfcjYUIpVFYNPp5FQgf58+O67PgWbpUakn5oJVs34O5/g92+R1EzaOyPqh1F0aobuvvzUjIFGhAuCk1XNsPfTQCSy629hjIh4XlysGkjNZH4qSoyboZmqezZjROjPwpgDLoRPoBEpxEekO/zGx7h8twypmQkp3808NdNsNtFsNrM+zFCQqbdqRZ2aoQ90o1bBQrtnFIikl5pxU01FMJ8H7iNSqUDlI6LqraJOzaTMiPCgyKB8N+NApDJwZPQ88XpFgV0TxnzHt3gfMCJtl/wsqmpGEYgUoBHhYtVA991iZvawFvAMHTeohyor2PWmhXssEKE/C7vebO5TiVVVGyhaMWgqnk4DlMUYXiMSbZsOlMTiPbJ8dzwCkfH4FkMiIKaTqmYYqoqFWNdAq813Vs7QOUah6V2mPiKOIBBlUFXNqMp301bP+0GRwuK96wp9gPLYGaiuV+R7qsMtwvWqeEx6Htr3KAKkPLw7VM+R6udlNjQz7edTBqjmFVa+SxGlEQH6xo0MYayrKBo1E0+nAWWvmYTBonZxD3TfLUEgomNvcqoWzAuxGZH9+/fj4Ycf5v/fvHkz7r33XqxZswaHHnpoqieXF1Q+B/JDLgsxo2zeUw0YiIC0leIAlKtmapWKsmpGZd/Ojt9nCMw1E3GgCsAY2qSUmZ5PlqhWHHR6XqKqGf//cVMzokak3ysj/DMqFQcVx29klpdvh2xfTzVVFIX1monoEeW6frfiPEpSh0VAHFxxlItz2FepKp53c4v3ArrvEiO1pOPaD6ZE3YW8qeQakQLXel3H6HFjRGIHInfddRde/vKX8/9ffPHFAIALLrgAl19+eWonlicCqRkisvMV2uINN9WIpMlcpG3x7ueY/VwvFYgyqEoa6fHn2+aaiXjnR1JS3LCpgqVOX7RLH848Hsj++bj8epnsBGXWJC47xq7pYsxrXKtWAj1fsoaOEaHHrzjFOatGbR6ELtOjwIg4wcBPZsOqEYErF6sqLN5VjtCqgCBvQ7OsfUTYHFMKRiQiNaOy4R9FxA5EzjjjjFA30VFE0Oeg/3fVcdCDOuqPUuCnKSZSWryn4qwqfod6VdP0TiFGpcdfaHX7v88oNUO7Di9v1rHUaaHdFdM1eaRm2A6s3TWfgOXXxL1G7H4wRsS0QqFecdAe/DuvHZ2uuR0dN6WguTXPrNhlevQYkTrReDFEsQbUi4QhjHVVtXbIIzXTVBx32KoZ3eLO5phSBCIRpcbjwoiMx7cYEiqxav/n/s/ktIOuXwFDFl1ys2JE6P+pQJRBZeVcq1Y45csYkfRTM75ehX3v2al+7NymnYirlUI0EEZN7zRjy/yY/WsQp1Kn/zr/XuTHiAR344A4kZehb4dO1yU6BJd/apSvJW1ayRB176k7K4NJaqZVoMW7jqVO8lkUbD5hcwxjPktRNTPmGpHx+BZDwoRSll+Tq0aElNSySTQN34yAJTf1ESE0ta4RGPtuC+2u8vOGPj+akuqx3cogEOmm2wDQ6Hyk72fCTqQlVl2MoUuh7wPyW/yrg8oi/n+FWLUUk7qkDWCgY34UGJFAlVK1okzNmHyGmJoZmGWFlu/28m16J/iIpOOsGujf0hXnmCiL/DwQ1aBvXMp3x+NbDAl5oPmMiP9zebdvrBFJJTUTTFFkwYjUq44gEGXQlTSy7zbf8sWuaYKmpJjLYaGBiCw8NaqaGVKsyst3WWrGkBEh55pnkzn6/VRi1aIqZoDo8l025qN0FWVBMDXjcKEyg3FqpmdWNUNZpc6QzEQcNKTnoH/cITUi2tSMqFgoA4un9RGxjMj4wMQRMq5GJKwWPy6UTe9S1Ijw41QqgkCUQSdKY/X4jBFJe2dUI0ERZ0SmFIFITrsCeZyYfF85cIgtVpUMzUwZETpe81z8qwL7wZhF//dltMtmyKoMPSsExaoV4W/AIBAJEauq5i4azPnzQh6MyGCuIWXscpWW8WdFlO+yOYahFCyeTc2MP3RNuUxSM7oGWmkOFL+kNl0WQMWIUIEog181I76eTUpZMSI0KGI7gNkm1Yjk228hqKmJL1aNGxQwViiuRoQyeHku/iompkrPpQQVCK4nirEZ/FYGozEt6jRLdUUwqAMbG0pn1RCNCDX2y+N6seMuDjY9QHaMyKzMiFixauYYj28xJCrCg+v/nNKzwdRMuCdBNj4i6aZmgjlmRxCIMvgW7ur0VFYaEVVKiu1WWl03d3pSdb2iEBAPxrxGcu8f06oZOkkXxYhUFQF9nmkiGXScqNIzee7w00DA66gSZESiFmv2e2WvmRCNCECe+xwNzRZIamZoHxGdRiTAiBQfPFuNyARAN1HSe5w0NZNKl1y+GBFDsxQ/l/+/UhEEogxdTSMwrhHJqGrGd3n1AvnbcqRmoo8bEA/GnNSS6FL6ryteI+KnOP3fl4HmBtTPbWfIHiZFQJU+ps9p1L1XWrwbaEQA6h9UjEYkabO9qP4tpdKIRBiaZd3sMy+Mx7cYEqq8NiCnZuKJVdN0QK1XggtyFoxInTIiiqoZ3TXIykeEUcwd1w1qRFJOU5kgGLjFZ0SS+oj4nxe/aibPDZ2SESHjpsjdZY1U9aieW7+VwWgwIoAciAwYkRhCZbnpnet6PCBTPVe0bD+r516FpsSIOE7yAMFqRMqH8fgWQ0I1eQJy1YxaHyG3Z2bwF8mgO2Fc+LoN1y+ty8JHhJTvGlXNMI0IF6tmw4hQG3mWv/U8X8CZX2pGZicMGBHpNfGdVcX3m1fNFJMOUR1XZESKm9Udxwn1EsnTsjwt0M0SGxu1GIyILFY1aZsgP/d5WrynkQ6KclYtk0YksnzXBiLjAyEQ0aRpElu8p1i+S6tm0qDkglUzDsKqZgI6maq4S0ndR4R8HjsG3a3sW+pPSnnRkypxb9z3xA0K5MCjzIZmgKiBUTEiRWpEgHD/H98vZ3SmRXVqhjJQ4e9nX5UxIkIgopm75Oc+j+vFxaqDzccw4ygq3VEujUh4p2CVDf8oYnSeuAyhY0GE1ExSjUjKhmZpDsDgwloRBKIMfu5cw4hwijbd4UQnOHaMZQ1/ktg/+FlRGpFEVTPDMiIlNjQDNFUz5Dkq2p4jzBG5O2RX1yJQFVhblprRb6BksN8zsapJ2wTG8vLnPg9GhFgYAMPNNZGpmWZd+HkZUzNppv7LgPH4FkNCx4IYGZppy3f7kXuaDqidHKpmqECUoRtZNcPEqtkzItONKj/v/QNGpKjyXSMfkZiW24FjJtSYCAFBUVUzCrFq4YxIyAaio9FClRkia8tSM4QRiSlW9ftOBTuQM8h6jTwt3hnSYEToGOi5Hr8GAbFqCcp36fkBNjUzljATq6rZAF3fijQHiqrnSiY+IpWKIBBl0PmIBBiRjCze6TEa1QpfTDgjUkD5rqn7pq7/iilk2rvMFu+AeM+4H09BQZEK4akZdXVYmaESq9LzNy3flQORMJZRfu7zaHonP+Npa0RoUDIrp2YKXCV1lV5hNvyjiPH4FkNCV7IbyojkWb7Lav29dK19wxgRz/MnJ11zq6aUK057J+k4Dv/u7BiNWoV/d6YRyethrCl2n5HvidkNNer9poukmCKJdcihoNqh0+MXnZoJ03bpmL8yQxCrDsaGKhjUgW28epJYNWx+CWrDcmBEhkxxUqjSc/TfpWJEqppAxKZmxg86XUioj0iu3Xf9z2B57Ex8RKpiG3FGVevKGtl38x0p039gZadXGojsb3WE88gadGefRKvR/4yYjIjC68UERVm8q6tmSihWDfURGVFGRGFoFvVIspcGGJGwQCSH516GnOIeihFRCEBbPb8seKYh6u+KDETotW2RCk3rIzKG0O0gjHxENBqRNJkL1YOeDiMiCSErjpAKYBNNN0KsypDFzkhOTTRrxaVmVA3dot8zpFg1oaFZURbvUc6qRU7qAELLd/2Ae3SmxShDM1OxKgtETOatYJqkAI3IEMFPWGqmUa0EjlVkXOo4jjJ4thqRMYSZWFUcjWHqe/rzdFIzwc9IRQQb4iMC+OWMXMSnSU8xZJErDlYrVfl3z1usWo0xwTOkLVYtu8W7qmqGnnLhgUjIBmIkfUToHMUYEWogFzFcdGLVUI2I3FE6Rx8RfsxhqmYiFvZAIFIwQ9ZUyACsxfsYQidWrZSkfFfJiKTSfVehESE/YxOzjoLNgxFRVepwjciAEWnm9DDWQgJT/XuGFKsmnPTjVE6kCdWzFGdhzBphPaK6I2jxTm9tEot39tKeK2tE9PYA8nOfR2omTY2IMhAh/kzyscoYPFuNyBhCnDzJz4dIzaQ5UBzHCYgA01hcVFUzVCDKJifur6C5BvzzMpiQVJU6jaIYkSSpmWHFqgqvFxPUi9KIKCo2hPLdoif1kA3EKFq81xS6JZGVCh8v7PdcrFrS1Ay1lu8fcxiNiD93e/L3rlYCxypaMiQHTlE2/KOI8fgWQ0LQhQipGf81OjYgihFJS0xEH7y0Bp+umyxtsgfou5IGdkYZTEhKRqQEGhHT7yoHDsMamiXxEclzg69KbdIdpUnJc5bwU6rB1gy66rAyo1IJBn6iUDn8/TqxahjLmMcGJOq4aTAigL9hlAMw+prSMCKDczSx4R81jMe3GBI1BZ0MqGv0GfIs3wXEBS2twSfvZFiwxZvsSWJVXQkz/7wMq2boMWUjtfycVf3jmItVh2NE0mh6l+dEqtKmxGnCljXMLN5HiREJzlH0OTVmRHhqJrp/kxyk5CXupc/5MIwI3RzyxV0ORApKbaogrzUmNvyjhvH4FkNCF3zQn+vMvLSGZinn8OjCl9bg01mW+43vBmJV5q8gvT5QUpdD1Uy96gSuaRqNBU0Qxzqbv05mROKKVTXBYvRxzXUCaUKVvqJfodypmdETq6oE9WIJdfj7hynfZcir3Jk+50MxIgpvDtkynR6r6LiUrzUSewPYQGSsoJu0QxmRKI1IyuVVdEHKIrih/2fflYtVdYxIIDWTLSPSqFWEDqq688gKVcWkHwX5dXF3V4l9RApyMxVSQgpGpNSGZiOYmqHDQ+kjEilWFfVgcZxVGfJiROjGZxhdSqXi6+ACqZnBd2mWOTVjYMM/ahidJy5D6HwOwpre5Vm+C4gLUlYaETahsICCifc6hhqRrKtmGCUcZETy14iYfteAD0jMiSMgVE4QABVVNaMUqxZNc0u7SwouVh2hyb2mSBeKVTPxxKpGPiIFlO8C6WlE6GdpUzPkWEXrmgKpmTEr3QVsIAIgTKyqFyfq2jMzpGloBmSTmgn4iHCxm8SI6KpmpA7AWVQb0EVBNUn0zyMnRiRGDw+GYZ1V5WOZp2aKYkTCxapl211SjKZY1f+3n5qh9z78/eyruoHy3TipmQI0IkPONfpApBo4VuHpRI1YdVyEqoANRADozZ/CGJE8y3cBMRBKqxJHx4jIGhEu4otiRDKpmqGLcJA2Vf0/K4gBQUKNSIJAhB7LPDVTvEaE3Tqxgqdcu0sKXXVYmSEwIoN/J2FEukNoRPIqd06VEZEcdvl8PfguYtXMUIcaGk1prRk3V1XABiIApB2bhkbWaUTk9swMqZfvZpCa0dmHy1Uzup1iLj4iimqh4jQi8XdkgaqZBLsrMRgzZWKKWfwFvdXgHERn1dxORYnwpnesy/ToTItKsaoQiIS/XytWjVW+mxMjImhEUmJETMp3iw6epTGbNtteBozPNxkCOoGqmJrRswGqSc1/oNOp6MhCrBpVNSM3vQv0mgmU8WUgVjVJzRShEUnoI5JkUhN1AKZMTJCZyANVBbuo+llRkHeXFDotVJkhiFWVhmZmYlVXMvYK20Dl0doh6riZaUSYDo0G8kWnZqxGZDKg9RFRPOQMuvbM/Gdpp2Zy0Ij4O6oBIxKzaiab1AwJwHRi1dx8RJJoNeLrSmTUE3xGvaB0iJgqCAYiZdtdUujGeZlRVVzvWBbvcmrGYN7Ko2xfBZERGe6YOm8OtaHZUIcaGgH2xsCGf9QwOk9chqhoAhHBR0RuPqZpzwyI6Zr0xKoZMCIasyzTqpnghJRFakbBiEgsU5mrZtIICFQ6mTjvyZOFUAUdYlVabqeiRJhGROeXU2bQ4eBrvMyFlgGxaqLUzOhpROSqRzndUUZn1VZAWDs+y/f4fJMhoBP2VUKoeF17Zvn/6ek56IKcTiQs58Jli+hA07uIXjNZ7CRVKanCUjPk+5nS0WkEBPUk2pQUaew4UOkTRsdZdfSqZlSl3arKJR0qfNMxhFg1r6qZPDQig02OWL471KGGhlyhaWLDP2oYn28yBHSMSFjVDKBuzyz/PxOL94ycVbmPCEvNuKxqRu04GfATyNjQrKkLRHJ6IGuKST/yPSmkZsTPMGVi/Pfk6YMgBvX9c6WnXLgnQ4gj8ig2vasqq2bMF2z2e8aIyA6jKsiMZF6MSDPF4DrKRyTNYw2LYPlutA3/qGF8vskQEEp2yRVRKdIpdLsrmqpJa1LLpmqGLlb+A8d+zhgRTllHNb3L2OJdpxHJq3w3rIpKh1RSM0KH1SSMSKLDJgJdGMsoVg1NzfTUfjllBh0OqqqZSEaEOasO1X03/9TMsKxVUCMiLu5lTM2wc7SpmTGFrmqGjnXV5BSVmmGW5GmAHj+thbdScTjtWFdUZnR7fa3LYI6KTM1k3fROtVtRnUdWELvvmn3XSsXhuohUxKol14io0pxi/6bcTkWJcLHqCFbNKJ7bukLAqgP7fSA1Y6gRqVWc3FiuLFIzcv8WFeta9JiV9Sy2amZMoWt0F5WaiQpE0szhZWHxDgR1IfRYXdflQlX5NarzyGInqfQRKUgjkoQRoa9NLlaNr00pqmpGFdQLYtWy0NxKi3dWNTNKgYj/77riWY4Wq4qpGSNGJEWH0zhIt3xXrbtQlu8WPWYl9sb6iIwpxNSMetJUpR10NG8WFryqMtY0IKdj+v/uf36n5/HJGVCU7+btI1Jw+a6g1YjxXeuKBTnWcRMEQOVgRNjf6kC/CIT1iOLVYaOUmlGMjVqMRTQgVu0Z+IjUaGCc37VKlRGJVb5bruDZWryPKWiKQmvxrhj4ugZaWeTwVD1X0oBS4EYs3ruUEYkwNMu66Z3KWbXi5FflQGnwOBMwO7+kuzjVvYl+jzq4zhoiI9I/b8fx01PFa0T0PaJ8H5FRYkSCwXG9Ej5vUchiVZO5S+iCmycjQst3M+s1U77UTNS5jgPG55sMCTZB6hrgKRkRA41IWshCrAoQRoSmZojJERPw0dcyVCqOMGln4bCo9BGpBYOTPJCkagbwv0PSgEB1byLfU5ihmTqQZ9+9cJo7zFlV09yxzKDXmI2NWIyITqwa4gidpmg0DtJkRHyH3b4AtCWnZoTy3aKD58GG12pExh9R+WylRiSifDfNgZJVaoZrRBReFZ2eK5Q0qh5IMV+cASMS4SOS58MYFZjqwK3zU6iaSVI2nKuhmbAIkp+zQKRku0uK0RerBjcVkYzI4LW9ON13E2iW0oCoERnuuY9kRGKYwmUN3bnmVS2YB8bnmwwJ1Y5NTM2YMyImtfhxkVVqhn1vgdkgVTPdiJLGRsY0reAjotit5GlzXItBeQvvqw7HBoj3xjQ1UzwjUoso5S0C42fx7v+7zlMz5voGzogkNDTLkxFppsiIRGlE6LGKJsisRmSC4E+U/s+ifER0DbSySc1kk47wq2aCD3mHVM3ogoyshWtqi3f/OHnuCpJWzbCFLbFYVbg3pqmZghgRTfl7hTMi5aC52z0XnucJvxtFi3eV+3Mthj6I/Z4FInKKQoWsNx8mx03N0Myk+27RY9aW704OmPhJ7DXj/1618ERqRFJNzRBmIE1GRGELTX1E/JLGghgRRWqmWQv+LA8kMRbrv284NkAQHyZgRPKcr1TOqvTnZZnUgeAGYhQt3lW6pThNEmtSINLuRrt2jkXVjOSwK1sulCkQkR28rVh1jMHFqpqqGVUuNFIjkmpqJiuNSP+z6MLFfUR6hBHRPPgNBZOSJlRdh8ugEYkjaBy2ambYpnd5iu10Lqpl0YjQIFZ+bplGZKSqZpzg2IgjVA6IVU3KdwvzEfHTsEMzIlHlu+RYRQciMnuTReq/aIzPNxkSShfICCpep8A3eZjjIs+qGe4j4nqReXOm0cjKYVFMSQUbUuXKiCT1ERlSI6JKm0W+p6BGc+Ii6P9c9XwVAbqIyoHIKFbNiKmZ4LNsamgWSyOSsUBde9wMGBFbvlsOjM83GRKqiVJVo0+ha6CVCSOSsUZE1eG1S6pmojQiWe2MxK7DQY1Ing+jWDUTPzWT2OI9gTalHmMxShM61oidQ9GlkJWKw+9DMDUzeoyIKqUqpuXMA5FuzwXzLwxjGmnZfq5VM4KPyHDPfRyNSNFj1mpEJgiVyNSMghHRmCNlohFROIymAaWPCA9EPNIITP0wsvxlVrniKIv3PB9GXUVI5PtSFKsmaXpXmI+IQqxahrlTp+0aRY2ISlCv6vejAw1EaGAWFeCz564oi/fUfEQMLN7LwuJZRmQCwB4oXdVMrF4zWVu8Z141Eyc1kzEjEqURGQFGJE1Ds2RVM4kOmwjU8VIlVi3akwHQP7ejWDWjCo6TMiL0ekQGIrXgsbJGqlUzcv+WUIv3oQ41NAIN+jJI/ReN8fkmQ4KX7zrqCTzM4p258zFk0ZQoq6Z33EdEsch2e64/OUemZrIZSqquw0WlZgRjsTiMSGU4sWo9QbVOnMUoTejKhllQXzTNDYglvBSj6CNScYLPbazyXSJWZYuy40QHY/y5z3FspeojQlIzHvnuSh+REqVmVOc6DhifbzIkuM+BgtbUCTF1DbRYpUmYTXJcqBbkND9XFGIOGBETQzOemsnmYVUFYI7jaBvgZYkozZAOw4tVfUbFdCHvvxZDHTcJRLE3+XlJDM0ANSPieX6p+mg5qwbHhkqbE/V+mpppVCuR4yzrDUjYMYEUfUS6rtDYs1kNCuKLbkvQJOtIlzBXaa4vRcMGIgOoqGM2ALVsQI7lu2KKIr0B6GtEgruNrutGCvgyZ0Q07AffuRSkEcnT4t0vy4z3fsak5Nt9V80alaV8F1AHIkKX6RGqmlEJoeM0PFSlZkzmLb4BKUwjMqRYlczdqpSU3FizSAjeN13XOquOM7hYVUEt6yYmNhBoYzggq6qZbFIzqo6d1OI9qqQxa42IYG0fIVzNGmJFiPn35RbvScWqLH0WM+ga1lo+CbSMiIJxLAqq1EyXPMOjxIhUFGOjlkAj4hJGxIRx9cv2R5wR6WkCkRKmZgAxcLKByBiiphAURjIiEeW7WaRQ6HHTgJIRoU3vDC3es9pFahmRAlIzqvSVCZIyGvKx4i6QRQhEdZVFZXFWBdQpVaaFAkYrEFF5hySpmhEpf5NAJNsNSNgxgXR9RFgAVq04/HqI5btDHWpo0PNq91whhTYuGJ9vMiQqSrFqcJGm0IneshgomTEifEcVXEC6JlUzGZfx6YzcVBRq1hjWRySxWJWXZcb7rrzHTUGMiCrNWdaqGcqIjFJqpqLQhSSpmnFjiiCzLttXQfQRGW4cNRWMiE4EX4oxq0glWUZkDMEeSDrm2DOmE2L6E5pYNZOJRiQji3dfkEsnssEuiVbN6HxEMtaI6Kzti0jNJK6aGZx3YrEqL8uMyYgUkJqhgaNKrFqCOV3piMyYv4pTjvSRKVTds6lQOVKsSrrvxtKIFMGIpOgjQj2gVFWOgkakBOOBsu9ZMO5FY3y+yZBQWrxHMSKaqpksyndVhmOpfK5h1UyUj0hWVTO6Zn9FV80k8RFJnpoJTxFq3ze4t3nOo7rUTFks3gF/7LSE1MzomZkBakNCgAiVY6Rm4vQwKcRHJMWSdCE1ExWIFD9klamkiWdEPv3pT+Pwww/H1NQUTj31VPzoRz9K+7xyh6q8UPeQM0T1mkk3NeMvvGl6Mfg7KsKIkKqZTpRGJOPUjC4lVQwjkkwj4gcEw6Vm4tLg3EgtV4t3upOkPy9RIKJMzQyqw0pwfnHg+wCJY0OleQt7vxtXIzKk7ikJqLX80FUzNT/9vMQ6DkssCC+7LwGNx85tsdPjfYEmWiNyxRVX4OKLL8aHPvQh3HPPPTjxxBNx9tlnY8eOHVmcX27wywuDOW7dAiC3Z2YwaaUdF+yBT7tcVVX+xxbZbo94K0RUzWS1M9KJdIvWiMSZgH1n1WTHVbFWRu8bMiWUBDpDMz/1WYJJvRZszdAZQXt3gOrYxOvKxcER957Nd93EqZl8rxd73tNiRABgvtUFEEx1sGOVIRBh58bOFRgvRqQW9w0f//jH8Y53vAMXXnghAOBzn/scvvOd7+BLX/oS/uRP/iTw+larhVarxf8/Nzc3xOlmh7Duu1GMyLa9S/jwt+7nP3/06Xnh92mgllEqIqxq5ul9LVzz8+0ADHxEckjN0KCDPZh55kkT+4jwQCTZuSbdBRZRNaNrGlkt4Fx0YOPoqvu2YsvuBQDAnoUOgNFqeAeoNV6AeaUWrZD72l1bAPiBWhj8DUi+16tRq2C+3UtBI+Jfr8t/+Bj/bNWxyhCIsHO7/NbHAj8bB8QKRNrtNu6++25ccskl/GeVSgVnnXUWbrvtNuV7Lr30Unz4wx8e7ixzwMrpuvA3/feqmbryPauXNQAAc0tdfHkwmCnWDH6fBtg5rE7xM+nnriLfm/17X6uLux/fDQBYqbkG7Duumkn3vBhmm3VUKw5mGlUhWFo9OF7a1yMM1YqD5c0aljo9LGuam8qxc10xHTvuB+BfW904jDqu7t5lgWXNGr9flP1gz1LSa5Am1izrn8udj+3GnY/tFn5Hn/9RgG6OWjVTx875NlZMhX8fdr96rodbHnoGALDGYLyw5z7v67V6WQO7FzpDH7de7T/L+1tdXPdAn81fLc1h7FizU8WPWXZu1w/OdbZZG6meSFFwPM/zol/Wx1NPPYWDDz4Yt956K0477TT+8z/+4z/GTTfdhDvuuCPwHhUjsmnTJuzduxcrVqwY8vTTw5ZdC7jpl0/jv598CJqDHUHP9fC1u7bgRYevxtHrZ5Xv+697nsQjT+8P/Hzjqmmc/6JDU6XFv/HjJ3HkuuU4cdOq1D5zx74lXH3fNrzxBQdjlkxa9HtN16t4y4sOxQGzzcD7lzo9fP3uJ/HyYw/AIatnUjsviu/fvw3Lp2r49aPW8Z9t2bWAG3/5NP77SYdgqp6f1fGtDz+D+XYPr3zOgcbvmVvq4Js//hXOOX6D8hpGwXU9XHHXFpx82Gocc6B6HKrw0PZ9uPvx3XjzyZtyTc+U6X6p8PS+Fq648wksdsRqNwcOXvmcA1N9vrKGbmzcu2UPHntmHm94wcGRn/H9+7fhJ0/uAdBnUt70wkOwaU34s/z0vhauum8r3vCCgyODnTTxky17sNnwe0Xh1oefwQ8f6QdfVcfB607cKFzDNI81LB7avg/f+slT6A2W6xcftQ6/fvS6iHelj7m5OaxcuTL19TvzQERGVl/EwsLCwsLCIjtktX7HSjKtW7cO1WoV27dvF36+fft2HHTQQamdlIWFhYWFhcVkIFYg0mg0cNJJJ+G6667jP3NdF9ddd53AkFhYWFhYWFhYmCC2Cufiiy/GBRdcgJNPPhmnnHIKPvGJT2B+fp5X0VhYWFhYWFhYmCJ2IPKWt7wFTz/9NP78z/8c27Ztw/Of/3xcffXVOPBAc/GehYWFhYWFhQUQU6yaBqxY1cLCwsLCYvRQCrGqhYWFhYWFhUWasIGIhYWFhYWFRWGwgYiFhYWFhYVFYbCBiIWFhYWFhUVhsIGIhYWFhYWFRWGwgYiFhYWFhYVFYbCBiIWFhYWFhUVhsIGIhYWFhYWFRWGI7aw6LJh/2tzcXN6HtrCwsLCwsEgItm6n7YOaeyCyb98+AMCmTZvyPrSFhYWFhYXFkNi3bx9WrlyZ2uflbvHuui6eeuopzM7OwnGc1D53bm4OmzZtwpYtW6x1POz1oLDXQoS9Hj7stRBhr4cPey1EsOvx85//HMceeywqlfSUHbkzIpVKBYccckhmn79ixQo7aAjs9fBhr4UIez182Gshwl4PH/ZaiDj44INTDUIAK1a1sLCwsLCwKBA2ELGwsLCwsLAoDGMTiDSbTXzoQx9Cs9ks+lRKAXs9fNhrIcJeDx/2Woiw18OHvRYisrweuYtVLSwsLCwsLCwYxoYRsbCwsLCwsBg92EDEwsLCwsLCojDYQMTCwsLCwsKiMNhAxMLCwsLCwqIw2EDEwsLCwsLCojCMTSDy6U9/GocffjimpqZw6qmn4kc/+lHRp5Q5Lr30UrzoRS/C7Ows1q9fjze84Q148MEHhdecccYZcBxH+PPud7+7oDPODn/xF38R+J7Pfvaz+e+XlpZw0UUXYe3atVi+fDne9KY3Yfv27QWecbY4/PDDA9fDcRxcdNFFAMZ/XNx888143eteh40bN8JxHHzzm98Ufu95Hv78z/8cGzZswPT0NM466yw89NBDwmt27dqFt771rVixYgVWrVqFt7/97di/f3+O3yIdhF2LTqeDD37wg3je856HZcuWYePGjXjb296Gp556SvgM1Xi67LLLcv4m6SBqbPzO7/xO4Lu++tWvFl4zCWMDgHIOcRwHH/vYx/hr0hgbYxGIXHHFFbj44ovxoQ99CPfccw9OPPFEnH322dixY0fRp5YpbrrpJlx00UW4/fbbcc0116DT6eBVr3oV5ufnhde94x3vwNatW/mfv/mbvynojLPFc5/7XOF7/uAHP+C/+4M/+AN861vfwte//nXcdNNNeOqpp3DeeecVeLbZ4s477xSuxTXXXAMA+O///b/z14zzuJifn8eJJ56IT3/608rf/83f/A3+/u//Hp/73Odwxx13YNmyZTj77LOxtLTEX/PWt74V999/P6655hp8+9vfxs0334x3vvOdeX2F1BB2LRYWFnDPPffgz/7sz3DPPffgv/7rv/Dggw/i3HPPDbz2Ix/5iDBe/tf/+l95nH7qiBobAPDqV79a+K7//u//Lvx+EsYGAOEabN26FV/60pfgOA7e9KY3Ca8bemx4Y4BTTjnFu+iii/j/e72et3HjRu/SSy8t8Kzyx44dOzwA3k033cR/9rKXvcx73/veV9xJ5YQPfehD3oknnqj83Z49e7x6ve59/etf5z/7xS9+4QHwbrvttpzOsFi8733v84466ijPdV3P8yZnXHie5wHwvvGNb/D/u67rHXTQQd7HPvYx/rM9e/Z4zWbT+/d//3fP8zzv5z//uQfAu/POO/lrrrrqKs9xHO9Xv/pVbueeNuRrocKPfvQjD4D3+OOP858ddthh3t/93d9le3IFQHU9LrjgAu/1r3+99j2TPDZe//rXe694xSuEn6UxNkaeEWm327j77rtx1lln8Z9VKhWcddZZuO222wo8s/yxd+9eAMCaNWuEn3/lK1/BunXrcPzxx+OSSy7BwsJCEaeXOR566CFs3LgRRx55JN761rfiiSeeAADcfffd6HQ6whh59rOfjUMPPXQixki73ca//uu/4nd/93eFjteTMi5kbN68Gdu2bRPGw8qVK3Hqqafy8XDbbbdh1apVOPnkk/lrzjrrLFQqFdxxxx25n3Oe2Lt3LxzHwapVq4SfX3bZZVi7di1e8IIX4GMf+xi63W4xJ5gDbrzxRqxfvx7HHnss3vOe92Dnzp38d5M6NrZv347vfOc7ePvb3x743bBjI/fuu2njmWeeQa/Xw4EHHij8/MADD8QDDzxQ0FnlD9d18f73vx8vfvGLcfzxx/Of/9Zv/RYOO+wwbNy4ET/96U/xwQ9+EA8++CD+67/+q8CzTR+nnnoqLr/8chx77LHYunUrPvzhD+P000/Hfffdh23btqHRaAQm1gMPPBDbtm0r5oRzxDe/+U3s2bMHv/M7v8N/NinjQgV2z1VzBvvdtm3bsH79euH3tVoNa9asGesxs7S0hA9+8IM4//zzhY6zv//7v48XvvCFWLNmDW699VZccskl2Lp1Kz7+8Y8XeLbZ4NWvfjXOO+88HHHEEXjkkUfwp3/6pzjnnHNw2223oVqtTuzY+Kd/+ifMzs4GUtppjI2RD0Qs+rjoootw3333CboIAELe8nnPex42bNiAM888E4888giOOuqovE8zM5xzzjn83yeccAJOPfVUHHbYYfja176G6enpAs+seHzxi1/EOeecg40bN/KfTcq4sDBHp9PBm9/8Znieh89+9rPC7y6++GL+7xNOOAGNRgPvete7cOmll45dL5bf/M3f5P9+3vOehxNOOAFHHXUUbrzxRpx55pkFnlmx+NKXvoS3vvWtmJqaEn6extgY+dTMunXrUK1WAxUQ27dvx0EHHVTQWeWL9773vfj2t7+NG264AYccckjoa0899VQAwMMPP5zHqRWGVatW4VnPehYefvhhHHTQQWi329izZ4/wmkkYI48//jiuvfZa/N7v/V7o6yZlXADg9zxszjjooIMCYvdut4tdu3aN5ZhhQcjjjz+Oa665RmBDVDj11FPR7Xbx2GOP5XOCBeLII4/EunXr+LMxaWMDAG655RY8+OCDkfMIkGxsjHwg0mg0cNJJJ+G6667jP3NdF9dddx1OO+20As8se3ieh/e+9734xje+geuvvx5HHHFE5HvuvfdeAMCGDRsyPrtisX//fjzyyCPYsGEDTjrpJNTrdWGMPPjgg3jiiSfGfox8+ctfxvr16/Ha17429HWTMi4A4IgjjsBBBx0kjIe5uTnccccdfDycdtpp2LNnD+6++27+muuvvx6u6/KgbVzAgpCHHnoI1157LdauXRv5nnvvvReVSiWQohhHPPnkk9i5cyd/NiZpbDB88YtfxEknnYQTTzwx8rWJxsZQUteS4Ktf/arXbDa9yy+/3Pv5z3/uvfOd7/RWrVrlbdu2rehTyxTvec97vJUrV3o33nijt3XrVv5nYWHB8zzPe/jhh72PfOQj3l133eVt3rzZu/LKK70jjzzSe+lLX1rwmaePP/zDP/RuvPFGb/Pmzd4Pf/hD76yzzvLWrVvn7dixw/M8z3v3u9/tHXrood7111/v3XXXXd5pp53mnXbaaQWfdbbo9XreoYce6n3wgx8Ufj4J42Lfvn3ej3/8Y+/HP/6xB8D7+Mc/7v34xz/mlSCXXXaZt2rVKu/KK6/0fvrTn3qvf/3rvSOOOMJbXFzkn/HqV7/ae8ELXuDdcccd3g9+8APvmGOO8c4///yivlJihF2LdrvtnXvuud4hhxzi3XvvvcI80mq1PM/zvFtvvdX7u7/7O+/ee+/1HnnkEe9f//VfvQMOOMB729veVvA3S4aw67Fv3z7vAx/4gHfbbbd5mzdv9q699lrvhS98oXfMMcd4S0tL/DMmYWww7N2715uZmfE++9nPBt6f1tgYi0DE8zzv//7f/+sdeuihXqPR8E455RTv9ttvL/qUMgcA5Z8vf/nLnud53hNPPOG99KUv9dasWeM1m03v6KOP9v7oj/7I27t3b7EnngHe8pa3eBs2bPAajYZ38MEHe295y1u8hx9+mP9+cXHR+5//8396q1ev9mZmZrw3vvGN3tatWws84+zxve99zwPgPfjgg8LPJ2Fc3HDDDcpn44ILLvA8r1/C+2d/9mfegQce6DWbTe/MM88MXKedO3d6559/vrd8+XJvxYoV3oUXXujt27evgG8zHMKuxebNm7XzyA033OB5nufdfffd3qmnnuqtXLnSm5qa8o477jjvr//6r4WFeZQQdj0WFha8V73qVd4BBxzg1et177DDDvPe8Y53BDa1kzA2GD7/+c9709PT3p49ewLvT2tsOJ7neeb8iYWFhYWFhYVFehh5jYiFhYWFhYXF6MIGIhYWFhYWFhaFwQYiFhYWFhYWFoXBBiIWFhYWFhYWhcEGIhYWFhYWFhaFwQYiFhYWFhYWFoXBBiIWFhYWFhYWhcEGIhYWFhYWFhaFwQYiFhYWFhYWFoXBBiIWFhYWFhYWhcEGIhYWFhYWFhaF4f8PtDZPRkRa0nsAAAAASUVORK5CYII="
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "from matplotlib import pyplot as plt\n",
- "pd.DataFrame(input_data.features[1, 0, :]).plot(title='air temperature')\n",
- "pd.DataFrame(input_data.features[1, 1, :]).plot(title='dew temperature')\n",
- "pd.DataFrame(input_data.features[1, 2, :]).plot(title='wind direction')\n",
- "pd.DataFrame(input_data.features[1, 3, :]).plot(title='wind speed')\n",
- "plt.show()"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Next steps are quite straightforward. We need to fit the model and then predict the values for the test data just like for any other model in sklearn.\n",
- "\n",
- "At the `fit` stage FedotIndustrial will transform initial time series data into features dataframe and will train regression model."
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "ExecuteTime": {
- "start_time": "2023-08-28T10:35:27.965798Z"
- },
- "pycharm": {
- "name": "#%%\n"
- }
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Current_model - regression_with_statistical_features\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "100%|██████████| 567/567 [00:10<00:00, 55.46it/s] \n",
- "100%|██████████| 243/243 [00:01<00:00, 165.81it/s]\n"
- ]
- }
- ],
- "source": [
- "from cases.utils import evaluate_industrial_model\n",
- "metric_dict = evaluate_industrial_model(train_data,test_data)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "pycharm": {
- "name": "#%% md\n"
- }
- },
- "source": [
- "At the end of the experiment we can obtain the desired metric values using `calculate_regression_metric` method. Now there are five available metrics for classification task:\n",
- "- `explained_variance_score`\n",
- "- `max_error`\n",
- "- `mean_absolute_error`\n",
- "- `mean_squared_error`\n",
- "- `d2_absolute_error_score`.\n",
- "- `median_absolute_error`\n",
- "- `r2_score`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2023-08-28T11:01:34.941934Z",
- "start_time": "2023-08-28T11:01:34.928460Z"
- },
- "pycharm": {
- "name": "#%%\n"
- }
- },
- "outputs": [
- {
- "data": {
- "text/plain": " r2_score: mean_squared_error: \\\nregression_with_statistical_features 0.251014 197808.184612 \n\n root_mean_squared_error: \\\nregression_with_statistical_features 444.75632 \n\n mean_absolute_error \\\nregression_with_statistical_features 257.159778 \n\n median_absolute_error \\\nregression_with_statistical_features 135.067006 \n\n explained_variance_score max_error \\\nregression_with_statistical_features 0.253476 1900.097811 \n\n d2_absolute_error_score \nregression_with_statistical_features -0.333187 ",
- "text/html": "\n\n
\n \n \n \n r2_score: \n mean_squared_error: \n root_mean_squared_error: \n mean_absolute_error \n median_absolute_error \n explained_variance_score \n max_error \n d2_absolute_error_score \n \n \n \n \n regression_with_statistical_features \n 0.251014 \n 197808.184612 \n 444.75632 \n 257.159778 \n 135.067006 \n 0.253476 \n 1900.097811 \n -0.333187 \n \n \n
\n
"
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_baseline = pd.concat([x for x in metric_dict.values()],axis=1)\n",
- "df_baseline.columns = list(metric_dict.keys())\n",
- "df_baseline = df_baseline.T\n",
- "df_baseline.sort_values(by='root_mean_squared_error:')\n",
- "best_baseline = df_baseline.sort_values('root_mean_squared_error:')['root_mean_squared_error:'].iloc[0]"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Could it be done better? Tuning approach"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Current_model - regression_with_statistical_features\n",
- "2024-01-12 14:32:54,347 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
- "2024-01-12 14:32:54,348 - DataSourceSplitter - Hold out validation is applied.\n",
- "2024-01-12 14:32:54,351 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "100%|██████████| 453/453 [00:02<00:00, 162.67it/s]\n",
- "100%|██████████| 114/114 [00:00<00:00, 204.59it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 14:32:58,267 - SimultaneousTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [ridge, quantile_extractor]}\n",
- "ridge - {}\n",
- "quantile_extractor - {'window_size': 0} \n",
- "Initial metric: [457.639]\n",
- " 0%| | 0/3 [00:00, ?trial/s, best loss=?]2024-01-12 14:32:58,273 - build_posterior_wrapper took 0.001994 seconds\n",
- "2024-01-12 14:32:58,273 - TPE using 0 trials\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:01, 216.78it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:00<00:01, 197.53it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:00<00:01, 182.40it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:00<00:01, 173.71it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:00<00:01, 165.07it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:01<00:01, 162.61it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:01<00:01, 159.00it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:01<00:01, 156.73it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:01<00:01, 155.12it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:01<00:01, 154.48it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:01<00:00, 153.12it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:02<00:00, 143.44it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:02<00:00, 145.53it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:02<00:00, 139.57it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:02<00:00, 133.84it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:02<00:00, 132.47it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:02<00:00, 133.64it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:02<00:00, 154.55it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 210.57it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:00<00:00, 208.71it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:00<00:00, 189.70it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:00<00:00, 205.36it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 33%|███▎ | 1/3 [00:04<00:08, 4.06s/trial, best loss: 457.63899702121245]2024-01-12 14:33:02,332 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-12 14:33:02,333 - TPE using 1/1 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:01, 232.83it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:00<00:01, 218.07it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:00<00:01, 193.15it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:00<00:01, 180.70it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:00<00:01, 173.14it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:01<00:01, 162.39it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:01<00:01, 160.63it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:01<00:01, 159.59it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:01<00:01, 159.02it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:01<00:01, 158.49it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:01<00:00, 158.71it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:01<00:00, 157.66it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:02<00:00, 156.92it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:02<00:00, 157.51it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:02<00:00, 158.30it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:02<00:00, 158.00it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:02<00:00, 158.57it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:02<00:00, 168.76it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 229.17it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:00<00:00, 215.70it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:00<00:00, 192.85it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:00<00:00, 211.08it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 67%|██████▋ | 2/3 [00:07<00:03, 3.89s/trial, best loss: 457.63899702121245]2024-01-12 14:33:06,097 - build_posterior_wrapper took 0.000996 seconds\n",
- "2024-01-12 14:33:06,098 - TPE using 2/2 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:01, 232.92it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:00<00:01, 215.23it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:00<00:01, 192.93it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:00<00:01, 181.42it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:00<00:01, 173.98it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:00<00:01, 168.50it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:01<00:01, 164.23it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:01<00:01, 163.40it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:01<00:01, 160.13it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:01<00:01, 159.74it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:01<00:00, 156.81it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:01<00:00, 155.95it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:02<00:00, 155.74it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:02<00:00, 156.67it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:02<00:00, 156.53it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:02<00:00, 156.41it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:02<00:00, 155.59it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:02<00:00, 168.47it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 232.12it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:00<00:00, 214.06it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:00<00:00, 190.50it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:00<00:00, 209.15it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "100%|██████████| 3/3 [00:11<00:00, 3.87s/trial, best loss: 457.63899702121245]\n",
- " 10%|█ | 3/30 [00:00, ?trial/s, best loss=?]2024-01-12 14:33:09,881 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-12 14:33:09,882 - TPE using 3/3 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 116.80it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:04, 88.27it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 77.16it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:05, 70.91it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:00<00:05, 66.94it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:05, 64.80it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:05, 63.54it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 63.18it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 62.74it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:01<00:05, 62.84it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:04, 62.43it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:04, 61.17it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:04, 59.15it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 59.51it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:02<00:04, 60.27it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 59.84it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:03, 60.22it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 60.33it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:03<00:03, 60.89it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:03<00:03, 60.52it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 61.00it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:02, 60.73it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:02, 60.53it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:04<00:02, 60.60it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:04<00:02, 60.06it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 60.68it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:01, 60.84it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 60.72it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:05<00:01, 61.11it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:05<00:01, 61.33it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 61.63it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:00, 61.46it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 61.89it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:06<00:00, 61.96it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:06<00:00, 61.76it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 61.24it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 63.79it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:00, 112.45it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 115.63it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 78.46it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:00, 70.86it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 66.50it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 63.77it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 62.86it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 62.28it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 61.90it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 70.85it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 13%|█▎ | 4/30 [00:09<04:13, 9.74s/trial, best loss: 457.63899702121245]2024-01-12 14:33:19,627 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-12 14:33:19,628 - TPE using 4/4 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 116.82it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 116.16it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 79.66it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 69.58it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:06, 64.23it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:06, 61.74it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:06, 60.65it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:05, 59.68it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 59.11it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 59.06it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 58.73it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 58.20it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 57.66it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:04, 57.52it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 57.60it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 57.58it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 57.75it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:04, 57.28it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 57.10it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:03<00:03, 57.21it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 57.24it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 57.47it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:03, 55.70it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:03, 54.72it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:02, 55.52it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 55.67it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 55.88it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:02, 56.00it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 56.91it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:06<00:01, 57.34it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 57.49it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 57.92it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:00, 57.43it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 57.88it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:07<00:00, 58.04it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 57.70it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 57.62it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 60.01it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:00, 102.84it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 107.15it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 77.13it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:00, 67.96it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 63.62it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 60.89it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 58.79it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 57.20it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 57.19it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 66.38it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 17%|█▋ | 5/30 [00:20<04:12, 10.09s/trial, best loss: 457.63899702121245]2024-01-12 14:33:29,960 - build_posterior_wrapper took 0.000976 seconds\n",
- "2024-01-12 14:33:29,961 - TPE using 5/5 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 117.46it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 117.08it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 82.53it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 70.20it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:05, 66.24it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:05, 64.74it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:05, 62.48it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:05, 62.02it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 57.73it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 57.36it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 58.10it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 56.05it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 56.83it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:04, 57.62it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 59.11it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 59.91it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 59.52it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:03, 60.12it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 60.45it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:03<00:03, 60.69it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 61.07it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 60.80it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:02, 60.68it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:02, 60.94it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:04<00:02, 61.01it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 61.23it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 61.07it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:01, 60.95it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 61.23it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:05<00:01, 61.19it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 61.38it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 60.46it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:00, 58.79it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 58.01it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:06<00:00, 57.41it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 57.89it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 58.09it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 62.14it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 98.62it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 106.31it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 71.39it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 62.66it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 61.29it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 60.59it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 60.95it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 60.72it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 60.45it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 67.39it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 20%|██ | 6/30 [00:30<04:02, 10.12s/trial, best loss: 457.63899702121245]2024-01-12 14:33:40,114 - build_posterior_wrapper took 0.000996 seconds\n",
- "2024-01-12 14:33:40,115 - TPE using 6/6 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 81.29it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 82.11it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 57.26it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:08, 50.38it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 46.40it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 44.43it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 43.33it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:02<00:08, 42.70it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:08, 42.47it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 42.11it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 41.98it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 41.98it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 42.04it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 40.86it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:04<00:06, 41.15it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 41.59it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 41.73it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 41.94it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 41.85it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:05, 41.87it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 41.42it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:06<00:04, 41.22it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 41.11it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 41.44it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 41.33it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 40.64it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 41.30it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 41.58it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:08<00:02, 41.83it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 41.60it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 41.80it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 41.99it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:09<00:01, 41.56it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 41.72it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 41.90it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:10<00:00, 42.10it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 41.55it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 43.54it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 77.73it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 79.79it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 55.42it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 47.61it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 44.75it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 43.29it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 42.31it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 42.01it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 41.30it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 47.79it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 23%|██▎ | 7/30 [00:44<04:29, 11.71s/trial, best loss: 457.63899702121245]2024-01-12 14:33:54,274 - build_posterior_wrapper took 0.001952 seconds\n",
- "2024-01-12 14:33:54,275 - TPE using 7/7 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 110.91it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 110.30it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 73.60it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:06, 64.83it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:06, 59.97it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:06, 57.90it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:06, 56.16it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:06, 55.44it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:06, 55.41it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:06, 55.07it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 54.91it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 54.43it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 54.47it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:05, 54.36it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 54.24it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 54.07it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 53.78it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:04, 54.30it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:04, 53.97it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:03, 53.86it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 54.00it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 54.09it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:03, 54.56it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 53.94it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:02, 53.94it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 53.98it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 54.34it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:02, 53.89it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:06<00:01, 53.91it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:06<00:01, 54.07it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 54.00it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 54.19it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:07<00:01, 54.02it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:07<00:00, 52.99it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:07<00:00, 53.13it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 52.89it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:08<00:00, 52.99it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:08<00:00, 56.46it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 96.26it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 102.78it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 71.06it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 63.88it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 60.26it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 58.44it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 56.46it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 55.80it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 55.00it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 63.54it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 27%|██▋ | 8/30 [00:55<04:11, 11.42s/trial, best loss: 457.63899702121245]2024-01-12 14:34:05,178 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-12 14:34:05,178 - TPE using 8/8 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 84.09it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 85.03it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 58.42it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 50.87it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 47.47it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 46.08it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 44.96it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:08, 44.62it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 44.15it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 44.14it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 43.88it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 43.72it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 42.34it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 42.56it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 42.77it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 42.24it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 42.47it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 42.62it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 42.80it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:04, 42.78it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 43.02it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 43.12it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 43.24it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 43.22it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 43.22it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 43.26it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 42.21it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 42.51it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 42.34it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 42.45it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 42.80it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 43.06it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 43.24it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 43.12it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 43.05it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 43.23it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 43.02it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 44.94it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 79.16it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 82.69it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 58.31it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 51.22it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 48.12it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 46.13it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 45.01it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 44.41it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 43.75it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 50.72it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 30%|███ | 9/30 [01:08<04:15, 12.17s/trial, best loss: 457.63899702121245]2024-01-12 14:34:18,808 - build_posterior_wrapper took 0.000972 seconds\n",
- "2024-01-12 14:34:18,809 - TPE using 9/9 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 85.33it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 84.62it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 58.66it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 51.36it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 48.12it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 46.23it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 45.18it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 44.66it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 43.87it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 43.61it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 43.34it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 43.36it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 42.94it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 42.94it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 43.10it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 43.30it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 43.10it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 42.75it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 42.88it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:04, 42.66it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 42.93it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 42.43it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 41.92it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 42.13it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 42.50it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 42.53it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 42.07it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 42.22it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 42.36it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 42.77it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 42.78it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 43.04it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 42.75it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 43.01it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 42.52it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 42.36it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 42.54it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 44.77it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 77.64it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 81.99it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 56.59it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 49.52it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 45.86it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 44.89it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 44.14it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 43.63it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 43.37it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 49.70it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 33%|███▎ | 10/30 [01:22<04:13, 12.69s/trial, best loss: 457.63899702121245]2024-01-12 14:34:32,573 - build_posterior_wrapper took 0.002025 seconds\n",
- "2024-01-12 14:34:32,574 - TPE using 10/10 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 85.35it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 86.42it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 60.48it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 52.06it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 48.94it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 47.68it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 46.43it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 45.98it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 45.10it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 44.68it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 44.49it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 44.42it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 43.97it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 43.48it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 43.82it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:05, 43.91it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 43.39it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 43.53it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:05, 43.76it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:04, 43.95it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 43.28it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 42.84it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 43.55it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 43.68it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 43.94it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 43.74it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:02, 44.15it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 44.36it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 44.60it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:02, 44.56it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 44.60it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 44.71it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 43.23it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 43.70it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 43.80it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 43.98it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:09<00:00, 43.69it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:09<00:00, 45.99it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 77.89it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 83.78it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 59.80it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 52.44it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 49.42it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 47.39it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 46.37it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 45.78it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 45.18it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 52.14it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 37%|███▋ | 11/30 [01:36<04:05, 12.93s/trial, best loss: 457.63899702121245]2024-01-12 14:34:46,015 - build_posterior_wrapper took 0.000994 seconds\n",
- "2024-01-12 14:34:46,016 - TPE using 11/11 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:06, 72.05it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 76.07it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 53.97it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:08, 48.05it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 45.01it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 43.45it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 41.91it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:02<00:08, 41.41it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:08, 40.97it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:08, 40.29it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:03<00:07, 40.25it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 39.97it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 39.88it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:07, 39.69it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:04<00:06, 39.91it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 39.96it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:06, 40.06it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:05<00:05, 40.01it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 40.19it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:05, 40.21it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:06<00:05, 40.13it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:06<00:04, 39.79it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 39.22it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:07<00:04, 35.69it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:07<00:04, 36.28it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 37.43it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 38.34it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:08<00:03, 38.74it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:08<00:02, 38.88it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 39.41it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:09<00:02, 39.52it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:09<00:01, 39.63it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:09<00:01, 40.01it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:10<00:01, 40.08it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:10<00:00, 40.39it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:10<00:00, 40.63it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 40.90it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 41.46it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 75.98it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 80.58it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 55.14it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 48.33it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 45.52it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 43.77it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 42.67it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 41.94it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 41.46it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 48.07it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 40%|████ | 12/30 [01:50<04:02, 13.49s/trial, best loss: 457.63899702121245]2024-01-12 14:35:00,716 - build_posterior_wrapper took 0.000999 seconds\n",
- "2024-01-12 14:35:00,717 - TPE using 12/12 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 83.56it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 83.56it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 57.17it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:08, 50.49it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 47.18it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 45.21it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 43.90it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:02<00:08, 43.26it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 43.17it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 42.62it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 42.38it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 42.27it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 42.21it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 42.19it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 42.24it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 42.08it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 41.91it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 41.83it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 41.42it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:05, 41.13it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 40.31it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:06<00:04, 40.37it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 40.60it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:04, 40.20it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 39.95it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 40.35it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 40.54it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 40.73it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:08<00:02, 40.66it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 40.90it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 40.84it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:09<00:01, 40.74it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:09<00:01, 41.00it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 41.23it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 41.23it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:10<00:00, 41.22it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 41.25it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 43.29it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 77.20it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 78.34it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 51.82it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 45.25it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 42.94it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:01, 41.97it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 41.86it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 41.53it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 41.34it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 46.95it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 43%|████▎ | 13/30 [02:05<03:53, 13.72s/trial, best loss: 457.63899702121245]2024-01-12 14:35:14,962 - build_posterior_wrapper took 0.001006 seconds\n",
- "2024-01-12 14:35:14,963 - TPE using 13/13 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 77.63it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 77.82it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 54.11it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:08, 47.79it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 44.15it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 42.48it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 41.96it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:02<00:08, 41.37it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:08, 40.95it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:08, 40.50it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:03<00:07, 40.36it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 40.44it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 40.41it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:07, 40.37it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:04<00:06, 40.43it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 40.11it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:06, 40.34it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:05<00:05, 40.25it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 40.12it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:05, 40.17it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:05, 40.18it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:06<00:04, 39.89it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 39.71it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:04, 39.99it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:07<00:03, 39.58it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 39.57it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:03, 39.68it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:08<00:02, 39.49it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:08<00:02, 39.10it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 39.03it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:09<00:02, 39.09it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:09<00:01, 39.13it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:09<00:01, 39.20it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 39.13it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:10<00:00, 37.63it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:10<00:00, 36.94it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:11<00:00, 34.67it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:11<00:00, 40.97it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 67.80it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 73.56it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 51.29it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 46.11it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 43.40it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 42.15it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 40.67it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 40.26it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 40.01it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 45.95it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 47%|████▋ | 14/30 [02:20<03:46, 14.13s/trial, best loss: 457.63899702121245]2024-01-12 14:35:30,014 - build_posterior_wrapper took 0.002013 seconds\n",
- "2024-01-12 14:35:30,015 - TPE using 14/14 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 85.35it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 86.79it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 60.30it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 53.16it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:07, 49.81it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 47.64it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 46.24it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 45.25it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 44.72it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 44.36it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 44.03it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:06, 44.39it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 44.09it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 44.23it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 43.98it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:05, 44.14it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 43.95it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 43.12it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:05, 43.28it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:04, 43.30it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 43.81it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 44.12it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:03, 44.45it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 44.41it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 44.75it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 44.85it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:02, 44.02it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 42.49it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 42.52it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:02, 42.85it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 42.80it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 43.05it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 43.27it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 43.46it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 43.37it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 43.50it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:09<00:00, 43.62it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:09<00:00, 45.82it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 80.19it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 83.14it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 58.10it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 50.95it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 48.15it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 46.93it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 45.73it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 44.92it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 44.77it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 51.40it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 50%|█████ | 15/30 [02:33<03:28, 13.92s/trial, best loss: 457.63899702121245]2024-01-12 14:35:43,460 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-12 14:35:43,461 - TPE using 15/15 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 109.49it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 113.36it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 78.82it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 69.58it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:06, 64.34it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:06, 61.38it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:06, 59.50it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:06, 58.85it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 58.46it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 57.42it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 57.21it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 56.87it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 57.04it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:05, 56.91it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 56.30it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 56.63it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 56.24it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:04, 56.72it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 56.81it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:03, 56.95it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 57.34it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 56.76it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:03, 56.96it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:02, 56.98it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:02, 55.88it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 56.57it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 56.23it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:02, 56.95it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 57.01it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:06<00:01, 56.37it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 56.69it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 55.53it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:01, 55.74it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 56.27it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:07<00:00, 55.83it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 55.71it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 56.38it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 59.32it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:00, 102.84it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 103.36it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 75.60it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:00, 66.99it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 62.66it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 60.02it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 57.62it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 56.39it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 56.30it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 65.26it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 53%|█████▎ | 16/30 [02:44<03:00, 12.92s/trial, best loss: 457.63899702121245]2024-01-12 14:35:54,085 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-12 14:35:54,086 - TPE using 16/16 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 115.69it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 115.71it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 81.14it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 70.49it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:05, 65.86it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:06, 63.11it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:06, 61.45it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:05, 60.89it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 60.28it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 60.15it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 59.65it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 59.31it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:04, 59.70it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:04, 59.57it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 59.46it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 59.48it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 59.24it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:03, 59.39it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 59.41it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:03<00:03, 58.99it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 59.12it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 58.09it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:03, 58.74it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:02, 59.13it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:04<00:02, 59.30it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 59.25it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 58.56it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:01, 58.90it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 59.23it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:05<00:01, 59.00it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 58.86it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 59.13it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:00, 59.35it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 58.96it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:06<00:00, 58.73it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 58.25it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 57.63it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 61.71it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:00, 103.73it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 110.74it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 79.18it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:00, 69.06it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 65.08it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 63.50it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 61.60it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 60.56it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 60.02it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 69.19it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 57%|█████▋ | 17/30 [02:54<02:36, 12.04s/trial, best loss: 457.63899702121245]2024-01-12 14:36:04,097 - build_posterior_wrapper took 0.001005 seconds\n",
- "2024-01-12 14:36:04,098 - TPE using 17/17 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 95.87it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 96.55it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 68.57it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:06, 59.67it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:07, 54.92it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 52.88it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 51.98it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 50.87it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:06, 50.82it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:06, 50.67it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:06, 50.70it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 50.59it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 50.36it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:05, 50.32it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 50.22it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 50.08it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 50.03it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:04, 49.46it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 49.09it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 49.39it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:04, 48.92it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:03, 49.25it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 49.25it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 49.67it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:03, 49.41it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:02, 49.76it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 49.89it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:06<00:02, 49.94it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:06<00:02, 49.86it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:01, 49.97it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:07<00:01, 49.93it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:07<00:01, 49.74it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:07<00:01, 50.08it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:07<00:00, 50.04it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:08<00:00, 48.94it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:08<00:00, 48.30it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:08<00:00, 48.83it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:08<00:00, 51.95it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 89.69it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 95.63it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 67.81it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 59.26it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 55.80it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 53.50it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 52.48it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 51.36it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 51.08it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 58.93it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 60%|██████ | 18/30 [03:06<02:23, 11.99s/trial, best loss: 457.63899702121245]2024-01-12 14:36:15,948 - build_posterior_wrapper took 0.001994 seconds\n",
- "2024-01-12 14:36:15,948 - TPE using 18/18 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:03, 110.38it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:03, 112.82it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 79.02it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:05, 69.69it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:06, 65.27it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:05, 63.63it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:05, 61.82it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:05, 61.09it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:05, 60.60it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:01<00:05, 59.60it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:05, 59.86it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 59.62it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:04, 59.60it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:02<00:04, 60.03it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:02<00:04, 59.86it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:04, 59.89it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 59.59it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:03, 59.26it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:03<00:03, 58.73it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:03<00:03, 57.51it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 57.04it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 57.18it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:04<00:03, 57.45it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:04<00:02, 57.95it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:04<00:02, 57.64it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 57.94it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:05<00:02, 57.25it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:05<00:02, 57.84it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:05<00:01, 58.05it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:05<00:01, 57.68it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 57.19it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:06<00:01, 55.98it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:06<00:00, 57.12it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:06<00:00, 58.03it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:07<00:00, 57.85it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:07<00:00, 57.64it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:07<00:00, 57.69it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:07<00:00, 60.99it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 95.51it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 102.94it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 76.83it/s] \n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:00, 67.80it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 64.75it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 63.10it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 60.57it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 59.91it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 58.29it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 67.56it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 63%|██████▎ | 19/30 [03:16<02:05, 11.44s/trial, best loss: 457.63899702121245]2024-01-12 14:36:26,121 - build_posterior_wrapper took 0.000996 seconds\n",
- "2024-01-12 14:36:26,122 - TPE using 19/19 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 89.79it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 94.78it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 66.70it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:06, 58.77it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:07, 55.70it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 53.92it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 52.25it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:06, 51.63it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:06, 51.49it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:06, 50.53it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:06, 50.20it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 50.48it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 50.79it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:05, 50.99it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 51.49it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 51.65it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 52.05it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:04, 51.96it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 51.74it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 51.48it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 51.23it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 51.56it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 51.61it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 50.80it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:03, 50.57it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 51.01it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 50.77it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:06<00:02, 50.70it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:06<00:02, 50.23it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:06<00:01, 50.74it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:07<00:01, 50.96it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:07<00:01, 50.67it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:07<00:01, 51.06it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:07<00:00, 50.94it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:08<00:00, 50.42it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:08<00:00, 50.40it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:08<00:00, 50.13it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:08<00:00, 53.06it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 93.03it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 95.56it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 68.03it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 59.74it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:00<00:00, 56.35it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 54.74it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 53.48it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 52.99it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 51.93it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 59.93it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 67%|██████▋ | 20/30 [03:27<01:54, 11.48s/trial, best loss: 457.63899702121245]2024-01-12 14:36:37,680 - build_posterior_wrapper took 0.001003 seconds\n",
- "2024-01-12 14:36:37,680 - TPE using 20/20 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 74.73it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 75.42it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 52.40it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:08, 45.97it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:09, 41.76it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:09, 39.56it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:09, 38.98it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:02<00:09, 38.72it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:08, 38.89it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:08, 39.15it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:03<00:08, 39.18it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 39.26it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:07, 39.30it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:04<00:07, 39.26it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:04<00:06, 39.30it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 38.67it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:05<00:06, 38.86it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:05<00:06, 38.94it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:06, 36.69it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:05, 37.35it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:06<00:05, 37.93it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:06<00:05, 37.31it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 37.22it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:07<00:04, 37.98it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:07<00:03, 38.55it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:07<00:03, 38.82it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:08<00:03, 39.17it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:08<00:02, 39.36it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:08<00:02, 39.02it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:09<00:02, 39.32it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:09<00:02, 39.55it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:09<00:01, 39.22it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:09<00:01, 39.31it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:10<00:01, 39.43it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:10<00:00, 39.45it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:10<00:00, 39.16it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:11<00:00, 39.74it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:11<00:00, 40.46it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 74.73it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 77.71it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 54.04it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 47.00it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 43.99it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:01, 41.93it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 41.03it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:02<00:00, 40.36it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 40.24it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 46.51it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 70%|███████ | 21/30 [03:42<01:52, 12.53s/trial, best loss: 457.63899702121245]2024-01-12 14:36:52,664 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-12 14:36:52,665 - TPE using 21/21 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 99.44it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 101.83it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:05, 71.11it/s] \n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:06, 62.35it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:06, 58.26it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:06, 55.61it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:06, 54.41it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:06, 53.85it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:06, 53.06it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:06, 52.67it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:06, 51.59it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:05, 51.74it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:05, 51.54it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:05, 51.91it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 51.41it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 51.38it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:04, 50.96it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:03<00:04, 51.29it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 51.68it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 51.77it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:03, 52.14it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:04<00:03, 51.92it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 52.06it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 52.22it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:02, 52.28it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:05<00:02, 52.33it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 52.20it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:06<00:02, 51.59it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:06<00:02, 51.18it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:06<00:01, 51.41it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:06<00:01, 51.69it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:07<00:01, 51.45it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:07<00:01, 50.85it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:07<00:00, 51.15it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:07<00:00, 50.55it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:08<00:00, 50.74it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:08<00:00, 51.17it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:08<00:00, 54.03it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 82.97it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 88.35it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 62.80it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 57.92it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 53.91it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 52.92it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 52.12it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 52.47it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 52.21it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 58.61it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 73%|███████▎ | 22/30 [03:54<01:37, 12.24s/trial, best loss: 457.63899702121245]2024-01-12 14:37:04,229 - build_posterior_wrapper took 0.001027 seconds\n",
- "2024-01-12 14:37:04,231 - TPE using 22/22 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 90.47it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 89.46it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 63.69it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 55.56it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:07, 51.89it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 49.66it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 48.86it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 48.04it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 47.57it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 46.73it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 45.29it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 45.71it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 45.59it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 45.29it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 45.66it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 45.75it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 45.93it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 46.05it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 46.51it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 46.57it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 46.28it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 44.94it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 45.60it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 45.75it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 45.99it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 46.25it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 46.13it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 45.08it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 45.46it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:02, 45.45it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:07<00:01, 45.97it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 44.23it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 44.67it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:08<00:00, 45.39it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:08<00:00, 45.42it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 45.78it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:09<00:00, 46.02it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:09<00:00, 47.97it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 77.15it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 84.67it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 61.41it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 54.77it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 51.20it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 48.60it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 46.96it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 46.81it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 46.80it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 53.65it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 77%|███████▋ | 23/30 [04:07<01:26, 12.40s/trial, best loss: 457.63899702121245]2024-01-12 14:37:17,009 - build_posterior_wrapper took 0.001001 seconds\n",
- "2024-01-12 14:37:17,010 - TPE using 23/23 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 95.52it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 93.75it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 65.86it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:06, 58.15it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:00<00:07, 53.92it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 51.93it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 50.86it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 49.82it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:01<00:06, 49.71it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:06, 49.51it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:06, 49.20it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 49.33it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:02<00:06, 49.24it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:05, 49.38it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 49.54it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 49.57it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:03<00:05, 47.32it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 46.97it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 47.37it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 47.62it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:04<00:04, 47.76it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 45.82it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 46.90it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 48.08it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:05<00:03, 48.70it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:02, 48.88it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 49.31it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:06<00:02, 49.38it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 45.98it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:01, 46.69it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:07<00:01, 47.42it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:07<00:01, 48.04it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:07<00:01, 48.51it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:08<00:00, 48.57it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:08<00:00, 48.97it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:08<00:00, 47.64it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:08<00:00, 47.99it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:08<00:00, 50.45it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 89.20it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 93.53it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 66.02it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 58.13it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 53.36it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 52.32it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 51.45it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 50.79it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:01<00:00, 50.28it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:01<00:00, 57.76it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 80%|████████ | 24/30 [04:19<01:13, 12.33s/trial, best loss: 457.63899702121245]2024-01-12 14:37:29,155 - build_posterior_wrapper took 0.000997 seconds\n",
- "2024-01-12 14:37:29,156 - TPE using 24/24 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:01, 223.52it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:00<00:01, 201.88it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:00<00:01, 183.19it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:00<00:01, 172.33it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:00<00:01, 164.83it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:01<00:01, 159.63it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:01<00:01, 157.23it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:01<00:01, 155.01it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:01<00:01, 154.69it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:01<00:01, 153.88it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:01<00:00, 154.59it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:01<00:00, 153.89it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:02<00:00, 152.24it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:02<00:00, 151.40it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:02<00:00, 151.38it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:02<00:00, 151.94it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:02<00:00, 153.06it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:02<00:00, 162.82it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:00, 223.49it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:00<00:00, 207.89it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:00<00:00, 187.14it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:00<00:00, 204.66it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 83%|████████▎ | 25/30 [04:23<00:48, 9.79s/trial, best loss: 457.63899702121245]2024-01-12 14:37:33,049 - build_posterior_wrapper took 0.000998 seconds\n",
- "2024-01-12 14:37:33,050 - TPE using 25/25 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:05, 85.33it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:05, 83.59it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:07, 58.13it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 51.04it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:08, 47.55it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:08, 45.77it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:08, 44.76it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:08, 44.18it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 43.79it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:07, 43.16it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:07, 42.82it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:03<00:07, 42.96it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 43.15it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:06, 43.24it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:06, 43.08it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:04<00:06, 43.06it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 43.08it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 43.14it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:05<00:05, 43.35it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:05<00:04, 43.34it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 43.32it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 43.36it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:06<00:04, 43.52it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:06<00:03, 42.99it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 43.06it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 43.14it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:07<00:02, 43.07it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:07<00:02, 43.18it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 42.14it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:08<00:02, 42.45it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:08<00:01, 42.52it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:08<00:01, 42.77it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 42.24it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:09<00:01, 42.48it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:09<00:00, 42.67it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:09<00:00, 42.82it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:10<00:00, 42.89it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:10<00:00, 44.92it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 81.30it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:01, 82.28it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 57.78it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 51.32it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 48.09it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 46.35it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 44.99it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 44.31it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 43.63it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 50.65it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 87%|████████▋ | 26/30 [04:36<00:43, 10.94s/trial, best loss: 457.63899702121245]2024-01-12 14:37:46,648 - build_posterior_wrapper took 0.000995 seconds\n",
- "2024-01-12 14:37:46,649 - TPE using 26/26 trials with best loss 457.638997\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- " 0%| | 0/453 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 3%|2 | 12/453 [00:00<00:04, 95.12it/s]\n",
- "\u001B[A\n",
- " 5%|5 | 24/453 [00:00<00:04, 94.02it/s]\n",
- "\u001B[A\n",
- " 8%|7 | 36/453 [00:00<00:06, 65.34it/s]\n",
- "\u001B[A\n",
- " 11%|# | 48/453 [00:00<00:07, 55.48it/s]\n",
- "\u001B[A\n",
- " 13%|#3 | 60/453 [00:01<00:07, 52.38it/s]\n",
- "\u001B[A\n",
- " 16%|#5 | 72/453 [00:01<00:07, 50.85it/s]\n",
- "\u001B[A\n",
- " 19%|#8 | 84/453 [00:01<00:07, 49.76it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 96/453 [00:01<00:07, 49.29it/s]\n",
- "\u001B[A\n",
- " 24%|##3 | 108/453 [00:02<00:07, 49.24it/s]\n",
- "\u001B[A\n",
- " 26%|##6 | 120/453 [00:02<00:06, 49.01it/s]\n",
- "\u001B[A\n",
- " 29%|##9 | 132/453 [00:02<00:06, 48.34it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 144/453 [00:02<00:06, 48.33it/s]\n",
- "\u001B[A\n",
- " 34%|###4 | 156/453 [00:03<00:06, 48.45it/s]\n",
- "\u001B[A\n",
- " 37%|###7 | 168/453 [00:03<00:05, 48.71it/s]\n",
- "\u001B[A\n",
- " 40%|###9 | 180/453 [00:03<00:05, 47.60it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 192/453 [00:03<00:05, 47.30it/s]\n",
- "\u001B[A\n",
- " 45%|####5 | 204/453 [00:04<00:05, 47.23it/s]\n",
- "\u001B[A\n",
- " 48%|####7 | 216/453 [00:04<00:05, 47.37it/s]\n",
- "\u001B[A\n",
- " 50%|##### | 228/453 [00:04<00:04, 45.12it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 240/453 [00:04<00:04, 45.81it/s]\n",
- "\u001B[A\n",
- " 56%|#####5 | 252/453 [00:05<00:04, 46.50it/s]\n",
- "\u001B[A\n",
- " 58%|#####8 | 264/453 [00:05<00:04, 46.25it/s]\n",
- "\u001B[A\n",
- " 61%|###### | 276/453 [00:05<00:03, 45.42it/s]\n",
- "\u001B[A\n",
- " 64%|######3 | 288/453 [00:05<00:03, 45.91it/s]\n",
- "\u001B[A\n",
- " 66%|######6 | 300/453 [00:06<00:03, 46.49it/s]\n",
- "\u001B[A\n",
- " 69%|######8 | 312/453 [00:06<00:03, 47.00it/s]\n",
- "\u001B[A\n",
- " 72%|#######1 | 324/453 [00:06<00:02, 46.98it/s]\n",
- "\u001B[A\n",
- " 74%|#######4 | 336/453 [00:06<00:02, 46.98it/s]\n",
- "\u001B[A\n",
- " 77%|#######6 | 348/453 [00:07<00:02, 47.02it/s]\n",
- "\u001B[A\n",
- " 79%|#######9 | 360/453 [00:07<00:01, 47.16it/s]\n",
- "\u001B[A\n",
- " 82%|########2 | 372/453 [00:07<00:01, 46.78it/s]\n",
- "\u001B[A\n",
- " 85%|########4 | 384/453 [00:07<00:01, 46.33it/s]\n",
- "\u001B[A\n",
- " 87%|########7 | 396/453 [00:08<00:01, 46.80it/s]\n",
- "\u001B[A\n",
- " 90%|######### | 408/453 [00:08<00:00, 47.26it/s]\n",
- "\u001B[A\n",
- " 93%|#########2| 420/453 [00:08<00:00, 46.96it/s]\n",
- "\u001B[A\n",
- " 95%|#########5| 432/453 [00:08<00:00, 47.11it/s]\n",
- "\u001B[A\n",
- " 98%|#########8| 444/453 [00:09<00:00, 46.65it/s]\n",
- "\u001B[A\n",
- "100%|##########| 453/453 [00:09<00:00, 49.26it/s]\n",
- " 0%| | 0/114 [00:00, ?it/s]\n",
- "\u001B[A\n",
- " 11%|# | 12/114 [00:00<00:01, 86.56it/s]\n",
- "\u001B[A\n",
- " 21%|##1 | 24/114 [00:00<00:00, 90.49it/s]\n",
- "\u001B[A\n",
- " 32%|###1 | 36/114 [00:00<00:01, 64.00it/s]\n",
- "\u001B[A\n",
- " 42%|####2 | 48/114 [00:00<00:01, 55.14it/s]\n",
- "\u001B[A\n",
- " 53%|#####2 | 60/114 [00:01<00:01, 52.13it/s]\n",
- "\u001B[A\n",
- " 63%|######3 | 72/114 [00:01<00:00, 50.62it/s]\n",
- "\u001B[A\n",
- " 74%|#######3 | 84/114 [00:01<00:00, 49.38it/s]\n",
- "\u001B[A\n",
- " 84%|########4 | 96/114 [00:01<00:00, 48.05it/s]\n",
- "\u001B[A\n",
- " 95%|#########4| 108/114 [00:02<00:00, 47.66it/s]\n",
- "\u001B[A\n",
- "100%|##########| 114/114 [00:02<00:00, 55.23it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " 90%|█████████ | 27/30 [04:49<00:36, 12.06s/trial, best loss: 457.63899702121245]\n",
- "2024-01-12 14:37:59,307 - SimultaneousTuner - Hyperparameters optimization finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "100%|██████████| 453/453 [00:02<00:00, 160.33it/s]\n",
- "100%|██████████| 114/114 [00:00<00:00, 203.00it/s]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 14:38:03,284 - SimultaneousTuner - Return init graph due to the fact that obtained metric 457.639 worse than initial (+ 0.05% deviation) 457.410\n",
- "2024-01-12 14:38:03,285 - SimultaneousTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [ridge, quantile_extractor]}\n",
- "ridge - {}\n",
- "quantile_extractor - {'window_size': 0}\n",
- "2024-01-12 14:38:03,285 - SimultaneousTuner - Final metric: 457.639\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "100%|██████████| 567/567 [00:03<00:00, 155.53it/s]\n",
- "100%|██████████| 243/243 [00:01<00:00, 173.90it/s]\n"
- ]
- }
- ],
- "source": [
- "from cases.utils import finetune\n",
- "finetune(tuning_params, model_dict, train_data, test_data, val_data, input_data)"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "outputs": [
- {
- "data": {
- "text/plain": " r2_score: mean_squared_error: \\\nregression_with_statistical_features 0.251014 197808.184612 \n\n root_mean_squared_error: \\\nregression_with_statistical_features 444.75632 \n\n mean_absolute_error \\\nregression_with_statistical_features 257.159778 \n\n median_absolute_error \\\nregression_with_statistical_features 135.067006 \n\n explained_variance_score max_error \\\nregression_with_statistical_features 0.253476 1900.097811 \n\n d2_absolute_error_score \\\nregression_with_statistical_features -0.333187 \n\n model_params \nregression_with_statistical_features {ridge: {}, quantile_extractor: {'window_size': 0}} ",
- "text/html": "\n\n
\n \n \n \n r2_score: \n mean_squared_error: \n root_mean_squared_error: \n mean_absolute_error \n median_absolute_error \n explained_variance_score \n max_error \n d2_absolute_error_score \n model_params \n \n \n \n \n regression_with_statistical_features \n 0.251014 \n 197808.184612 \n 444.75632 \n 257.159778 \n 135.067006 \n 0.253476 \n 1900.097811 \n -0.333187 \n {ridge: {}, quantile_extractor: {'window_size': 0}} \n \n \n
\n
"
- },
- "execution_count": 13,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_tuned = pd.concat([x for x in metric_dict.values()],axis=0).T\n",
- "df_tuned.columns = list(metric_dict.keys())\n",
- "df_tuned.T.sort_values('root_mean_squared_error:')"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "outputs": [
- {
- "data": {
- "text/plain": "\"{ridge: {}, quantile_extractor: {'window_size': 0}}\""
- },
- "execution_count": 14,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df_tuned.T.sort_values('root_mean_squared_error:')['model_params'].iloc[0]"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "outputs": [],
- "source": [
- "best_tuned = df_tuned.T.sort_values('root_mean_squared_error:')['root_mean_squared_error:'].iloc[0]"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Even better? AutoML approach"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 15:40:41,380 - Initialising experiment setup\n",
- "2024-01-12 15:40:41,381 - Initialising Industrial Repository\n",
- "2024-01-12 15:40:41,382 - Initialising solver\n",
- "2024-01-12 15:41:19,986 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 6.7 MiB, max: 13.4 MiB\n",
- "2024-01-12 15:41:19,988 - ApiComposer - Initial pipeline was fitted in 38.0 sec.\n",
- "2024-01-12 15:41:19,990 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
- "2024-01-12 15:41:19,998 - ApiComposer - AutoML configured. Parameters tuning: False. Time limit: 20 min. Set of candidate models: ['rfr', 'ridge', 'gbr', 'sgdr', 'linear', 'xgbreg', 'dtreg', 'treg', 'scaling', 'normalization', 'kernel_pca', 'eigen_basis', 'fourier_basis', 'minirocket_extractor', 'quantile_extractor', 'signal_extractor'].\n",
- "2024-01-12 15:41:20,018 - ApiComposer - Pipeline composition started.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 0%| | 0/5 [00:00, ?gen/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 15:44:32,364 - IndustrialDispatcher - 2 individuals out of 2 in previous population were evaluated successfully.\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- "SVD estimation: 0%| | 0/453 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/453 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 7/453 [00:00<00:12, 35.99it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 2%|▏ | 7/453 [00:00<00:13, 33.58it/s]\u001B[A\n",
- "SVD estimation: 4%|▍ | 20/453 [00:00<00:06, 71.99it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 5%|▌ | 23/453 [00:00<00:04, 86.42it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/453 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 8%|▊ | 37/453 [00:00<00:03, 105.93it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▉ | 40/453 [00:00<00:03, 114.18it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 3%|▎ | 12/453 [00:00<00:09, 46.64it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 5%|▌ | 24/453 [00:00<00:08, 52.57it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 7%|▋ | 30/453 [00:00<00:08, 52.36it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 8%|▊ | 36/453 [00:00<00:08, 46.89it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 9%|▉ | 42/453 [00:00<00:08, 48.27it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█ | 48/453 [00:01<00:09, 44.60it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 12%|█▏ | 54/453 [00:01<00:08, 44.89it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 13%|█▎ | 60/453 [00:01<00:09, 42.07it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 15%|█▍ | 66/453 [00:01<00:08, 44.49it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 16%|█▌ | 72/453 [00:01<00:08, 46.47it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 17%|█▋ | 78/453 [00:01<00:07, 48.20it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 19%|█▊ | 84/453 [00:01<00:07, 46.50it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 20%|█▉ | 90/453 [00:01<00:07, 48.34it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 21%|██ | 96/453 [00:02<00:07, 49.71it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 23%|██▎ | 102/453 [00:02<00:08, 42.89it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 24%|██▍ | 108/453 [00:02<00:07, 45.88it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 25%|██▌ | 114/453 [00:02<00:08, 38.94it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 28%|██▊ | 126/453 [00:02<00:06, 48.32it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 11%|█ | 50/453 [00:03<00:36, 11.15it/s] \u001B[A\n",
- "\n",
- "\n",
- " 29%|██▉ | 132/453 [00:02<00:06, 46.97it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 30%|███ | 138/453 [00:02<00:06, 48.26it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 32%|███▏ | 144/453 [00:03<00:06, 46.11it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 33%|███▎ | 150/453 [00:03<00:06, 46.26it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 12%|█▏ | 53/453 [00:03<00:40, 9.98it/s] \u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 34%|███▍ | 156/453 [00:03<00:06, 48.06it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 36%|███▌ | 162/453 [00:03<00:06, 44.28it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 38%|███▊ | 174/453 [00:03<00:05, 46.51it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 40%|███▉ | 180/453 [00:03<00:05, 48.37it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 41%|████ | 186/453 [00:04<00:05, 45.29it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 42%|████▏ | 192/453 [00:04<00:05, 46.22it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 44%|████▎ | 198/453 [00:04<00:05, 47.98it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 45%|████▌ | 204/453 [00:04<00:05, 49.71it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 46%|████▋ | 210/453 [00:04<00:05, 47.56it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 48%|████▊ | 216/453 [00:04<00:05, 44.91it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 49%|████▉ | 222/453 [00:04<00:04, 46.44it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 50%|█████ | 228/453 [00:04<00:04, 48.26it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 13%|█▎ | 58/453 [00:05<00:53, 7.44it/s]\u001B[A\n",
- "\n",
- "\n",
- " 52%|█████▏ | 234/453 [00:04<00:04, 50.26it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 53%|█████▎ | 240/453 [00:05<00:04, 51.37it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 54%|█████▍ | 246/453 [00:05<00:04, 47.40it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 61/453 [00:05<00:53, 7.26it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 56%|█████▌ | 252/453 [00:05<00:04, 48.42it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 57%|█████▋ | 258/453 [00:05<00:03, 49.16it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 58%|█████▊ | 264/453 [00:05<00:04, 39.99it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 61%|██████ | 276/453 [00:05<00:04, 41.84it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 62%|██████▏ | 282/453 [00:06<00:04, 42.41it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 64%|██████▎ | 288/453 [00:06<00:03, 44.88it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 14%|█▍ | 63/453 [00:06<01:01, 6.37it/s]\u001B[A\n",
- "\n",
- "\n",
- " 65%|██████▍ | 294/453 [00:06<00:03, 45.16it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 66%|██████▌ | 300/453 [00:06<00:03, 43.36it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 68%|██████▊ | 306/453 [00:06<00:03, 37.81it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 69%|██████▉ | 312/453 [00:06<00:03, 41.03it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 70%|███████ | 318/453 [00:06<00:03, 41.84it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 72%|███████▏ | 324/453 [00:07<00:02, 45.25it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 73%|███████▎ | 330/453 [00:07<00:02, 48.03it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▍ | 67/453 [00:07<01:06, 5.78it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 74%|███████▍ | 336/453 [00:07<00:02, 47.95it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 75%|███████▌ | 342/453 [00:07<00:02, 42.71it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 77%|███████▋ | 348/453 [00:07<00:02, 44.89it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 15%|█▍ | 67/453 [00:08<01:12, 5.29it/s]\u001B[A\n",
- "\n",
- "\n",
- " 78%|███████▊ | 354/453 [00:07<00:02, 40.38it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 79%|███████▉ | 360/453 [00:07<00:02, 42.97it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 81%|████████ | 366/453 [00:08<00:01, 45.82it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 82%|████████▏ | 372/453 [00:08<00:01, 48.16it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▌ | 71/453 [00:08<01:11, 5.38it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 83%|████████▎ | 378/453 [00:08<00:01, 45.73it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 85%|████████▍ | 384/453 [00:08<00:01, 46.64it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 86%|████████▌ | 390/453 [00:08<00:01, 42.49it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 15%|█▌ | 70/453 [00:09<01:22, 4.62it/s]\u001B[A\n",
- "\n",
- "\n",
- " 87%|████████▋ | 396/453 [00:08<00:01, 42.50it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 89%|████████▊ | 402/453 [00:08<00:01, 43.10it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 90%|█████████ | 408/453 [00:09<00:01, 35.57it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 16%|█▌ | 72/453 [00:09<01:24, 4.51it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▋ | 74/453 [00:09<01:19, 4.79it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 93%|█████████▎| 420/453 [00:09<00:00, 47.69it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 94%|█████████▍| 426/453 [00:09<00:00, 46.97it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 95%|█████████▌| 432/453 [00:09<00:00, 40.88it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 76/453 [00:10<01:21, 4.61it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 98%|█████████▊| 444/453 [00:09<00:00, 42.25it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 16%|█▋ | 74/453 [00:10<01:31, 4.16it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 453/453 [00:09<00:00, 45.57it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 75/453 [00:10<01:29, 4.23it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 78/453 [00:10<01:19, 4.71it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 18%|█▊ | 81/453 [00:10<00:50, 7.41it/s]\u001B[A\n",
- "SVD estimation: 19%|█▉ | 85/453 [00:10<00:37, 9.87it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▉ | 87/453 [00:10<00:42, 8.64it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 24%|██▍ | 108/453 [00:10<00:11, 31.20it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▍ | 111/453 [00:10<00:14, 23.22it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 29%|██▉ | 133/453 [00:10<00:05, 57.76it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 30%|███ | 137/453 [00:10<00:07, 42.67it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 35%|███▍ | 157/453 [00:11<00:03, 84.39it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 36%|███▌ | 161/453 [00:11<00:04, 63.23it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 40%|███▉ | 181/453 [00:11<00:02, 110.98it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 41%|████ | 186/453 [00:11<00:03, 87.31it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 45%|████▍ | 203/453 [00:11<00:01, 130.86it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 46%|████▌ | 207/453 [00:11<00:02, 105.75it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 50%|████▉ | 225/453 [00:11<00:01, 150.10it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 51%|█████ | 230/453 [00:11<00:01, 127.94it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 56%|█████▌ | 252/453 [00:11<00:01, 177.86it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 57%|█████▋ | 257/453 [00:11<00:01, 156.28it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 61%|██████ | 276/453 [00:11<00:00, 192.72it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 62%|██████▏ | 282/453 [00:11<00:00, 177.17it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 67%|██████▋ | 305/453 [00:11<00:00, 214.63it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 69%|██████▊ | 311/453 [00:11<00:00, 201.39it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 73%|███████▎ | 330/453 [00:11<00:00, 223.16it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 74%|███████▍ | 336/453 [00:11<00:00, 211.25it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 79%|███████▊ | 356/453 [00:11<00:00, 231.55it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 80%|███████▉ | 361/453 [00:11<00:00, 220.42it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 84%|████████▍ | 381/453 [00:11<00:00, 235.61it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 85%|████████▌ | 387/453 [00:11<00:00, 230.78it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 90%|████████▉ | 406/453 [00:12<00:00, 239.23it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 91%|█████████ | 412/453 [00:12<00:00, 233.73it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 96%|█████████▌| 433/453 [00:12<00:00, 245.51it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 100%|██████████| 453/453 [00:12<00:00, 37.11it/s] \u001B[A\u001B[A\n",
- "SVD estimation: 100%|██████████| 453/453 [00:12<00:00, 35.82it/s] \n",
- "\n",
- " 0%| | 0/453 [00:00, ?it/s]\u001B[A\n",
- " 3%|▎ | 12/453 [00:01<00:44, 9.89it/s]\u001B[A\n",
- " 4%|▍ | 18/453 [00:02<00:52, 8.23it/s]\u001B[A\n",
- " 5%|▌ | 24/453 [00:03<01:01, 6.98it/s]\u001B[A\n",
- " 7%|▋ | 30/453 [00:04<01:04, 6.55it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/114 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- " 5%|▌ | 6/114 [00:00<00:03, 30.23it/s]\u001B[A\u001B[A\n",
- " 8%|▊ | 36/453 [00:05<01:10, 5.90it/s]\u001B[A\n",
- "\n",
- " 11%|█ | 12/114 [00:01<00:15, 6.48it/s]\u001B[A\u001B[A\n",
- " 9%|▉ | 42/453 [00:06<01:12, 5.65it/s]\u001B[A\n",
- " 11%|█ | 48/453 [00:08<01:23, 4.86it/s]\u001B[A\n",
- "\n",
- " 16%|█▌ | 18/114 [00:03<00:22, 4.22it/s]\u001B[A\u001B[A\n",
- " 12%|█▏ | 54/453 [00:09<01:19, 5.04it/s]\u001B[A\n",
- " 12%|█▏ | 55/453 [00:09<01:17, 5.16it/s]\u001B[A\n",
- " 12%|█▏ | 56/453 [00:09<01:17, 5.15it/s]\u001B[A\n",
- " 13%|█▎ | 57/453 [00:09<01:14, 5.30it/s]\u001B[A\n",
- " 13%|█▎ | 58/453 [00:09<01:10, 5.62it/s]\u001B[A\n",
- "\n",
- " 21%|██ | 24/114 [00:05<00:22, 4.01it/s]\u001B[A\u001B[A\n",
- " 13%|█▎ | 59/453 [00:10<01:10, 5.62it/s]\u001B[A\n",
- "\n",
- " 22%|██▏ | 25/114 [00:05<00:21, 4.18it/s]\u001B[A\u001B[A\n",
- "\n",
- " 23%|██▎ | 26/114 [00:05<00:21, 4.14it/s]\u001B[A\u001B[A\n",
- "\n",
- " 24%|██▎ | 27/114 [00:05<00:19, 4.42it/s]\u001B[A\u001B[A\n",
- "\n",
- " 25%|██▍ | 28/114 [00:05<00:18, 4.64it/s]\u001B[A\u001B[A\n",
- " 13%|█▎ | 60/453 [00:10<01:43, 3.80it/s]\u001B[A\n",
- " 13%|█▎ | 61/453 [00:10<01:32, 4.25it/s]\u001B[A\n",
- " 14%|█▎ | 62/453 [00:11<01:25, 4.59it/s]\u001B[A\n",
- " 14%|█▍ | 63/453 [00:11<01:19, 4.93it/s]\u001B[A\n",
- " 14%|█▍ | 64/453 [00:11<01:13, 5.32it/s]\u001B[A\n",
- " 15%|█▍ | 66/453 [00:11<01:26, 4.46it/s]\u001B[A\n",
- "\n",
- " 26%|██▋ | 30/114 [00:07<00:29, 2.81it/s]\u001B[A\u001B[A\n",
- "\n",
- " 27%|██▋ | 31/114 [00:07<00:26, 3.10it/s]\u001B[A\u001B[A\n",
- " 16%|█▌ | 72/453 [00:13<01:22, 4.61it/s]\u001B[A\n",
- " 16%|█▌ | 73/453 [00:13<01:18, 4.87it/s]\u001B[A\n",
- " 16%|█▋ | 74/453 [00:13<01:16, 4.96it/s]\u001B[A\n",
- " 17%|█▋ | 75/453 [00:13<01:10, 5.36it/s]\u001B[A\n",
- "\n",
- " 32%|███▏ | 36/114 [00:09<00:25, 3.02it/s]\u001B[A\u001B[A\n",
- "\n",
- " 32%|███▏ | 37/114 [00:09<00:23, 3.21it/s]\u001B[A\u001B[A\n",
- " 17%|█▋ | 78/453 [00:14<01:23, 4.48it/s]\u001B[A\n",
- " 17%|█▋ | 79/453 [00:14<01:21, 4.59it/s]\u001B[A\n",
- " 18%|█▊ | 80/453 [00:14<01:20, 4.64it/s]\u001B[A\n",
- " 18%|█▊ | 81/453 [00:14<01:15, 4.94it/s]\u001B[A\n",
- " 19%|█▊ | 84/453 [00:15<01:35, 3.88it/s]\u001B[A\n",
- "\n",
- " 37%|███▋ | 42/114 [00:11<00:24, 2.92it/s]\u001B[A\u001B[A\n",
- " 19%|█▉ | 85/453 [00:16<01:25, 4.31it/s]\u001B[A\n",
- "\n",
- " 38%|███▊ | 43/114 [00:11<00:22, 3.13it/s]\u001B[A\u001B[A\n",
- " 19%|█▉ | 86/453 [00:16<01:29, 4.11it/s]\u001B[A\n",
- "\n",
- " 39%|███▊ | 44/114 [00:11<00:22, 3.06it/s]\u001B[A\u001B[A\n",
- " 19%|█▉ | 87/453 [00:16<01:33, 3.91it/s]\u001B[A\n",
- "\n",
- " 39%|███▉ | 45/114 [00:12<00:21, 3.27it/s]\u001B[A\u001B[A\n",
- " 19%|█▉ | 88/453 [00:16<01:35, 3.82it/s]\u001B[A\n",
- "\n",
- " 40%|████ | 46/114 [00:12<00:20, 3.33it/s]\u001B[A\u001B[A\n",
- " 20%|█▉ | 89/453 [00:17<01:31, 3.96it/s]\u001B[A\n",
- "\n",
- " 41%|████ | 47/114 [00:12<00:18, 3.57it/s]\u001B[A\u001B[A\n",
- "\n",
- " 42%|████▏ | 48/114 [00:12<00:21, 3.05it/s]\u001B[A\u001B[A\n",
- " 20%|█▉ | 90/453 [00:17<02:02, 2.97it/s]\u001B[A\n",
- " 20%|██ | 91/453 [00:17<01:54, 3.17it/s]\u001B[A\n",
- " 21%|██ | 96/453 [00:18<01:10, 5.03it/s]\u001B[A\n",
- "\n",
- " 47%|████▋ | 54/114 [00:14<00:20, 2.92it/s]\u001B[A\u001B[A\n",
- "\n",
- " 48%|████▊ | 55/114 [00:15<00:18, 3.23it/s]\u001B[A\u001B[A\n",
- " 23%|██▎ | 102/453 [00:19<01:13, 4.78it/s]\u001B[A\n",
- " 23%|██▎ | 103/453 [00:20<01:11, 4.92it/s]\u001B[A\n",
- " 23%|██▎ | 104/453 [00:20<01:12, 4.79it/s]\u001B[A\n",
- " 23%|██▎ | 105/453 [00:20<01:08, 5.10it/s]\u001B[A\n",
- " 23%|██▎ | 106/453 [00:20<01:05, 5.28it/s]\u001B[A\n",
- " 24%|██▎ | 107/453 [00:20<01:00, 5.75it/s]\u001B[A\n",
- " 24%|██▍ | 108/453 [00:21<01:35, 3.61it/s]\u001B[A\n",
- " 24%|██▍ | 109/453 [00:21<01:27, 3.93it/s]\u001B[A\n",
- "\n",
- " 53%|█████▎ | 60/114 [00:17<00:18, 2.91it/s]\u001B[A\u001B[A\n",
- " 24%|██▍ | 110/453 [00:21<01:23, 4.10it/s]\u001B[A\n",
- "\n",
- " 54%|█████▎ | 61/114 [00:17<00:17, 3.10it/s]\u001B[A\u001B[A\n",
- " 25%|██▍ | 111/453 [00:22<01:30, 3.76it/s]\u001B[A\n",
- "\n",
- " 54%|█████▍ | 62/114 [00:17<00:17, 2.98it/s]\u001B[A\u001B[A\n",
- " 25%|██▍ | 112/453 [00:22<01:37, 3.50it/s]\u001B[A\n",
- "\n",
- " 55%|█████▌ | 63/114 [00:17<00:15, 3.32it/s]\u001B[A\u001B[A\n",
- " 25%|██▍ | 113/453 [00:22<01:28, 3.84it/s]\u001B[A\n",
- "\n",
- " 56%|█████▌ | 64/114 [00:17<00:13, 3.58it/s]\u001B[A\u001B[A\n",
- " 25%|██▌ | 114/453 [00:22<01:36, 3.50it/s]\u001B[A\n",
- "\n",
- " 58%|█████▊ | 66/114 [00:18<00:15, 3.14it/s]\u001B[A\u001B[A\n",
- "\n",
- " 59%|█████▉ | 67/114 [00:18<00:12, 3.64it/s]\u001B[A\u001B[A\n",
- " 26%|██▋ | 120/453 [00:23<01:04, 5.19it/s]\u001B[A\n",
- " 27%|██▋ | 121/453 [00:24<01:00, 5.49it/s]\u001B[A\n",
- " 27%|██▋ | 122/453 [00:24<00:57, 5.79it/s]\u001B[A\n",
- " 27%|██▋ | 123/453 [00:24<01:03, 5.23it/s]\u001B[A\n",
- " 28%|██▊ | 126/453 [00:25<01:05, 5.01it/s]\u001B[A\n",
- " 28%|██▊ | 127/453 [00:25<01:10, 4.64it/s]\u001B[A\n",
- "\n",
- " 63%|██████▎ | 72/114 [00:20<00:13, 3.08it/s]\u001B[A\u001B[A\n",
- " 28%|██▊ | 128/453 [00:25<01:06, 4.85it/s]\u001B[A\n",
- "\n",
- " 64%|██████▍ | 73/114 [00:21<00:12, 3.21it/s]\u001B[A\u001B[A\n",
- " 28%|██▊ | 129/453 [00:25<01:08, 4.75it/s]\u001B[A\n",
- "\n",
- " 65%|██████▍ | 74/114 [00:21<00:12, 3.23it/s]\u001B[A\u001B[A\n",
- " 29%|██▊ | 130/453 [00:26<01:19, 4.08it/s]\u001B[A\n",
- "\n",
- " 66%|██████▌ | 75/114 [00:21<00:11, 3.26it/s]\u001B[A\u001B[A\n",
- " 29%|██▉ | 131/453 [00:26<01:16, 4.18it/s]\u001B[A\n",
- "\n",
- " 67%|██████▋ | 76/114 [00:21<00:10, 3.53it/s]\u001B[A\u001B[A\n",
- "\n",
- " 68%|██████▊ | 77/114 [00:21<00:10, 3.46it/s]\u001B[A\u001B[A\n",
- " 29%|██▉ | 132/453 [00:26<01:42, 3.12it/s]\u001B[A\n",
- " 29%|██▉ | 133/453 [00:26<01:27, 3.67it/s]\u001B[A\n",
- " 30%|██▉ | 134/453 [00:27<01:14, 4.29it/s]\u001B[A\n",
- "\n",
- " 68%|██████▊ | 78/114 [00:22<00:13, 2.67it/s]\u001B[A\u001B[A\n",
- "\n",
- " 69%|██████▉ | 79/114 [00:22<00:10, 3.27it/s]\u001B[A\u001B[A\n",
- " 30%|███ | 138/453 [00:27<01:06, 4.75it/s]\u001B[A\n",
- " 32%|███▏ | 144/453 [00:29<01:08, 4.53it/s]\u001B[A\n",
- " 32%|███▏ | 145/453 [00:29<01:07, 4.59it/s]\u001B[A\n",
- "\n",
- " 74%|███████▎ | 84/114 [00:24<00:11, 2.53it/s]\u001B[A\u001B[A\n",
- " 32%|███▏ | 146/453 [00:29<01:07, 4.58it/s]\u001B[A\n",
- "\n",
- " 75%|███████▍ | 85/114 [00:25<00:10, 2.82it/s]\u001B[A\u001B[A\n",
- " 32%|███▏ | 147/453 [00:30<01:07, 4.50it/s]\u001B[A\n",
- "\n",
- " 75%|███████▌ | 86/114 [00:25<00:10, 2.75it/s]\u001B[A\u001B[A\n",
- " 33%|███▎ | 148/453 [00:30<01:14, 4.08it/s]\u001B[A\n",
- "\n",
- " 76%|███████▋ | 87/114 [00:25<00:09, 2.98it/s]\u001B[A\u001B[A\n",
- " 33%|███▎ | 149/453 [00:30<01:09, 4.40it/s]\u001B[A\n",
- "\n",
- " 77%|███████▋ | 88/114 [00:25<00:07, 3.44it/s]\u001B[A\u001B[A\n",
- "\n",
- " 78%|███████▊ | 89/114 [00:25<00:06, 4.03it/s]\u001B[A\u001B[A\n",
- " 33%|███▎ | 150/453 [00:30<01:30, 3.34it/s]\u001B[A\n",
- " 33%|███▎ | 151/453 [00:31<01:18, 3.83it/s]\u001B[A\n",
- " 34%|███▎ | 152/453 [00:31<01:12, 4.13it/s]\u001B[A\n",
- " 34%|███▍ | 153/453 [00:31<01:12, 4.14it/s]\u001B[A\n",
- "\n",
- " 79%|███████▉ | 90/114 [00:26<00:10, 2.18it/s]\u001B[A\u001B[A\n",
- " 34%|███▍ | 154/453 [00:31<01:05, 4.56it/s]\u001B[A\n",
- " 34%|███▍ | 155/453 [00:31<00:57, 5.16it/s]\u001B[A\n",
- " 34%|███▍ | 156/453 [00:32<01:28, 3.37it/s]\u001B[A\n",
- " 36%|███▌ | 162/453 [00:33<00:53, 5.40it/s]\u001B[A\n",
- " 36%|███▌ | 163/453 [00:33<00:50, 5.69it/s]\u001B[A\n",
- " 36%|███▌ | 164/453 [00:33<00:49, 5.83it/s]\u001B[A\n",
- "\n",
- " 84%|████████▍ | 96/114 [00:28<00:06, 2.81it/s]\u001B[A\u001B[A\n",
- "\n",
- " 85%|████████▌ | 97/114 [00:29<00:05, 2.97it/s]\u001B[A\u001B[A\n",
- " 37%|███▋ | 168/453 [00:34<00:53, 5.29it/s]\u001B[A\n",
- " 37%|███▋ | 169/453 [00:34<00:53, 5.27it/s]\u001B[A\n",
- " 38%|███▊ | 170/453 [00:34<00:51, 5.45it/s]\u001B[A\n",
- " 38%|███▊ | 171/453 [00:34<00:49, 5.66it/s]\u001B[A\n",
- " 38%|███▊ | 172/453 [00:34<00:48, 5.83it/s]\u001B[A\n",
- " 38%|███▊ | 173/453 [00:35<00:49, 5.67it/s]\u001B[A\n",
- "\n",
- " 89%|████████▉ | 102/114 [00:30<00:04, 2.96it/s]\u001B[A\u001B[A\n",
- "\n",
- " 90%|█████████ | 103/114 [00:30<00:03, 3.16it/s]\u001B[A\u001B[A\n",
- " 38%|███▊ | 174/453 [00:36<01:37, 2.86it/s]\u001B[A\n",
- " 40%|███▉ | 180/453 [00:36<00:54, 4.99it/s]\u001B[A\n",
- " 40%|███▉ | 181/453 [00:37<00:55, 4.90it/s]\u001B[A\n",
- " 40%|████ | 182/453 [00:37<00:59, 4.54it/s]\u001B[A\n",
- "\n",
- " 95%|█████████▍| 108/114 [00:32<00:02, 2.97it/s]\u001B[A\u001B[A\n",
- "\n",
- " 96%|█████████▌| 109/114 [00:32<00:01, 3.17it/s]\u001B[A\u001B[A\n",
- "\n",
- " 96%|█████████▋| 110/114 [00:33<00:01, 3.44it/s]\u001B[A\u001B[A\n",
- "\n",
- " 97%|█████████▋| 111/114 [00:33<00:00, 3.59it/s]\u001B[A\u001B[A\n",
- " 41%|████ | 186/453 [00:38<00:50, 5.31it/s]\u001B[A\n",
- "\n",
- " 98%|█████████▊| 112/114 [00:33<00:00, 4.01it/s]\u001B[A\u001B[A\n",
- " 41%|████▏ | 187/453 [00:38<00:57, 4.67it/s]\u001B[A\n",
- "\n",
- " 99%|█████████▉| 113/114 [00:33<00:00, 3.68it/s]\u001B[A\u001B[A\n",
- " 42%|████▏ | 188/453 [00:38<01:02, 4.21it/s]\u001B[A\n",
- " 42%|████▏ | 189/453 [00:38<01:01, 4.27it/s]\u001B[A\n",
- " 42%|████▏ | 190/453 [00:39<00:56, 4.63it/s]\u001B[A\n",
- "\n",
- "100%|██████████| 114/114 [00:34<00:00, 3.29it/s]\u001B[A\u001B[A\n",
- "\n",
- " 42%|████▏ | 192/453 [00:39<01:00, 4.29it/s]\u001B[A\n",
- " 43%|████▎ | 193/453 [00:39<00:54, 4.75it/s]\u001B[A\n",
- " 43%|████▎ | 194/453 [00:39<00:58, 4.44it/s]\u001B[A\n",
- " 44%|████▎ | 198/453 [00:40<00:53, 4.78it/s]\u001B[A\n",
- " 44%|████▍ | 199/453 [00:40<00:50, 5.06it/s]\u001B[A\n",
- " 44%|████▍ | 200/453 [00:41<00:54, 4.68it/s]\u001B[A\n",
- " 44%|████▍ | 201/453 [00:41<00:48, 5.15it/s]\u001B[A\n",
- " 45%|████▍ | 202/453 [00:41<00:44, 5.62it/s]\u001B[A\n",
- " 45%|████▍ | 203/453 [00:41<00:40, 6.16it/s]\u001B[A\n",
- " 45%|████▌ | 204/453 [00:41<00:48, 5.10it/s]\u001B[A\n",
- " 46%|████▋ | 210/453 [00:42<00:39, 6.18it/s]\u001B[A\n",
- " 48%|████▊ | 216/453 [00:43<00:37, 6.32it/s]\u001B[A\n",
- " 49%|████▉ | 222/453 [00:44<00:38, 6.00it/s]\u001B[A\n",
- " 50%|█████ | 228/453 [00:45<00:37, 6.03it/s]\u001B[A\n",
- " 52%|█████▏ | 234/453 [00:46<00:35, 6.18it/s]\u001B[A\n",
- " 53%|█████▎ | 240/453 [00:47<00:36, 5.85it/s]\u001B[A\n",
- " 54%|█████▍ | 246/453 [00:48<00:34, 6.05it/s]\u001B[A\n",
- " 56%|█████▌ | 252/453 [00:49<00:33, 6.09it/s]\u001B[A\n",
- " 57%|█████▋ | 258/453 [00:50<00:32, 5.92it/s]\u001B[A\n",
- " 58%|█████▊ | 264/453 [00:51<00:34, 5.53it/s]\u001B[A\n",
- " 60%|█████▉ | 270/453 [00:53<00:33, 5.49it/s]\u001B[A\n",
- " 61%|██████ | 276/453 [00:54<00:31, 5.69it/s]\u001B[A\n",
- " 62%|██████▏ | 282/453 [00:55<00:30, 5.59it/s]\u001B[A\n",
- " 64%|██████▎ | 288/453 [00:56<00:29, 5.55it/s]\u001B[A\n",
- " 65%|██████▍ | 294/453 [00:57<00:28, 5.49it/s]\u001B[A\n",
- " 66%|██████▌ | 300/453 [00:58<00:27, 5.47it/s]\u001B[A\n",
- " 68%|██████▊ | 306/453 [00:59<00:25, 5.71it/s]\u001B[A\n",
- " 69%|██████▉ | 312/453 [01:00<00:24, 5.73it/s]\u001B[A\n",
- " 70%|███████ | 318/453 [01:01<00:24, 5.48it/s]\u001B[A\n",
- " 72%|███████▏ | 324/453 [01:02<00:22, 5.63it/s]\u001B[A\n",
- " 73%|███████▎ | 330/453 [01:03<00:22, 5.45it/s]\u001B[A\n",
- " 74%|███████▍ | 336/453 [01:05<00:21, 5.33it/s]\u001B[A\n",
- " 75%|███████▌ | 342/453 [01:05<00:20, 5.54it/s]\u001B[A\n",
- " 77%|███████▋ | 348/453 [01:06<00:18, 5.69it/s]\u001B[A\n",
- " 78%|███████▊ | 354/453 [01:08<00:17, 5.54it/s]\u001B[A\n",
- " 79%|███████▉ | 360/453 [01:09<00:16, 5.60it/s]\u001B[A\n",
- " 81%|████████ | 366/453 [01:10<00:14, 5.85it/s]\u001B[A\n",
- " 82%|████████▏ | 372/453 [01:11<00:13, 5.92it/s]\u001B[A\n",
- " 83%|████████▎ | 378/453 [01:12<00:13, 5.65it/s]\u001B[A\n",
- " 85%|████████▍ | 384/453 [01:13<00:12, 5.41it/s]\u001B[A\n",
- " 86%|████████▌ | 390/453 [01:14<00:11, 5.39it/s]\u001B[A\n",
- " 87%|████████▋ | 396/453 [01:15<00:10, 5.58it/s]\u001B[A\n",
- " 89%|████████▊ | 402/453 [01:16<00:09, 5.48it/s]\u001B[A\n",
- " 90%|█████████ | 408/453 [01:17<00:08, 5.50it/s]\u001B[A\n",
- " 91%|█████████▏| 414/453 [01:18<00:07, 5.42it/s]\u001B[A\n",
- " 93%|█████████▎| 420/453 [01:20<00:06, 5.47it/s]\u001B[A\n",
- " 94%|█████████▍| 426/453 [01:21<00:05, 5.39it/s]\u001B[A\n",
- " 95%|█████████▌| 432/453 [01:22<00:03, 5.55it/s]\u001B[A\n",
- " 97%|█████████▋| 438/453 [01:23<00:02, 5.83it/s]\u001B[A\n",
- " 98%|█████████▊| 444/453 [01:24<00:01, 5.78it/s]\u001B[A\n",
- "100%|██████████| 453/453 [01:25<00:00, 5.30it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/453 [00:00, ?it/s]\u001B[A\n",
- " 3%|▎ | 12/453 [00:00<00:04, 99.44it/s]\u001B[A\n",
- " 5%|▌ | 24/453 [00:00<00:07, 56.55it/s]\u001B[A\n",
- " 8%|▊ | 36/453 [00:00<00:09, 42.62it/s]\u001B[A\n",
- " 11%|█ | 48/453 [00:01<00:09, 43.25it/s]\u001B[A\n",
- " 13%|█▎ | 60/453 [00:01<00:09, 43.66it/s]\u001B[A\n",
- " 16%|█▌ | 72/453 [00:01<00:08, 44.57it/s]\u001B[A\n",
- " 19%|█▊ | 84/453 [00:01<00:08, 44.14it/s]\u001B[A\n",
- " 21%|██ | 96/453 [00:02<00:08, 43.06it/s]\u001B[A\n",
- " 24%|██▍ | 108/453 [00:02<00:08, 42.65it/s]\u001B[A\n",
- " 26%|██▋ | 120/453 [00:02<00:07, 43.86it/s]\u001B[A\n",
- " 29%|██▉ | 132/453 [00:02<00:07, 41.51it/s]\u001B[A\n",
- " 32%|███▏ | 144/453 [00:03<00:07, 40.86it/s]\u001B[A\n",
- " 34%|███▍ | 156/453 [00:03<00:07, 38.54it/s]\u001B[A\n",
- " 37%|███▋ | 168/453 [00:03<00:06, 41.39it/s]\u001B[A\n",
- " 40%|███▉ | 180/453 [00:04<00:07, 35.91it/s]\u001B[A\n",
- " 42%|████▏ | 192/453 [00:04<00:06, 37.99it/s]\u001B[A\n",
- " 45%|████▌ | 204/453 [00:04<00:06, 38.20it/s]\u001B[A\n",
- " 48%|████▊ | 216/453 [00:05<00:06, 34.69it/s]\u001B[A\n",
- " 50%|█████ | 228/453 [00:05<00:05, 42.35it/s]\u001B[A\n",
- " 53%|█████▎ | 240/453 [00:05<00:04, 44.27it/s]\u001B[A\n",
- " 56%|█████▌ | 252/453 [00:06<00:05, 40.18it/s]\u001B[A\n",
- " 58%|█████▊ | 264/453 [00:06<00:04, 39.18it/s]\u001B[A\n",
- " 61%|██████ | 276/453 [00:06<00:04, 37.99it/s]\u001B[A\n",
- " 64%|██████▎ | 288/453 [00:07<00:04, 37.80it/s]\u001B[A\n",
- " 66%|██████▌ | 300/453 [00:07<00:04, 37.43it/s]\u001B[A\n",
- " 69%|██████▉ | 312/453 [00:07<00:04, 32.60it/s]\u001B[A\n",
- " 72%|███████▏ | 324/453 [00:08<00:03, 34.16it/s]\u001B[A\n",
- " 74%|███████▍ | 336/453 [00:08<00:03, 37.49it/s]\u001B[A\n",
- " 77%|███████▋ | 348/453 [00:08<00:02, 37.45it/s]\u001B[A\n",
- " 79%|███████▉ | 360/453 [00:09<00:02, 33.69it/s]\u001B[A\n",
- " 82%|████████▏ | 372/453 [00:09<00:02, 35.80it/s]\u001B[A\n",
- " 85%|████████▍ | 384/453 [00:09<00:01, 44.85it/s]\u001B[A\n",
- " 87%|████████▋ | 396/453 [00:09<00:01, 45.11it/s]\u001B[A\n",
- " 90%|█████████ | 408/453 [00:10<00:01, 34.48it/s]\u001B[A\n",
- " 95%|█████████▌| 432/453 [00:11<00:00, 40.63it/s]\u001B[A\n",
- " 96%|█████████▋| 437/453 [00:11<00:00, 35.29it/s]\u001B[A\n",
- "100%|██████████| 453/453 [00:11<00:00, 40.20it/s]\u001B[A\n",
- "\n",
- " 0%| | 0/114 [00:00, ?it/s]\u001B[A\n",
- " 11%|█ | 12/114 [00:19<02:45, 1.63s/it]\u001B[A\n",
- " 11%|█▏ | 13/114 [00:20<02:33, 1.52s/it]\u001B[A\n",
- " 12%|█▏ | 14/114 [00:20<02:16, 1.36s/it]\u001B[A\n",
- " 13%|█▎ | 15/114 [00:21<02:01, 1.23s/it]\u001B[A\n",
- " 14%|█▍ | 16/114 [00:22<01:56, 1.19s/it]\u001B[A\n",
- " 15%|█▍ | 17/114 [00:23<02:04, 1.28s/it]\u001B[A\n",
- " 16%|█▌ | 18/114 [00:38<06:58, 4.36s/it]\u001B[A\n",
- " 17%|█▋ | 19/114 [00:39<05:28, 3.45s/it]\u001B[A\n",
- " 18%|█▊ | 20/114 [00:39<04:11, 2.68s/it]\u001B[A\n",
- " 18%|█▊ | 21/114 [00:40<03:15, 2.10s/it]\u001B[A\n",
- " 19%|█▉ | 22/114 [00:40<02:28, 1.61s/it]\u001B[A\n",
- " 20%|██ | 23/114 [00:40<01:49, 1.21s/it]\u001B[A\n",
- " 21%|██ | 24/114 [00:59<09:19, 6.22s/it]\u001B[A\n",
- " 22%|██▏ | 25/114 [01:00<06:53, 4.64s/it]\u001B[A\n",
- " 23%|██▎ | 26/114 [01:01<05:18, 3.62s/it]\u001B[A\n",
- " 24%|██▎ | 27/114 [01:01<03:55, 2.70s/it]\u001B[A\n",
- " 25%|██▍ | 28/114 [01:02<03:08, 2.19s/it]\u001B[A\n",
- " 25%|██▌ | 29/114 [01:03<02:29, 1.76s/it]\u001B[A\n",
- " 26%|██▋ | 30/114 [01:20<08:42, 6.22s/it]\u001B[A\n",
- " 27%|██▋ | 31/114 [01:20<06:09, 4.46s/it]\u001B[A\n",
- " 28%|██▊ | 32/114 [01:21<04:30, 3.30s/it]\u001B[A\n",
- " 29%|██▉ | 33/114 [01:21<03:17, 2.44s/it]\u001B[A\n",
- " 30%|██▉ | 34/114 [01:22<02:29, 1.87s/it]\u001B[A\n",
- " 31%|███ | 35/114 [01:22<01:54, 1.45s/it]\u001B[A\n",
- " 32%|███▏ | 36/114 [01:41<08:33, 6.58s/it]\u001B[A\n",
- " 32%|███▏ | 37/114 [01:42<06:15, 4.88s/it]\u001B[A\n",
- " 33%|███▎ | 38/114 [01:43<04:42, 3.72s/it]\u001B[A\n",
- " 34%|███▍ | 39/114 [01:43<03:27, 2.77s/it]\u001B[A\n",
- " 35%|███▌ | 40/114 [01:44<02:38, 2.14s/it]\u001B[A\n",
- " 36%|███▌ | 41/114 [01:44<01:57, 1.61s/it]\u001B[A\n",
- " 37%|███▋ | 42/114 [02:03<08:07, 6.78s/it]\u001B[A\n",
- " 38%|███▊ | 43/114 [02:04<05:55, 5.00s/it]\u001B[A\n",
- " 39%|███▊ | 44/114 [02:05<04:17, 3.68s/it]\u001B[A\n",
- " 39%|███▉ | 45/114 [02:05<03:12, 2.79s/it]\u001B[A\n",
- " 40%|████ | 46/114 [02:06<02:28, 2.19s/it]\u001B[A\n",
- " 41%|████ | 47/114 [02:08<02:08, 1.92s/it]\u001B[A\n",
- " 42%|████▏ | 48/114 [02:23<06:40, 6.07s/it]\u001B[A\n",
- " 43%|████▎ | 49/114 [02:23<04:42, 4.35s/it]\u001B[A\n",
- " 44%|████▍ | 50/114 [02:24<03:20, 3.14s/it]\u001B[A\n",
- " 45%|████▍ | 51/114 [02:24<02:22, 2.26s/it]\u001B[A\n",
- " 46%|████▌ | 52/114 [02:25<01:54, 1.85s/it]\u001B[A\n",
- " 46%|████▋ | 53/114 [02:25<01:32, 1.51s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 0/453 [00:00, ?it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 1/453 [00:00<04:49, 1.56it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 0%| | 2/453 [00:02<08:33, 1.14s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 1%| | 3/453 [00:04<10:56, 1.46s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 1%| | 4/453 [00:06<13:29, 1.80s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 1%| | 5/453 [00:08<14:09, 1.90s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 1%|▏ | 6/453 [00:09<12:50, 1.72s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 7/453 [00:11<11:01, 1.48s/it]\u001B[A\u001B[A\n",
- " 47%|████▋ | 54/114 [02:45<06:50, 6.84s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 8/453 [00:13<11:05, 1.50s/it]\u001B[A\u001B[A\n",
- " 48%|████▊ | 55/114 [02:47<04:55, 5.01s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 9/453 [00:15<12:43, 1.72s/it]\u001B[A\u001B[A\n",
- " 49%|████▉ | 56/114 [02:49<03:54, 4.05s/it]\u001B[A\n",
- " 50%|█████ | 57/114 [02:50<03:22, 3.56s/it]\u001B[A\n",
- " 51%|█████ | 58/114 [02:50<02:28, 2.65s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 10/453 [00:19<16:13, 2.20s/it]\u001B[A\u001B[A\n",
- " 52%|█████▏ | 59/114 [02:52<01:59, 2.17s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 2%|▏ | 11/453 [00:20<18:20, 2.49s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 3%|▎ | 12/453 [00:22<14:53, 2.03s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 3%|▎ | 13/453 [00:23<13:10, 1.80s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 3%|▎ | 14/453 [00:24<10:59, 1.50s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 3%|▎ | 15/453 [00:25<09:48, 1.34s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 4%|▎ | 16/453 [00:26<10:40, 1.47s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 4%|▍ | 17/453 [00:28<11:13, 1.55s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 4%|▍ | 18/453 [00:30<11:15, 1.55s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 4%|▍ | 19/453 [00:31<11:29, 1.59s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 4%|▍ | 20/453 [00:33<11:23, 1.58s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 5%|▍ | 21/453 [00:35<11:40, 1.62s/it]\u001B[A\u001B[A\n",
- " 53%|█████▎ | 60/114 [03:08<05:43, 6.36s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 5%|▍ | 22/453 [00:36<10:44, 1.50s/it]\u001B[A\u001B[A\n",
- " 54%|█████▎ | 61/114 [03:10<04:17, 4.87s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 5%|▌ | 23/453 [00:39<11:40, 1.63s/it]\u001B[A\u001B[A\n",
- " 54%|█████▍ | 62/114 [03:13<03:41, 4.26s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 5%|▌ | 24/453 [00:41<13:50, 1.94s/it]\u001B[A\u001B[A\n",
- " 55%|█████▌ | 63/114 [03:14<03:02, 3.58s/it]\u001B[A\n",
- " 56%|█████▌ | 64/114 [03:15<02:21, 2.83s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 6%|▌ | 25/453 [00:43<12:53, 1.81s/it]\u001B[A\u001B[A\n",
- " 57%|█████▋ | 65/114 [03:17<01:55, 2.36s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 6%|▌ | 26/453 [00:45<15:07, 2.13s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 6%|▌ | 27/453 [00:46<14:07, 1.99s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 6%|▌ | 28/453 [00:47<11:15, 1.59s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 6%|▋ | 29/453 [00:48<10:46, 1.53s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 7%|▋ | 30/453 [00:50<10:04, 1.43s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 7%|▋ | 31/453 [00:51<09:46, 1.39s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 7%|▋ | 32/453 [00:52<08:21, 1.19s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 7%|▋ | 33/453 [00:54<09:48, 1.40s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 8%|▊ | 34/453 [00:55<10:23, 1.49s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 8%|▊ | 35/453 [00:56<09:48, 1.41s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 8%|▊ | 36/453 [00:57<08:32, 1.23s/it]\u001B[A\u001B[A\n",
- " 58%|█████▊ | 66/114 [03:31<04:54, 6.13s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 8%|▊ | 37/453 [00:59<07:54, 1.14s/it]\u001B[A\u001B[A\n",
- " 59%|█████▉ | 67/114 [03:32<03:27, 4.43s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 8%|▊ | 38/453 [01:01<08:36, 1.24s/it]\u001B[A\u001B[A\n",
- " 60%|█████▉ | 68/114 [03:35<02:50, 3.72s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▊ | 39/453 [01:03<12:05, 1.75s/it]\u001B[A\u001B[A\n",
- " 61%|██████ | 69/114 [03:37<02:32, 3.39s/it]\u001B[A\n",
- " 61%|██████▏ | 70/114 [03:38<02:07, 2.91s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▉ | 40/453 [01:06<13:34, 1.97s/it]\u001B[A\u001B[A\n",
- " 62%|██████▏ | 71/114 [03:40<01:40, 2.34s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▉ | 41/453 [01:08<14:16, 2.08s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▉ | 42/453 [01:10<14:46, 2.16s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 9%|▉ | 43/453 [01:11<13:02, 1.91s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 10%|▉ | 44/453 [01:13<12:14, 1.80s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 10%|▉ | 45/453 [01:15<12:02, 1.77s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 10%|█ | 46/453 [01:16<11:39, 1.72s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 0%| | 0/114 [00:00, ?it/s]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 10%|█ | 47/453 [01:19<11:55, 1.76s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 11%|█ | 48/453 [01:19<11:25, 1.69s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 5%|▌ | 6/114 [00:01<00:18, 5.72it/s]\u001B[A\u001B[A\u001B[A\n",
- " 63%|██████▎ | 72/114 [03:53<04:02, 5.78s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 11%|█ | 49/453 [01:21<09:14, 1.37s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 6%|▌ | 7/114 [00:04<00:32, 3.31it/s]\u001B[A\u001B[A\u001B[A\n",
- " 64%|██████▍ | 73/114 [03:57<03:00, 4.40s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 11%|█ | 50/453 [01:26<12:39, 1.88s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 7%|▋ | 8/114 [00:08<01:39, 1.06it/s]\u001B[A\u001B[A\u001B[A\n",
- " 65%|██████▍ | 74/114 [04:01<02:47, 4.19s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 11%|█▏ | 51/453 [01:29<16:39, 2.49s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 8%|▊ | 9/114 [00:11<02:50, 1.62s/it]\u001B[A\u001B[A\u001B[A\n",
- " 66%|██████▌ | 75/114 [04:04<02:45, 4.23s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 11%|█▏ | 52/453 [01:31<19:26, 2.91s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 9%|▉ | 10/114 [00:13<03:35, 2.08s/it]\u001B[A\u001B[A\u001B[A\n",
- " 67%|██████▋ | 76/114 [04:05<02:20, 3.68s/it]\u001B[A\n",
- "\n",
- "\n",
- " 10%|▉ | 11/114 [00:15<02:59, 1.74s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 12%|█▏ | 53/453 [01:35<16:39, 2.50s/it]\u001B[A\u001B[A\n",
- " 68%|██████▊ | 77/114 [04:09<01:56, 3.16s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 12%|█▏ | 54/453 [01:38<20:40, 3.11s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 12%|█▏ | 55/453 [01:39<18:45, 2.83s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 12%|█▏ | 56/453 [01:42<17:06, 2.59s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 57/453 [01:43<14:53, 2.26s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 58/453 [01:44<13:14, 2.01s/it]\u001B[A\u001B[A\n",
- " 68%|██████▊ | 78/114 [04:19<03:15, 5.44s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 59/453 [01:47<12:22, 1.89s/it]\u001B[A\u001B[A\n",
- " 69%|██████▉ | 79/114 [04:21<02:41, 4.63s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 60/453 [01:49<14:29, 2.21s/it]\u001B[A\u001B[A\n",
- " 70%|███████ | 80/114 [04:23<02:10, 3.85s/it]\u001B[A\n",
- " 71%|███████ | 81/114 [04:24<01:44, 3.18s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 13%|█▎ | 61/453 [01:52<13:56, 2.13s/it]\u001B[A\u001B[A\n",
- " 72%|███████▏ | 82/114 [04:25<01:21, 2.54s/it]\u001B[A\n",
- " 73%|███████▎ | 83/114 [04:26<01:08, 2.20s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 14%|█▎ | 62/453 [01:54<14:31, 2.23s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 14%|█▍ | 63/453 [01:56<15:09, 2.33s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 14%|█▍ | 64/453 [01:57<13:51, 2.14s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█ | 12/114 [00:39<14:25, 8.48s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 14%|█▍ | 65/453 [02:01<13:13, 2.04s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 11%|█▏ | 13/114 [00:43<10:51, 6.45s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▍ | 66/453 [02:03<15:23, 2.39s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 12%|█▏ | 14/114 [00:45<09:04, 5.44s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▍ | 67/453 [02:04<14:30, 2.25s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 13%|█▎ | 15/114 [00:46<07:19, 4.44s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▌ | 68/453 [02:06<12:04, 1.88s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 14%|█▍ | 16/114 [00:48<05:43, 3.50s/it]\u001B[A\u001B[A\u001B[A\n",
- " 74%|███████▎ | 84/114 [04:40<02:50, 5.68s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▌ | 69/453 [02:08<12:17, 1.92s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 15%|█▍ | 17/114 [00:50<04:52, 3.01s/it]\u001B[A\u001B[A\u001B[A\n",
- " 75%|███████▍ | 85/114 [04:42<02:08, 4.44s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 15%|█▌ | 70/453 [02:10<13:31, 2.12s/it]\u001B[A\u001B[A\n",
- " 75%|███████▌ | 86/114 [04:45<01:42, 3.66s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▌ | 71/453 [02:14<14:48, 2.33s/it]\u001B[A\u001B[A\n",
- " 76%|███████▋ | 87/114 [04:47<01:33, 3.46s/it]\u001B[A\n",
- " 77%|███████▋ | 88/114 [04:49<01:19, 3.08s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▌ | 72/453 [02:17<16:15, 2.56s/it]\u001B[A\u001B[A\n",
- " 78%|███████▊ | 89/114 [04:51<01:00, 2.42s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▌ | 73/453 [02:19<17:15, 2.73s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 16%|█▋ | 74/453 [02:21<15:36, 2.47s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 75/453 [02:23<14:40, 2.33s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 76/453 [02:25<13:27, 2.14s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 77/453 [02:29<17:00, 2.71s/it]\u001B[A\u001B[A\n",
- " 79%|███████▉ | 90/114 [05:04<02:25, 6.04s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 78/453 [02:31<16:52, 2.70s/it]\u001B[A\u001B[A\n",
- " 80%|███████▉ | 91/114 [05:05<01:40, 4.39s/it]\u001B[A\n",
- " 81%|████████ | 92/114 [05:05<01:14, 3.39s/it]\u001B[A\n",
- " 82%|████████▏ | 93/114 [05:05<00:50, 2.43s/it]\u001B[A\n",
- " 82%|████████▏ | 94/114 [05:06<00:36, 1.82s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 17%|█▋ | 79/453 [02:34<15:32, 2.49s/it]\u001B[A\u001B[A\n",
- " 83%|████████▎ | 95/114 [05:08<00:30, 1.61s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 18%|█▊ | 80/453 [02:36<15:41, 2.53s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 18%|█▊ | 81/453 [02:38<14:01, 2.26s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 18%|█▊ | 82/453 [02:39<11:57, 1.93s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 16%|█▌ | 18/114 [01:21<18:54, 11.81s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 18%|█▊ | 83/453 [02:41<11:13, 1.82s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 17%|█▋ | 19/114 [01:24<13:31, 8.54s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▊ | 84/453 [02:43<12:20, 2.01s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 18%|█▊ | 20/114 [01:26<10:22, 6.62s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▉ | 85/453 [02:45<12:21, 2.01s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 18%|█▊ | 21/114 [01:27<08:02, 5.19s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▉ | 86/453 [02:47<11:37, 1.90s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 19%|█▉ | 22/114 [01:29<06:24, 4.18s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▉ | 87/453 [02:49<12:06, 1.99s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 20%|██ | 23/114 [01:31<05:32, 3.66s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 19%|█▉ | 88/453 [02:52<12:29, 2.05s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 20%|█▉ | 89/453 [02:53<12:42, 2.10s/it]\u001B[A\u001B[A\n",
- " 84%|████████▍ | 96/114 [05:31<02:27, 8.21s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 20%|█▉ | 90/453 [03:00<18:05, 2.99s/it]\u001B[A\u001B[A\n",
- " 85%|████████▌ | 97/114 [05:34<01:46, 6.25s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 20%|██ | 91/453 [03:03<19:50, 3.29s/it]\u001B[A\u001B[A\n",
- " 86%|████████▌ | 98/114 [05:36<01:24, 5.30s/it]\u001B[A\n",
- " 87%|████████▋ | 99/114 [05:38<01:04, 4.32s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 20%|██ | 92/453 [03:07<19:23, 3.22s/it]\u001B[A\u001B[A\n",
- " 88%|████████▊ | 100/114 [05:41<00:52, 3.76s/it]\u001B[A\n",
- " 89%|████████▊ | 101/114 [05:42<00:44, 3.39s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 21%|██ | 93/453 [03:11<21:25, 3.57s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 21%|██ | 94/453 [03:15<23:51, 3.99s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 21%|██ | 95/453 [03:18<23:10, 3.88s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 21%|██ | 96/453 [03:20<20:01, 3.37s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 21%|██▏ | 97/453 [03:22<17:44, 2.99s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 22%|██▏ | 98/453 [03:25<16:12, 2.74s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 22%|██▏ | 99/453 [03:27<16:17, 2.76s/it]\u001B[A\u001B[A\n",
- " 89%|████████▉ | 102/114 [06:01<01:33, 7.77s/it]\u001B[A\n",
- " 90%|█████████ | 103/114 [06:02<01:03, 5.79s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 22%|██▏ | 100/453 [03:30<15:24, 2.62s/it]\u001B[A\u001B[A\n",
- " 91%|█████████ | 104/114 [06:04<00:44, 4.43s/it]\u001B[A\n",
- " 92%|█████████▏| 105/114 [06:05<00:34, 3.87s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 22%|██▏ | 101/453 [03:34<17:01, 2.90s/it]\u001B[A\u001B[A\n",
- " 93%|█████████▎| 106/114 [06:08<00:23, 2.97s/it]\u001B[A\n",
- "\n",
- "\n",
- " 21%|██ | 24/114 [02:18<23:53, 15.93s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 23%|██▎ | 102/453 [03:37<16:04, 2.75s/it]\u001B[A\u001B[A\n",
- " 94%|█████████▍| 107/114 [06:11<00:20, 2.91s/it]\u001B[A\n",
- "\n",
- "\n",
- " 22%|██▏ | 25/114 [02:21<18:01, 12.15s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 23%|██▎ | 103/453 [03:41<18:17, 3.14s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 23%|██▎ | 26/114 [02:23<13:56, 9.51s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 23%|██▎ | 104/453 [03:43<17:54, 3.08s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 24%|██▎ | 27/114 [02:26<10:39, 7.35s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 23%|██▎ | 105/453 [03:46<17:38, 3.04s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 25%|██▍ | 28/114 [02:28<08:37, 6.01s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 23%|██▎ | 106/453 [03:48<15:49, 2.74s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 25%|██▌ | 29/114 [02:30<06:57, 4.91s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 24%|██▎ | 107/453 [03:50<13:51, 2.40s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 24%|██▍ | 108/453 [03:51<13:26, 2.34s/it]\u001B[A\u001B[A\n",
- " 95%|█████████▍| 108/114 [06:25<00:39, 6.65s/it]\u001B[A\n",
- " 96%|█████████▌| 109/114 [06:25<00:24, 4.92s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 24%|██▍ | 109/453 [03:54<11:11, 1.95s/it]\u001B[A\u001B[A\n",
- " 96%|█████████▋| 110/114 [06:28<00:14, 3.70s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 24%|██▍ | 110/453 [03:57<14:57, 2.62s/it]\u001B[A\u001B[A\n",
- " 97%|█████████▋| 111/114 [06:32<00:11, 3.74s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▍ | 111/453 [04:01<16:08, 2.83s/it]\u001B[A\u001B[A\n",
- " 98%|█████████▊| 112/114 [06:35<00:07, 3.60s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▍ | 112/453 [04:03<15:20, 2.70s/it]\u001B[A\u001B[A\n",
- " 99%|█████████▉| 113/114 [06:36<00:03, 3.29s/it]\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▍ | 113/453 [04:05<14:20, 2.53s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▌ | 114/453 [04:07<14:20, 2.54s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 25%|██▌ | 115/453 [04:09<13:23, 2.38s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 26%|██▌ | 116/453 [04:11<11:49, 2.11s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 26%|██▌ | 117/453 [04:13<13:03, 2.33s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 26%|██▌ | 118/453 [04:16<13:04, 2.34s/it]\u001B[A\u001B[A\n",
- "100%|██████████| 114/114 [06:51<00:00, 6.92s/it]\u001B[A\n",
- "\n",
- "100%|██████████| 114/114 [06:53<00:00, 3.63s/it]3:33, 2.44s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- "SVD estimation: 26%|██▋ | 120/453 [04:22<13:51, 2.50s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 26%|██▋ | 30/114 [03:05<19:21, 13.82s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 27%|██▋ | 121/453 [04:24<14:28, 2.62s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 27%|██▋ | 31/114 [03:07<14:00, 10.13s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 27%|██▋ | 122/453 [04:27<13:31, 2.45s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 28%|██▊ | 32/114 [03:10<10:51, 7.94s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 29%|██▉ | 33/114 [03:11<08:30, 6.30s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 27%|██▋ | 123/453 [04:30<16:04, 2.92s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 30%|██▉ | 34/114 [03:12<06:10, 4.63s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 27%|██▋ | 124/453 [04:32<13:25, 2.45s/it]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 31%|███ | 35/114 [03:15<04:59, 3.79s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 28%|██▊ | 125/453 [04:35<14:15, 2.61s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 28%|██▊ | 126/453 [04:36<13:49, 2.54s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 28%|██▊ | 127/453 [04:38<11:21, 2.09s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 28%|██▊ | 128/453 [04:40<11:16, 2.08s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 28%|██▊ | 129/453 [04:41<09:42, 1.80s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 29%|██▊ | 130/453 [04:44<10:54, 2.03s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 29%|██▉ | 131/453 [04:47<13:54, 2.59s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 29%|██▉ | 132/453 [04:49<11:43, 2.19s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 29%|██▉ | 133/453 [04:50<11:29, 2.15s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 30%|██▉ | 134/453 [04:52<09:26, 1.78s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 30%|██▉ | 135/453 [04:53<08:25, 1.59s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 30%|███ | 136/453 [04:53<06:47, 1.29s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 30%|███ | 137/453 [04:54<05:38, 1.07s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 30%|███ | 138/453 [04:54<04:42, 1.11it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 31%|███ | 139/453 [04:55<03:53, 1.34it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 31%|███ | 140/453 [04:55<03:16, 1.59it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 32%|███▏ | 36/114 [03:36<12:34, 9.67s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 31%|███ | 141/453 [04:56<02:56, 1.77it/s]\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 32%|███▏ | 37/114 [03:37<08:45, 6.82s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "\n",
- " 33%|███▎ | 38/114 [03:37<06:22, 5.03s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 31%|███▏ | 142/453 [04:56<03:41, 1.40it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 32%|███▏ | 143/453 [04:56<02:46, 1.86it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 32%|███▏ | 144/453 [04:57<02:09, 2.39it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 32%|███▏ | 145/453 [04:57<01:43, 2.98it/s]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 32%|███▏ | 147/453 [04:57<01:05, 4.71it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 0%| | 0/453 [00:00, ?it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 33%|███▎ | 148/453 [04:57<00:58, 5.20it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 0%| | 2/453 [00:00<00:35, 12.53it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 33%|███▎ | 149/453 [04:57<00:54, 5.55it/s]\u001B[A\u001B[A\n",
- "SVD estimation: 1%| | 4/453 [00:00<00:44, 10.15it/s]\u001B[A\n",
- "\n",
- "SVD estimation: 33%|███▎ | 150/453 [04:57<10:01, 1.99s/it]\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 1%|▏ | 6/453 [00:00<01:05, 6.85it/s]\u001B[A\n",
- "SVD estimation: 2%|▏ | 7/453 [00:00<01:04, 6.89it/s]\u001B[A\n",
- "SVD estimation: 2%|▏ | 8/453 [00:01<01:14, 5.94it/s]\u001B[A\n",
- "SVD estimation: 2%|▏ | 9/453 [00:01<01:23, 5.30it/s]\u001B[A\n",
- "\n",
- "\n",
- " 37%|███▋ | 42/114 [03:40<02:40, 2.22s/it]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 2%|▏ | 10/453 [00:01<01:34, 4.70it/s]\u001B[A\n",
- "SVD estimation: 2%|▏ | 11/453 [00:01<01:27, 5.07it/s]\u001B[A\n",
- "SVD estimation: 3%|▎ | 12/453 [00:02<01:33, 4.74it/s]\u001B[A\n",
- "SVD estimation: 3%|▎ | 13/453 [00:02<01:30, 4.88it/s]\u001B[A\n",
- "SVD estimation: 3%|▎ | 14/453 [00:02<01:24, 5.17it/s]\u001B[A\n",
- "SVD estimation: 3%|▎ | 15/453 [00:02<01:28, 4.96it/s]\u001B[A\n",
- "SVD estimation: 4%|▎ | 16/453 [00:02<01:23, 5.22it/s]\u001B[A\n",
- "SVD estimation: 4%|▍ | 17/453 [00:03<01:25, 5.13it/s]\u001B[A\n",
- "SVD estimation: 4%|▍ | 18/453 [00:03<01:25, 5.06it/s]\u001B[A\n",
- "SVD estimation: 4%|▍ | 19/453 [00:03<01:18, 5.56it/s]\u001B[A\n",
- "SVD estimation: 4%|▍ | 20/453 [00:03<01:11, 6.10it/s]\u001B[A\n",
- "SVD estimation: 5%|▍ | 21/453 [00:03<01:09, 6.19it/s]\u001B[A\n",
- "SVD estimation: 5%|▍ | 22/453 [00:03<01:12, 5.93it/s]\u001B[A\n",
- "SVD estimation: 5%|▌ | 23/453 [00:04<01:12, 5.97it/s]\u001B[A\n",
- "SVD estimation: 5%|▌ | 24/453 [00:04<01:03, 6.74it/s]\u001B[A\n",
- "SVD estimation: 6%|▌ | 25/453 [00:04<01:02, 6.81it/s]\u001B[A\n",
- "SVD estimation: 6%|▌ | 26/453 [00:04<01:00, 7.10it/s]\u001B[A\n",
- "SVD estimation: 6%|▌ | 27/453 [00:04<01:11, 5.95it/s]\u001B[A\n",
- "SVD estimation: 6%|▌ | 28/453 [00:04<01:03, 6.67it/s]\u001B[A\n",
- "SVD estimation: 6%|▋ | 29/453 [00:04<01:04, 6.61it/s]\u001B[A\n",
- "SVD estimation: 7%|▋ | 31/453 [00:05<00:55, 7.61it/s]\u001B[A\n",
- "SVD estimation: 7%|▋ | 32/453 [00:05<00:58, 7.23it/s]\u001B[A\n",
- "\n",
- "\n",
- " 42%|████▏ | 48/114 [03:43<01:26, 1.30s/it]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 7%|▋ | 33/453 [00:05<00:57, 7.33it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 34/453 [00:05<00:58, 7.20it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 35/453 [00:05<01:06, 6.25it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 36/453 [00:05<01:02, 6.67it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 37/453 [00:06<01:02, 6.65it/s]\u001B[A\n",
- "SVD estimation: 8%|▊ | 38/453 [00:06<01:01, 6.74it/s]\u001B[A\n",
- "SVD estimation: 9%|▊ | 39/453 [00:06<01:16, 5.39it/s]\u001B[A\n",
- "SVD estimation: 9%|▉ | 40/453 [00:06<01:16, 5.37it/s]\u001B[A\n",
- "SVD estimation: 9%|▉ | 41/453 [00:06<01:12, 5.70it/s]\u001B[A\n",
- "SVD estimation: 9%|▉ | 42/453 [00:06<01:13, 5.62it/s]\u001B[A\n",
- "SVD estimation: 10%|▉ | 44/453 [00:07<00:48, 8.37it/s]\u001B[A\n",
- "SVD estimation: 10%|▉ | 45/453 [00:07<00:47, 8.58it/s]\u001B[A\n",
- "SVD estimation: 10%|█ | 47/453 [00:07<00:36, 10.99it/s]\u001B[A\n",
- "SVD estimation: 11%|█ | 50/453 [00:07<00:27, 14.72it/s]\u001B[A\n",
- "SVD estimation: 12%|█▏ | 53/453 [00:07<00:25, 15.72it/s]\u001B[A\n",
- "SVD estimation: 12%|█▏ | 55/453 [00:07<00:29, 13.69it/s]\u001B[A\n",
- "\n",
- "\n",
- " 47%|████▋ | 54/114 [03:46<00:54, 1.10it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 13%|█▎ | 57/453 [00:08<00:32, 12.09it/s]\u001B[A\n",
- "SVD estimation: 13%|█▎ | 59/453 [00:08<00:33, 11.80it/s]\u001B[A\n",
- "SVD estimation: 13%|█▎ | 61/453 [00:08<00:34, 11.46it/s]\u001B[A\n",
- "SVD estimation: 14%|█▍ | 63/453 [00:08<00:33, 11.56it/s]\u001B[A\n",
- "SVD estimation: 14%|█▍ | 65/453 [00:08<00:35, 10.90it/s]\u001B[A\n",
- "SVD estimation: 15%|█▍ | 67/453 [00:09<00:40, 9.62it/s]\u001B[A\n",
- "SVD estimation: 15%|█▌ | 69/453 [00:09<00:40, 9.39it/s]\u001B[A\n",
- "SVD estimation: 15%|█▌ | 70/453 [00:09<00:44, 8.54it/s]\u001B[A\n",
- "SVD estimation: 16%|█▌ | 72/453 [00:09<00:46, 8.15it/s]\u001B[A\n",
- "SVD estimation: 16%|█▌ | 73/453 [00:09<00:51, 7.43it/s]\u001B[A\n",
- "SVD estimation: 16%|█▋ | 74/453 [00:10<00:52, 7.19it/s]\u001B[A\n",
- "SVD estimation: 17%|█▋ | 75/453 [00:10<00:56, 6.64it/s]\u001B[A\n",
- "SVD estimation: 17%|█▋ | 76/453 [00:10<00:55, 6.78it/s]\u001B[A\n",
- "SVD estimation: 17%|█▋ | 77/453 [00:10<00:59, 6.35it/s]\u001B[A\n",
- "SVD estimation: 17%|█▋ | 78/453 [00:10<00:54, 6.87it/s]\u001B[A\n",
- "\n",
- "\n",
- " 53%|█████▎ | 60/114 [03:49<00:39, 1.36it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 18%|█▊ | 81/453 [00:10<00:33, 11.06it/s]\u001B[A\n",
- "SVD estimation: 18%|█▊ | 83/453 [00:10<00:29, 12.71it/s]\u001B[A\n",
- "SVD estimation: 19%|█▉ | 85/453 [00:10<00:26, 14.04it/s]\u001B[A\n",
- "SVD estimation: 19%|█▉ | 87/453 [00:11<00:28, 13.04it/s]\u001B[A\n",
- "SVD estimation: 20%|█▉ | 89/453 [00:11<00:29, 12.24it/s]\u001B[A\n",
- "SVD estimation: 20%|██ | 91/453 [00:11<00:51, 7.01it/s]\u001B[A\n",
- "SVD estimation: 21%|██ | 93/453 [00:12<01:07, 5.33it/s]\u001B[A\n",
- "SVD estimation: 21%|██ | 94/453 [00:12<01:08, 5.26it/s]\u001B[A\n",
- "SVD estimation: 21%|██ | 96/453 [00:12<00:52, 6.74it/s]\u001B[A\n",
- "SVD estimation: 22%|██▏ | 99/453 [00:12<00:35, 9.88it/s]\u001B[A\n",
- "SVD estimation: 22%|██▏ | 101/453 [00:13<00:31, 11.33it/s]\u001B[A\n",
- "\n",
- "\n",
- " 58%|█████▊ | 66/114 [03:51<00:29, 1.63it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 23%|██▎ | 103/453 [00:13<00:34, 10.14it/s]\u001B[A\n",
- "SVD estimation: 23%|██▎ | 106/453 [00:13<00:26, 13.00it/s]\u001B[A\n",
- "SVD estimation: 24%|██▍ | 109/453 [00:13<00:21, 15.82it/s]\u001B[A\n",
- "SVD estimation: 25%|██▍ | 111/453 [00:13<00:27, 12.33it/s]\u001B[A\n",
- "SVD estimation: 25%|██▍ | 113/453 [00:14<00:32, 10.48it/s]\u001B[A\n",
- "\n",
- "\n",
- " 63%|██████▎ | 72/114 [03:52<00:20, 2.08it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 25%|██▌ | 115/453 [00:14<00:53, 6.31it/s]\u001B[A\n",
- "SVD estimation: 26%|██▌ | 117/453 [00:15<00:58, 5.77it/s]\u001B[A\n",
- "SVD estimation: 26%|██▋ | 119/453 [00:15<00:46, 7.14it/s]\u001B[A\n",
- "SVD estimation: 27%|██▋ | 121/453 [00:15<00:38, 8.60it/s]\u001B[A\n",
- "SVD estimation: 28%|██▊ | 125/453 [00:15<00:25, 12.92it/s]\u001B[A\n",
- "SVD estimation: 28%|██▊ | 127/453 [00:15<00:31, 10.31it/s]\u001B[A\n",
- "SVD estimation: 28%|██▊ | 129/453 [00:16<00:52, 6.22it/s]\u001B[A\n",
- "SVD estimation: 29%|██▉ | 131/453 [00:16<00:45, 7.02it/s]\u001B[A\n",
- "SVD estimation: 29%|██▉ | 133/453 [00:17<00:49, 6.52it/s]\u001B[A\n",
- "SVD estimation: 30%|███ | 136/453 [00:17<00:35, 9.06it/s]\u001B[A\n",
- "SVD estimation: 30%|███ | 138/453 [00:17<00:32, 9.55it/s]\u001B[A\n",
- "SVD estimation: 31%|███ | 140/453 [00:17<00:34, 9.11it/s]\u001B[A\n",
- "\n",
- "\n",
- " 68%|██████▊ | 78/114 [03:56<00:17, 2.01it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 32%|███▏ | 143/453 [00:17<00:28, 10.86it/s]\u001B[A\n",
- "SVD estimation: 32%|███▏ | 145/453 [00:18<00:44, 6.98it/s]\u001B[A\n",
- "SVD estimation: 32%|███▏ | 147/453 [00:18<00:38, 7.89it/s]\u001B[A\n",
- "SVD estimation: 33%|███▎ | 149/453 [00:18<00:33, 9.07it/s]\u001B[A\n",
- "SVD estimation: 33%|███▎ | 151/453 [00:18<00:30, 9.90it/s]\u001B[A\n",
- "SVD estimation: 34%|███▍ | 155/453 [00:18<00:20, 14.42it/s]\u001B[A\n",
- "SVD estimation: 35%|███▌ | 159/453 [00:19<00:15, 19.09it/s]\u001B[A\n",
- "SVD estimation: 36%|███▌ | 163/453 [00:19<00:12, 22.92it/s]\u001B[A\n",
- "SVD estimation: 37%|███▋ | 166/453 [00:19<00:13, 21.74it/s]\u001B[A\n",
- "SVD estimation: 37%|███▋ | 169/453 [00:19<00:12, 22.78it/s]\u001B[A\n",
- "SVD estimation: 38%|███▊ | 172/453 [00:19<00:11, 24.05it/s]\u001B[A\n",
- "SVD estimation: 39%|███▊ | 175/453 [00:19<00:11, 23.61it/s]\u001B[A\n",
- "SVD estimation: 39%|███▉ | 178/453 [00:19<00:11, 23.97it/s]\u001B[A\n",
- "\n",
- "\n",
- " 74%|███████▎ | 84/114 [03:58<00:13, 2.20it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 40%|███▉ | 181/453 [00:19<00:10, 24.75it/s]\u001B[A\n",
- "SVD estimation: 41%|████ | 184/453 [00:20<00:12, 21.70it/s]\u001B[A\n",
- "SVD estimation: 41%|████▏ | 187/453 [00:20<00:13, 20.33it/s]\u001B[A\n",
- "SVD estimation: 42%|████▏ | 190/453 [00:20<00:12, 20.75it/s]\u001B[A\n",
- "SVD estimation: 43%|████▎ | 193/453 [00:20<00:12, 21.23it/s]\u001B[A\n",
- "SVD estimation: 43%|████▎ | 196/453 [00:20<00:13, 19.67it/s]\u001B[A\n",
- "SVD estimation: 44%|████▍ | 199/453 [00:20<00:11, 21.66it/s]\u001B[A\n",
- "SVD estimation: 45%|████▍ | 202/453 [00:20<00:11, 21.70it/s]\u001B[A\n",
- "SVD estimation: 45%|████▌ | 205/453 [00:21<00:11, 21.41it/s]\u001B[A\n",
- "SVD estimation: 46%|████▌ | 208/453 [00:21<00:11, 21.52it/s]\u001B[A\n",
- "SVD estimation: 47%|████▋ | 211/453 [00:21<00:11, 21.99it/s]\u001B[A\n",
- "SVD estimation: 47%|████▋ | 214/453 [00:21<00:10, 21.74it/s]\u001B[A\n",
- "\n",
- "\n",
- " 79%|███████▉ | 90/114 [04:00<00:09, 2.50it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 48%|████▊ | 217/453 [00:21<00:10, 21.95it/s]\u001B[A\n",
- "SVD estimation: 49%|████▊ | 220/453 [00:21<00:09, 23.66it/s]\u001B[A\n",
- "SVD estimation: 49%|████▉ | 224/453 [00:21<00:08, 27.39it/s]\u001B[A\n",
- "SVD estimation: 50%|█████ | 227/453 [00:21<00:08, 25.68it/s]\u001B[A\n",
- "SVD estimation: 51%|█████ | 230/453 [00:22<00:09, 24.10it/s]\u001B[A\n",
- "SVD estimation: 51%|█████▏ | 233/453 [00:22<00:09, 22.62it/s]\u001B[A\n",
- "SVD estimation: 52%|█████▏ | 236/453 [00:22<00:09, 23.48it/s]\u001B[A\n",
- "SVD estimation: 53%|█████▎ | 241/453 [00:22<00:07, 29.82it/s]\u001B[A\n",
- "SVD estimation: 54%|█████▍ | 245/453 [00:22<00:06, 31.27it/s]\u001B[A\n",
- "SVD estimation: 55%|█████▍ | 249/453 [00:22<00:06, 30.18it/s]\u001B[A\n",
- "SVD estimation: 56%|█████▌ | 253/453 [00:22<00:07, 27.61it/s]\u001B[A\n",
- "SVD estimation: 57%|█████▋ | 256/453 [00:23<00:07, 26.51it/s]\u001B[A\n",
- "SVD estimation: 57%|█████▋ | 259/453 [00:23<00:07, 26.36it/s]\u001B[A\n",
- "\n",
- "\n",
- " 84%|████████▍ | 96/114 [04:01<00:06, 2.71it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 58%|█████▊ | 262/453 [00:23<00:08, 22.92it/s]\u001B[A\n",
- "SVD estimation: 58%|█████▊ | 265/453 [00:23<00:08, 21.99it/s]\u001B[A\n",
- "SVD estimation: 59%|█████▉ | 268/453 [00:23<00:08, 22.59it/s]\u001B[A\n",
- "SVD estimation: 60%|█████▉ | 271/453 [00:23<00:07, 23.31it/s]\u001B[A\n",
- "SVD estimation: 60%|██████ | 274/453 [00:23<00:07, 24.08it/s]\u001B[A\n",
- "SVD estimation: 61%|██████ | 277/453 [00:24<00:09, 18.66it/s]\u001B[A\n",
- "SVD estimation: 62%|██████▏ | 280/453 [00:24<00:09, 18.18it/s]\u001B[A\n",
- "SVD estimation: 62%|██████▏ | 282/453 [00:24<00:09, 18.30it/s]\u001B[A\n",
- "SVD estimation: 63%|██████▎ | 285/453 [00:24<00:08, 20.17it/s]\u001B[A\n",
- "SVD estimation: 64%|██████▎ | 288/453 [00:24<00:07, 21.06it/s]\u001B[A\n",
- "SVD estimation: 64%|██████▍ | 291/453 [00:24<00:08, 20.18it/s]\u001B[A\n",
- "SVD estimation: 65%|██████▍ | 294/453 [00:24<00:07, 20.22it/s]\u001B[A\n",
- "\n",
- "\n",
- " 89%|████████▉ | 102/114 [04:03<00:04, 2.89it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 66%|██████▌ | 297/453 [00:25<00:07, 20.57it/s]\u001B[A\n",
- "SVD estimation: 66%|██████▌ | 300/453 [00:25<00:07, 19.96it/s]\u001B[A\n",
- "SVD estimation: 68%|██████▊ | 306/453 [00:25<00:05, 28.76it/s]\u001B[A\n",
- "SVD estimation: 69%|██████▊ | 311/453 [00:25<00:04, 32.72it/s]\u001B[A\n",
- "SVD estimation: 70%|██████▉ | 316/453 [00:25<00:03, 36.46it/s]\u001B[A\n",
- "SVD estimation: 71%|███████ | 322/453 [00:25<00:03, 42.33it/s]\u001B[A\n",
- "SVD estimation: 72%|███████▏ | 327/453 [00:25<00:02, 43.38it/s]\u001B[A\n",
- "SVD estimation: 73%|███████▎ | 332/453 [00:25<00:02, 41.91it/s]\u001B[A\n",
- "SVD estimation: 74%|███████▍ | 337/453 [00:25<00:02, 43.52it/s]\u001B[A\n",
- "SVD estimation: 75%|███████▌ | 342/453 [00:26<00:02, 42.54it/s]\u001B[A\n",
- "SVD estimation: 77%|███████▋ | 347/453 [00:26<00:02, 42.53it/s]\u001B[A\n",
- "SVD estimation: 78%|███████▊ | 353/453 [00:26<00:02, 46.25it/s]\u001B[A\n",
- "SVD estimation: 79%|███████▉ | 358/453 [00:26<00:02, 41.20it/s]\u001B[A\n",
- "SVD estimation: 80%|████████ | 363/453 [00:26<00:02, 37.18it/s]\u001B[A\n",
- "SVD estimation: 81%|████████ | 367/453 [00:26<00:02, 34.48it/s]\u001B[A\n",
- "SVD estimation: 82%|████████▏ | 372/453 [00:26<00:02, 37.36it/s]\u001B[A\n",
- "\n",
- "\n",
- " 95%|█████████▍| 108/114 [04:05<00:02, 2.94it/s]\u001B[A\u001B[A\u001B[A\n",
- "SVD estimation: 83%|████████▎ | 377/453 [00:27<00:01, 38.61it/s]\u001B[A\n",
- "SVD estimation: 84%|████████▍ | 381/453 [00:27<00:02, 34.49it/s]\u001B[A\n",
- "SVD estimation: 85%|████████▍ | 385/453 [00:27<00:02, 33.56it/s]\u001B[A\n",
- "SVD estimation: 86%|████████▌ | 390/453 [00:27<00:01, 36.54it/s]\u001B[A\n",
- "SVD estimation: 87%|████████▋ | 396/453 [00:27<00:01, 41.37it/s]\u001B[A\n",
- "SVD estimation: 89%|████████▊ | 401/453 [00:27<00:01, 38.17it/s]\u001B[A\n",
- "SVD estimation: 89%|████████▉ | 405/453 [00:27<00:01, 33.86it/s]\u001B[A\n",
- "SVD estimation: 90%|█████████ | 409/453 [00:27<00:01, 31.29it/s]\u001B[A\n",
- "SVD estimation: 91%|█████████ | 413/453 [00:28<00:01, 32.54it/s]\u001B[A\n",
- "SVD estimation: 92%|█████████▏| 417/453 [00:28<00:01, 32.45it/s]\u001B[A\n",
- "SVD estimation: 93%|█████████▎| 421/453 [00:28<00:01, 30.63it/s]\u001B[A\n",
- "SVD estimation: 94%|█████████▍| 426/453 [00:28<00:00, 34.79it/s]\u001B[A\n",
- "SVD estimation: 95%|█████████▍| 430/453 [00:28<00:00, 34.54it/s]\u001B[A\n",
- "SVD estimation: 96%|█████████▌| 435/453 [00:28<00:00, 37.57it/s]\u001B[A\n",
- "\n",
- "\n",
- "100%|██████████| 114/114 [04:07<00:00, 2.17s/it]\u001B[A\u001B[A\u001B[A\n",
- "\n",
- "SVD estimation: 97%|█████████▋| 440/453 [00:28<00:00, 39.16it/s]\u001B[A\n",
- "SVD estimation: 98%|█████████▊| 444/453 [00:28<00:00, 37.00it/s]\u001B[A\n",
- "SVD estimation: 99%|█████████▉| 448/453 [00:29<00:00, 35.98it/s]\u001B[A\n",
- "SVD estimation: 100%|██████████| 453/453 [00:29<00:00, 15.50it/s]\u001B[A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 15:55:20,580 - IndustrialDispatcher - 8 individuals out of 13 in previous population were evaluated successfully.\n",
- "2024-01-12 15:55:20,599 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "Generations: 0%| | 0/5 [14:00, ?gen/s]"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2024-01-12 15:55:20,708 - ApiComposer - Model generation finished\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "\n",
- "SVD estimation: 100%|██████████| 567/567 [00:01<00:00, 300.07it/s]\n"
- ]
- },
- {
- "ename": "BrokenProcessPool",
- "evalue": "A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable.",
- "output_type": "error",
- "traceback": [
- "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
- "\u001B[1;31m_RemoteTraceback\u001B[0m Traceback (most recent call last)",
- "\u001B[1;31m_RemoteTraceback\u001B[0m: \n\"\"\"\nTraceback (most recent call last):\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\externals\\loky\\process_executor.py\", line 426, in _process_worker\n call_item = call_queue.get(block=True, timeout=timeout)\n File \"C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python39\\lib\\multiprocessing\\queues.py\", line 122, in get\n return _ForkingPickler.loads(res)\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\operation\\transformation\\basis\\eigen_basis.py\", line 6, in \n from fedot.core.data.data import InputData, OutputData\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\__init__.py\", line 4, in \n from fedot.api import Fedot, FedotBuilder\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\__init__.py\", line 1, in \n from fedot.api.main import Fedot\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\main.py\", line 14, in \n from fedot.api.api_utils.api_composer import ApiComposer\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\api_utils\\api_composer.py\", line 11, in \n from fedot.api.api_utils.params import ApiParams\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\api_utils\\params.py\", line 7, in \n from golem.core.optimisers.genetic.gp_params import GPAlgorithmParameters\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\golem\\core\\optimisers\\genetic\\gp_params.py\", line 5, in \n from golem.core.optimisers.adaptive.mab_agents.neural_contextual_mab_agent import ContextAgentTypeEnum\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\golem\\core\\optimisers\\adaptive\\mab_agents\\neural_contextual_mab_agent.py\", line 4, in \n from golem.core.optimisers.adaptive.neural_mab import NeuralMAB\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\golem\\core\\optimisers\\adaptive\\neural_mab.py\", line 8, in \n import torch\n File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\torch\\__init__.py\", line 129, in \n raise err\nOSError: [WinError 1455] Файл подкачки слишком мал для завершения операции. Error loading \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\torch\\lib\\shm.dll\" or one of its dependencies.\n\"\"\"",
- "\nThe above exception was the direct cause of the following exception:\n",
- "\u001B[1;31mBrokenProcessPool\u001B[0m Traceback (most recent call last)",
- "Cell \u001B[1;32mIn[11], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m metric_dict, model_list \u001B[38;5;241m=\u001B[39m \u001B[43mevaluate_automl\u001B[49m\u001B[43m(\u001B[49m\u001B[43mruns\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;241;43m3\u001B[39;49m\u001B[43m)\u001B[49m\n",
- "Cell \u001B[1;32mIn[3], line 43\u001B[0m, in \u001B[0;36mevaluate_automl\u001B[1;34m(runs)\u001B[0m\n\u001B[0;32m 41\u001B[0m model \u001B[38;5;241m=\u001B[39m FedotIndustrial(\u001B[38;5;241m*\u001B[39m\u001B[38;5;241m*\u001B[39mexperiment_setup)\n\u001B[0;32m 42\u001B[0m model\u001B[38;5;241m.\u001B[39mpreprocessing \u001B[38;5;241m=\u001B[39m ind_preproc\n\u001B[1;32m---> 43\u001B[0m \u001B[43mmodel\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43mtrain_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 44\u001B[0m prediction \u001B[38;5;241m=\u001B[39m model\u001B[38;5;241m.\u001B[39mpredict(test_data)\n\u001B[0;32m 46\u001B[0m metric \u001B[38;5;241m=\u001B[39m calculate_regression_metric(test_target\u001B[38;5;241m=\u001B[39mtest_data[\u001B[38;5;241m1\u001B[39m], labels\u001B[38;5;241m=\u001B[39mprediction)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\api\\main.py:150\u001B[0m, in \u001B[0;36mFedotIndustrial.fit\u001B[1;34m(self, input_data, **kwargs)\u001B[0m\n\u001B[0;32m 148\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39msolver \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mensemble_solver\n\u001B[0;32m 149\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m--> 150\u001B[0m fitted_pipeline \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43msolver\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 151\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m fitted_pipeline\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\main.py:177\u001B[0m, in \u001B[0;36mFedot.fit\u001B[1;34m(self, features, target, predefined_model)\u001B[0m\n\u001B[0;32m 175\u001B[0m \u001B[38;5;66;03m# Final fit for obtained pipeline on full dataset\u001B[39;00m\n\u001B[0;32m 176\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mhistory \u001B[38;5;129;01mand\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mhistory\u001B[38;5;241m.\u001B[39mis_empty() \u001B[38;5;129;01mor\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcurrent_pipeline\u001B[38;5;241m.\u001B[39mis_fitted:\n\u001B[1;32m--> 177\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_train_pipeline_on_full_dataset\u001B[49m\u001B[43m(\u001B[49m\u001B[43mrecommendations_for_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mfull_train_not_preprocessed\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 178\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mlog\u001B[38;5;241m.\u001B[39mmessage(\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mFinal pipeline was fitted\u001B[39m\u001B[38;5;124m'\u001B[39m)\n\u001B[0;32m 179\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\api\\main.py:531\u001B[0m, in \u001B[0;36mFedot._train_pipeline_on_full_dataset\u001B[1;34m(self, recommendations, full_train_not_preprocessed)\u001B[0m\n\u001B[0;32m 526\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m recommendations \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m 527\u001B[0m \u001B[38;5;66;03m# if data was cut we need to refit pipeline on full data\u001B[39;00m\n\u001B[0;32m 528\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mdata_processor\u001B[38;5;241m.\u001B[39maccept_and_apply_recommendations(full_train_not_preprocessed,\n\u001B[0;32m 529\u001B[0m {k: v \u001B[38;5;28;01mfor\u001B[39;00m k, v \u001B[38;5;129;01min\u001B[39;00m recommendations\u001B[38;5;241m.\u001B[39mitems()\n\u001B[0;32m 530\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m k \u001B[38;5;241m!=\u001B[39m \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mcut\u001B[39m\u001B[38;5;124m'\u001B[39m})\n\u001B[1;32m--> 531\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcurrent_pipeline\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\n\u001B[0;32m 532\u001B[0m \u001B[43m \u001B[49m\u001B[43mfull_train_not_preprocessed\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 533\u001B[0m \u001B[43m \u001B[49m\u001B[43mn_jobs\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mparams\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mn_jobs\u001B[49m\n\u001B[0;32m 534\u001B[0m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\pipeline.py:194\u001B[0m, in \u001B[0;36mPipeline.fit\u001B[1;34m(self, input_data, time_constraint, n_jobs)\u001B[0m\n\u001B[0;32m 192\u001B[0m copied_input_data \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_assign_data_to_nodes(copied_input_data)\n\u001B[0;32m 193\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m time_constraint \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m--> 194\u001B[0m train_predicted \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_fit\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mcopied_input_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 195\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m 196\u001B[0m train_predicted \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_fit_with_time_limit(input_data\u001B[38;5;241m=\u001B[39mcopied_input_data, time\u001B[38;5;241m=\u001B[39mtime_constraint)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\pipeline.py:111\u001B[0m, in \u001B[0;36mPipeline._fit\u001B[1;34m(self, input_data, process_state_dict, fitted_operations)\u001B[0m\n\u001B[0;32m 109\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m Timer() \u001B[38;5;28;01mas\u001B[39;00m t:\n\u001B[0;32m 110\u001B[0m computation_time_update \u001B[38;5;241m=\u001B[39m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mroot_node\u001B[38;5;241m.\u001B[39mfitted_operation \u001B[38;5;129;01mor\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcomputation_time \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m\n\u001B[1;32m--> 111\u001B[0m train_predicted \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mroot_node\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 112\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m computation_time_update:\n\u001B[0;32m 113\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcomputation_time \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mround\u001B[39m(t\u001B[38;5;241m.\u001B[39mminutes_from_start, \u001B[38;5;241m3\u001B[39m)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:196\u001B[0m, in \u001B[0;36mPipelineNode.fit\u001B[1;34m(self, input_data)\u001B[0m\n\u001B[0;32m 186\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"Runs training process in the node\u001B[39;00m\n\u001B[0;32m 187\u001B[0m \n\u001B[0;32m 188\u001B[0m \u001B[38;5;124;03mArgs:\u001B[39;00m\n\u001B[1;32m (...)\u001B[0m\n\u001B[0;32m 192\u001B[0m \u001B[38;5;124;03m OutputData: values predicted on the provided ``input_data``\u001B[39;00m\n\u001B[0;32m 193\u001B[0m \u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[0;32m 194\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mlog\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mTrying to fit pipeline node with operation: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39moperation\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m'\u001B[39m)\n\u001B[1;32m--> 196\u001B[0m input_data \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_get_input_data\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[38;5;124;43mfit\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[0;32m 198\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m 199\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m Timer() \u001B[38;5;28;01mas\u001B[39;00m t:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:273\u001B[0m, in \u001B[0;36mPipelineNode._get_input_data\u001B[1;34m(self, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 271\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21m_get_input_data\u001B[39m(\u001B[38;5;28mself\u001B[39m, input_data: InputData, parent_operation: \u001B[38;5;28mstr\u001B[39m):\n\u001B[0;32m 272\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mnodes_from:\n\u001B[1;32m--> 273\u001B[0m input_data \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_input_from_parents\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mparent_operation\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 274\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m 275\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mdirect_set:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:299\u001B[0m, in \u001B[0;36mPipelineNode._input_from_parents\u001B[1;34m(self, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 295\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mlog\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mFit all parent nodes in secondary node with operation: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39moperation\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m'\u001B[39m)\n\u001B[0;32m 297\u001B[0m parent_nodes \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_nodes_from_with_fixed_order()\n\u001B[1;32m--> 299\u001B[0m parent_results, _ \u001B[38;5;241m=\u001B[39m \u001B[43m_combine_parents\u001B[49m\u001B[43m(\u001B[49m\u001B[43mparent_nodes\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 300\u001B[0m \u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 301\u001B[0m secondary_input \u001B[38;5;241m=\u001B[39m DataMerger\u001B[38;5;241m.\u001B[39mget(parent_results)\u001B[38;5;241m.\u001B[39mmerge()\n\u001B[0;32m 302\u001B[0m \u001B[38;5;66;03m# Update info about visited nodes\u001B[39;00m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:390\u001B[0m, in \u001B[0;36m_combine_parents\u001B[1;34m(parent_nodes, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 388\u001B[0m parent_results\u001B[38;5;241m.\u001B[39mappend(prediction)\n\u001B[0;32m 389\u001B[0m \u001B[38;5;28;01melif\u001B[39;00m parent_operation \u001B[38;5;241m==\u001B[39m \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mfit\u001B[39m\u001B[38;5;124m'\u001B[39m:\n\u001B[1;32m--> 390\u001B[0m prediction \u001B[38;5;241m=\u001B[39m \u001B[43mparent\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 391\u001B[0m parent_results\u001B[38;5;241m.\u001B[39mappend(prediction)\n\u001B[0;32m 392\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:196\u001B[0m, in \u001B[0;36mPipelineNode.fit\u001B[1;34m(self, input_data)\u001B[0m\n\u001B[0;32m 186\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"Runs training process in the node\u001B[39;00m\n\u001B[0;32m 187\u001B[0m \n\u001B[0;32m 188\u001B[0m \u001B[38;5;124;03mArgs:\u001B[39;00m\n\u001B[1;32m (...)\u001B[0m\n\u001B[0;32m 192\u001B[0m \u001B[38;5;124;03m OutputData: values predicted on the provided ``input_data``\u001B[39;00m\n\u001B[0;32m 193\u001B[0m \u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[0;32m 194\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mlog\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mTrying to fit pipeline node with operation: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39moperation\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m'\u001B[39m)\n\u001B[1;32m--> 196\u001B[0m input_data \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_get_input_data\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[38;5;124;43mfit\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[0;32m 198\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m 199\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m Timer() \u001B[38;5;28;01mas\u001B[39;00m t:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:273\u001B[0m, in \u001B[0;36mPipelineNode._get_input_data\u001B[1;34m(self, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 271\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21m_get_input_data\u001B[39m(\u001B[38;5;28mself\u001B[39m, input_data: InputData, parent_operation: \u001B[38;5;28mstr\u001B[39m):\n\u001B[0;32m 272\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mnodes_from:\n\u001B[1;32m--> 273\u001B[0m input_data \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_input_from_parents\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mparent_operation\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 274\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m 275\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mdirect_set:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:299\u001B[0m, in \u001B[0;36mPipelineNode._input_from_parents\u001B[1;34m(self, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 295\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mlog\u001B[38;5;241m.\u001B[39mdebug(\u001B[38;5;124mf\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mFit all parent nodes in secondary node with operation: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39moperation\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m'\u001B[39m)\n\u001B[0;32m 297\u001B[0m parent_nodes \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_nodes_from_with_fixed_order()\n\u001B[1;32m--> 299\u001B[0m parent_results, _ \u001B[38;5;241m=\u001B[39m \u001B[43m_combine_parents\u001B[49m\u001B[43m(\u001B[49m\u001B[43mparent_nodes\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43minput_data\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 300\u001B[0m \u001B[43m \u001B[49m\u001B[43mparent_operation\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 301\u001B[0m secondary_input \u001B[38;5;241m=\u001B[39m DataMerger\u001B[38;5;241m.\u001B[39mget(parent_results)\u001B[38;5;241m.\u001B[39mmerge()\n\u001B[0;32m 302\u001B[0m \u001B[38;5;66;03m# Update info about visited nodes\u001B[39;00m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:390\u001B[0m, in \u001B[0;36m_combine_parents\u001B[1;34m(parent_nodes, input_data, parent_operation)\u001B[0m\n\u001B[0;32m 388\u001B[0m parent_results\u001B[38;5;241m.\u001B[39mappend(prediction)\n\u001B[0;32m 389\u001B[0m \u001B[38;5;28;01melif\u001B[39;00m parent_operation \u001B[38;5;241m==\u001B[39m \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mfit\u001B[39m\u001B[38;5;124m'\u001B[39m:\n\u001B[1;32m--> 390\u001B[0m prediction \u001B[38;5;241m=\u001B[39m \u001B[43mparent\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 391\u001B[0m parent_results\u001B[38;5;241m.\u001B[39mappend(prediction)\n\u001B[0;32m 392\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\pipelines\\node.py:200\u001B[0m, in \u001B[0;36mPipelineNode.fit\u001B[1;34m(self, input_data)\u001B[0m\n\u001B[0;32m 198\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m 199\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m Timer() \u001B[38;5;28;01mas\u001B[39;00m t:\n\u001B[1;32m--> 200\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation, operation_predict \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43moperation\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfit\u001B[49m\u001B[43m(\u001B[49m\u001B[43mparams\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_parameters\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 201\u001B[0m \u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 202\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfit_time_in_seconds \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mround\u001B[39m(t\u001B[38;5;241m.\u001B[39mseconds_from_start, \u001B[38;5;241m3\u001B[39m)\n\u001B[0;32m 203\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\operations\\operation.py:89\u001B[0m, in \u001B[0;36mOperation.fit\u001B[1;34m(self, params, data)\u001B[0m\n\u001B[0;32m 85\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_init(data\u001B[38;5;241m.\u001B[39mtask, params\u001B[38;5;241m=\u001B[39mparams, n_samples_data\u001B[38;5;241m=\u001B[39mdata\u001B[38;5;241m.\u001B[39mfeatures\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m0\u001B[39m])\n\u001B[0;32m 87\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_eval_strategy\u001B[38;5;241m.\u001B[39mfit(train_data\u001B[38;5;241m=\u001B[39mdata)\n\u001B[1;32m---> 89\u001B[0m predict_train \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mpredict_for_fit\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mfitted_operation\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparams\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 91\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mfitted_operation, predict_train\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\repository\\industrial_implementations\\abstract.py:101\u001B[0m, in \u001B[0;36mpredict_for_fit\u001B[1;34m(self, fitted_operation, data, params, output_mode)\u001B[0m\n\u001B[0;32m 89\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mpredict_for_fit\u001B[39m(\u001B[38;5;28mself\u001B[39m, fitted_operation, data: InputData, params: Optional[OperationParameters] \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m,\n\u001B[0;32m 90\u001B[0m output_mode: \u001B[38;5;28mstr\u001B[39m \u001B[38;5;241m=\u001B[39m \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mdefault\u001B[39m\u001B[38;5;124m'\u001B[39m):\n\u001B[0;32m 91\u001B[0m \u001B[38;5;250m \u001B[39m\u001B[38;5;124;03m\"\"\"This method is used for defining and running of the evaluation strategy\u001B[39;00m\n\u001B[0;32m 92\u001B[0m \u001B[38;5;124;03m to predict with the data provided during fit stage\u001B[39;00m\n\u001B[0;32m 93\u001B[0m \n\u001B[1;32m (...)\u001B[0m\n\u001B[0;32m 99\u001B[0m \u001B[38;5;124;03m for example, is the operation predict probabilities or class labels\u001B[39;00m\n\u001B[0;32m 100\u001B[0m \u001B[38;5;124;03m \"\"\"\u001B[39;00m\n\u001B[1;32m--> 101\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_predict\u001B[49m\u001B[43m(\u001B[49m\u001B[43mfitted_operation\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mparams\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43moutput_mode\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mis_fit_stage\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43;01mTrue\u001B[39;49;00m\u001B[43m)\u001B[49m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\repository\\industrial_implementations\\abstract.py:55\u001B[0m, in \u001B[0;36mpredict_operation\u001B[1;34m(self, fitted_operation, data, params, output_mode, is_fit_stage)\u001B[0m\n\u001B[0;32m 52\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_init(data\u001B[38;5;241m.\u001B[39mtask, output_mode\u001B[38;5;241m=\u001B[39moutput_mode, params\u001B[38;5;241m=\u001B[39mparams, n_samples_data\u001B[38;5;241m=\u001B[39mdata\u001B[38;5;241m.\u001B[39mfeatures\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m0\u001B[39m])\n\u001B[0;32m 54\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m is_fit_stage:\n\u001B[1;32m---> 55\u001B[0m prediction \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_eval_strategy\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mpredict_for_fit\u001B[49m\u001B[43m(\u001B[49m\n\u001B[0;32m 56\u001B[0m \u001B[43m \u001B[49m\u001B[43mtrained_operation\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mfitted_operation\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 57\u001B[0m \u001B[43m \u001B[49m\u001B[43mpredict_data\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mdata\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 58\u001B[0m \u001B[43m \u001B[49m\u001B[43moutput_mode\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43moutput_mode\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 59\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m 60\u001B[0m prediction \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_eval_strategy\u001B[38;5;241m.\u001B[39mpredict(\n\u001B[0;32m 61\u001B[0m trained_operation\u001B[38;5;241m=\u001B[39mfitted_operation,\n\u001B[0;32m 62\u001B[0m predict_data\u001B[38;5;241m=\u001B[39mdata,\n\u001B[0;32m 63\u001B[0m output_mode\u001B[38;5;241m=\u001B[39moutput_mode)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\operation\\interfaces\\industrial_preprocessing_strategy.py:291\u001B[0m, in \u001B[0;36mIndustrialPreprocessingStrategy.predict_for_fit\u001B[1;34m(self, trained_operation, predict_data, output_mode)\u001B[0m\n\u001B[0;32m 290\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mpredict_for_fit\u001B[39m(\u001B[38;5;28mself\u001B[39m, trained_operation, predict_data: InputData, output_mode: \u001B[38;5;28mstr\u001B[39m \u001B[38;5;241m=\u001B[39m \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mdefault\u001B[39m\u001B[38;5;124m'\u001B[39m) \u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m OutputData:\n\u001B[1;32m--> 291\u001B[0m prediction \u001B[38;5;241m=\u001B[39m \u001B[43mtrained_operation\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mtransform_for_fit\u001B[49m\u001B[43m(\u001B[49m\u001B[43mpredict_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 292\u001B[0m converted \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mmulti_dim_dispatcher\u001B[38;5;241m.\u001B[39m_convert_to_output(prediction, predict_data)\n\u001B[0;32m 293\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m converted\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\fedot\\core\\operations\\evaluation\\operation_implementations\\implementation_interfaces.py:46\u001B[0m, in \u001B[0;36mDataOperationImplementation.transform_for_fit\u001B[1;34m(self, input_data)\u001B[0m\n\u001B[0;32m 39\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mtransform_for_fit\u001B[39m(\u001B[38;5;28mself\u001B[39m, input_data: InputData) \u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m OutputData:\n\u001B[0;32m 40\u001B[0m \u001B[38;5;250m \u001B[39m\u001B[38;5;124;03m\"\"\" Method apply transform operation on a dataset for fit stage.\u001B[39;00m\n\u001B[0;32m 41\u001B[0m \u001B[38;5;124;03m Allows to implement transform method different from main transform method\u001B[39;00m\n\u001B[0;32m 42\u001B[0m \u001B[38;5;124;03m if another behaviour for fit graph stage is needed.\u001B[39;00m\n\u001B[0;32m 43\u001B[0m \n\u001B[0;32m 44\u001B[0m \u001B[38;5;124;03m :param input_data: data with features, target and ids to process\u001B[39;00m\n\u001B[0;32m 45\u001B[0m \u001B[38;5;124;03m \"\"\"\u001B[39;00m\n\u001B[1;32m---> 46\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mtransform\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\operation\\IndustrialCachableOperation.py:81\u001B[0m, in \u001B[0;36mIndustrialCachableOperationImplementation.transform\u001B[1;34m(self, input_data, use_cache)\u001B[0m\n\u001B[0;32m 79\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m predict\n\u001B[0;32m 80\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m---> 81\u001B[0m transformed_features \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_transform\u001B[49m\u001B[43m(\u001B[49m\u001B[43minput_data\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 82\u001B[0m predict \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_convert_to_fedot_datatype(input_data, transformed_features)\n\u001B[0;32m 83\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m predict\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\fedot_ind\\core\\operation\\transformation\\basis\\eigen_basis.py:70\u001B[0m, in \u001B[0;36mEigenBasisImplementation._transform\u001B[1;34m(self, input_data)\u001B[0m\n\u001B[0;32m 68\u001B[0m \u001B[38;5;28;01mfor\u001B[39;00m dimension \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28mrange\u001B[39m(features\u001B[38;5;241m.\u001B[39mshape[\u001B[38;5;241m1\u001B[39m]):\n\u001B[0;32m 69\u001B[0m parallel \u001B[38;5;241m=\u001B[39m Parallel(n_jobs\u001B[38;5;241m=\u001B[39m\u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mn_processes, verbose\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m0\u001B[39m, pre_dispatch\u001B[38;5;241m=\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124m2*n_jobs\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n\u001B[1;32m---> 70\u001B[0m v \u001B[38;5;241m=\u001B[39m \u001B[43mparallel\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdelayed\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_transform_one_sample\u001B[49m\u001B[43m)\u001B[49m\u001B[43m(\u001B[49m\u001B[43msample\u001B[49m\u001B[43m)\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;28;43;01mfor\u001B[39;49;00m\u001B[43m \u001B[49m\u001B[43msample\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;129;43;01min\u001B[39;49;00m\u001B[43m \u001B[49m\u001B[43mfeatures\u001B[49m\u001B[43m[\u001B[49m\u001B[43m:\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdimension\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43m:\u001B[49m\u001B[43m]\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 71\u001B[0m predict\u001B[38;5;241m.\u001B[39mappend(np\u001B[38;5;241m.\u001B[39marray(v) \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mlen\u001B[39m(v) \u001B[38;5;241m>\u001B[39m \u001B[38;5;241m1\u001B[39m \u001B[38;5;28;01melse\u001B[39;00m v[\u001B[38;5;241m0\u001B[39m])\n\u001B[0;32m 73\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mpredict \u001B[38;5;241m=\u001B[39m np\u001B[38;5;241m.\u001B[39mconcatenate(predict, axis\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m1\u001B[39m)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:1952\u001B[0m, in \u001B[0;36mParallel.__call__\u001B[1;34m(self, iterable)\u001B[0m\n\u001B[0;32m 1946\u001B[0m \u001B[38;5;66;03m# The first item from the output is blank, but it makes the interpreter\u001B[39;00m\n\u001B[0;32m 1947\u001B[0m \u001B[38;5;66;03m# progress until it enters the Try/Except block of the generator and\u001B[39;00m\n\u001B[0;32m 1948\u001B[0m \u001B[38;5;66;03m# reach the first `yield` statement. This starts the aynchronous\u001B[39;00m\n\u001B[0;32m 1949\u001B[0m \u001B[38;5;66;03m# dispatch of the tasks to the workers.\u001B[39;00m\n\u001B[0;32m 1950\u001B[0m \u001B[38;5;28mnext\u001B[39m(output)\n\u001B[1;32m-> 1952\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m output \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mreturn_generator \u001B[38;5;28;01melse\u001B[39;00m \u001B[38;5;28;43mlist\u001B[39;49m\u001B[43m(\u001B[49m\u001B[43moutput\u001B[49m\u001B[43m)\u001B[49m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:1595\u001B[0m, in \u001B[0;36mParallel._get_outputs\u001B[1;34m(self, iterator, pre_dispatch)\u001B[0m\n\u001B[0;32m 1592\u001B[0m \u001B[38;5;28;01myield\u001B[39;00m\n\u001B[0;32m 1594\u001B[0m \u001B[38;5;28;01mwith\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_backend\u001B[38;5;241m.\u001B[39mretrieval_context():\n\u001B[1;32m-> 1595\u001B[0m \u001B[38;5;28;01myield from\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_retrieve()\n\u001B[0;32m 1597\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mGeneratorExit\u001B[39;00m:\n\u001B[0;32m 1598\u001B[0m \u001B[38;5;66;03m# The generator has been garbage collected before being fully\u001B[39;00m\n\u001B[0;32m 1599\u001B[0m \u001B[38;5;66;03m# consumed. This aborts the remaining tasks if possible and warn\u001B[39;00m\n\u001B[0;32m 1600\u001B[0m \u001B[38;5;66;03m# the user if necessary.\u001B[39;00m\n\u001B[0;32m 1601\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_exception \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mTrue\u001B[39;00m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:1699\u001B[0m, in \u001B[0;36mParallel._retrieve\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 1692\u001B[0m \u001B[38;5;28;01mwhile\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_wait_retrieval():\n\u001B[0;32m 1693\u001B[0m \n\u001B[0;32m 1694\u001B[0m \u001B[38;5;66;03m# If the callback thread of a worker has signaled that its task\u001B[39;00m\n\u001B[0;32m 1695\u001B[0m \u001B[38;5;66;03m# triggered an exception, or if the retrieval loop has raised an\u001B[39;00m\n\u001B[0;32m 1696\u001B[0m \u001B[38;5;66;03m# exception (e.g. `GeneratorExit`), exit the loop and surface the\u001B[39;00m\n\u001B[0;32m 1697\u001B[0m \u001B[38;5;66;03m# worker traceback.\u001B[39;00m\n\u001B[0;32m 1698\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_aborting:\n\u001B[1;32m-> 1699\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_raise_error_fast\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 1700\u001B[0m \u001B[38;5;28;01mbreak\u001B[39;00m\n\u001B[0;32m 1702\u001B[0m \u001B[38;5;66;03m# If the next job is not ready for retrieval yet, we just wait for\u001B[39;00m\n\u001B[0;32m 1703\u001B[0m \u001B[38;5;66;03m# async callbacks to progress.\u001B[39;00m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:1734\u001B[0m, in \u001B[0;36mParallel._raise_error_fast\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 1730\u001B[0m \u001B[38;5;66;03m# If this error job exists, immediatly raise the error by\u001B[39;00m\n\u001B[0;32m 1731\u001B[0m \u001B[38;5;66;03m# calling get_result. This job might not exists if abort has been\u001B[39;00m\n\u001B[0;32m 1732\u001B[0m \u001B[38;5;66;03m# called directly or if the generator is gc'ed.\u001B[39;00m\n\u001B[0;32m 1733\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m error_job \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m-> 1734\u001B[0m \u001B[43merror_job\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mget_result\u001B[49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mtimeout\u001B[49m\u001B[43m)\u001B[49m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:736\u001B[0m, in \u001B[0;36mBatchCompletionCallBack.get_result\u001B[1;34m(self, timeout)\u001B[0m\n\u001B[0;32m 730\u001B[0m backend \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mparallel\u001B[38;5;241m.\u001B[39m_backend\n\u001B[0;32m 732\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m backend\u001B[38;5;241m.\u001B[39msupports_retrieve_callback:\n\u001B[0;32m 733\u001B[0m \u001B[38;5;66;03m# We assume that the result has already been retrieved by the\u001B[39;00m\n\u001B[0;32m 734\u001B[0m \u001B[38;5;66;03m# callback thread, and is stored internally. It's just waiting to\u001B[39;00m\n\u001B[0;32m 735\u001B[0m \u001B[38;5;66;03m# be returned.\u001B[39;00m\n\u001B[1;32m--> 736\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_return_or_raise\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 738\u001B[0m \u001B[38;5;66;03m# For other backends, the main thread needs to run the retrieval step.\u001B[39;00m\n\u001B[0;32m 739\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\parallel.py:754\u001B[0m, in \u001B[0;36mBatchCompletionCallBack._return_or_raise\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 752\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m 753\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mstatus \u001B[38;5;241m==\u001B[39m TASK_ERROR:\n\u001B[1;32m--> 754\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_result\n\u001B[0;32m 755\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_result\n\u001B[0;32m 756\u001B[0m \u001B[38;5;28;01mfinally\u001B[39;00m:\n",
- "\u001B[1;31mBrokenProcessPool\u001B[0m: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable."
- ]
- }
- ],
- "source": [
- "from cases.utils import evaluate_automl\n",
- "metric_dict, model_list = evaluate_automl(runs=3)"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "outputs": [
- {
- "ename": "ValueError",
- "evalue": "Length mismatch: Expected axis has 8 elements, new values have 1 elements",
- "output_type": "error",
- "traceback": [
- "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
- "\u001B[1;31mValueError\u001B[0m Traceback (most recent call last)",
- "Cell \u001B[1;32mIn[12], line 2\u001B[0m\n\u001B[0;32m 1\u001B[0m df_automl \u001B[38;5;241m=\u001B[39m pd\u001B[38;5;241m.\u001B[39mconcat([x \u001B[38;5;28;01mfor\u001B[39;00m x \u001B[38;5;129;01min\u001B[39;00m metric_dict\u001B[38;5;241m.\u001B[39mvalues()],axis\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m0\u001B[39m)\u001B[38;5;241m.\u001B[39mT\n\u001B[1;32m----> 2\u001B[0m \u001B[43mdf_automl\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mcolumns\u001B[49m \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mlist\u001B[39m(metric_dict\u001B[38;5;241m.\u001B[39mkeys())\n\u001B[0;32m 3\u001B[0m df_automl \u001B[38;5;241m=\u001B[39m df_automl\u001B[38;5;241m.\u001B[39mT\n\u001B[0;32m 4\u001B[0m df_automl\u001B[38;5;241m.\u001B[39msort_values(\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mroot_mean_squared_error:\u001B[39m\u001B[38;5;124m'\u001B[39m)\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\pandas\\core\\generic.py:6002\u001B[0m, in \u001B[0;36mNDFrame.__setattr__\u001B[1;34m(self, name, value)\u001B[0m\n\u001B[0;32m 6000\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[0;32m 6001\u001B[0m \u001B[38;5;28mobject\u001B[39m\u001B[38;5;241m.\u001B[39m\u001B[38;5;21m__getattribute__\u001B[39m(\u001B[38;5;28mself\u001B[39m, name)\n\u001B[1;32m-> 6002\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28;43mobject\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[38;5;21;43m__setattr__\u001B[39;49m\u001B[43m(\u001B[49m\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mname\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mvalue\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 6003\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mAttributeError\u001B[39;00m:\n\u001B[0;32m 6004\u001B[0m \u001B[38;5;28;01mpass\u001B[39;00m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\pandas\\_libs\\properties.pyx:69\u001B[0m, in \u001B[0;36mpandas._libs.properties.AxisProperty.__set__\u001B[1;34m()\u001B[0m\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\pandas\\core\\generic.py:730\u001B[0m, in \u001B[0;36mNDFrame._set_axis\u001B[1;34m(self, axis, labels)\u001B[0m\n\u001B[0;32m 725\u001B[0m \u001B[38;5;250m\u001B[39m\u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[0;32m 726\u001B[0m \u001B[38;5;124;03mThis is called from the cython code when we set the `index` attribute\u001B[39;00m\n\u001B[0;32m 727\u001B[0m \u001B[38;5;124;03mdirectly, e.g. `series.index = [1, 2, 3]`.\u001B[39;00m\n\u001B[0;32m 728\u001B[0m \u001B[38;5;124;03m\"\"\"\u001B[39;00m\n\u001B[0;32m 729\u001B[0m labels \u001B[38;5;241m=\u001B[39m ensure_index(labels)\n\u001B[1;32m--> 730\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_mgr\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mset_axis\u001B[49m\u001B[43m(\u001B[49m\u001B[43maxis\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mlabels\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 731\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_clear_item_cache()\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\pandas\\core\\internals\\managers.py:225\u001B[0m, in \u001B[0;36mBaseBlockManager.set_axis\u001B[1;34m(self, axis, new_labels)\u001B[0m\n\u001B[0;32m 223\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mset_axis\u001B[39m(\u001B[38;5;28mself\u001B[39m, axis: AxisInt, new_labels: Index) \u001B[38;5;241m-\u001B[39m\u001B[38;5;241m>\u001B[39m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[0;32m 224\u001B[0m \u001B[38;5;66;03m# Caller is responsible for ensuring we have an Index object.\u001B[39;00m\n\u001B[1;32m--> 225\u001B[0m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_validate_set_axis\u001B[49m\u001B[43m(\u001B[49m\u001B[43maxis\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mnew_labels\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 226\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39maxes[axis] \u001B[38;5;241m=\u001B[39m new_labels\n",
- "File \u001B[1;32mD:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\pandas\\core\\internals\\base.py:70\u001B[0m, in \u001B[0;36mDataManager._validate_set_axis\u001B[1;34m(self, axis, new_labels)\u001B[0m\n\u001B[0;32m 67\u001B[0m \u001B[38;5;28;01mpass\u001B[39;00m\n\u001B[0;32m 69\u001B[0m \u001B[38;5;28;01melif\u001B[39;00m new_len \u001B[38;5;241m!=\u001B[39m old_len:\n\u001B[1;32m---> 70\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mValueError\u001B[39;00m(\n\u001B[0;32m 71\u001B[0m \u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mLength mismatch: Expected axis has \u001B[39m\u001B[38;5;132;01m{\u001B[39;00mold_len\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m elements, new \u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m 72\u001B[0m \u001B[38;5;124mf\u001B[39m\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mvalues have \u001B[39m\u001B[38;5;132;01m{\u001B[39;00mnew_len\u001B[38;5;132;01m}\u001B[39;00m\u001B[38;5;124m elements\u001B[39m\u001B[38;5;124m\"\u001B[39m\n\u001B[0;32m 73\u001B[0m )\n",
- "\u001B[1;31mValueError\u001B[0m: Length mismatch: Expected axis has 8 elements, new values have 1 elements"
- ]
- }
- ],
- "source": [
- "df_automl = pd.concat([x for x in metric_dict.values()],axis=0).T\n",
- "df_automl.columns = list(metric_dict.keys())\n",
- "df_automl = df_automl.T\n",
- "df_automl.sort_values('root_mean_squared_error:')"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Compare with State of Art (SOTA) models"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%% md\n"
- }
- }
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "outputs": [],
- "source": [
- "from cases.utils import sota_compare\n",
- "\n",
- "sota_compare(data_path,dataset_name, best_baseline,best_tuned,df_automl)"
- ],
- "metadata": {
- "collapsed": false,
- "pycharm": {
- "name": "#%%\n"
- }
- }
- }
- ],
- "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.8.1"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
\ No newline at end of file
diff --git a/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_electricity.ipynb b/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_electricity.ipynb
new file mode 100644
index 000000000..184d02e1f
--- /dev/null
+++ b/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_electricity.ipynb
@@ -0,0 +1,1413 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Predict how much energy will a building consume with Fedot.Industrial"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Dataset published on Kaggle, aims to assess the value of energy efficiency improvements. For that purpose, four types of sources are identified: electricity, chilled water, steam and hot\n",
+ "water. The goal is to estimate the **energy consumption in kWh**. Dimensions correspond to the air temperature, dew temperature, wind direction and wind speed. These values were taken hourly during a week, and the output is the meter reading of the four aforementioned sources. In this way, was created four datasets: **ChilledWaterPredictor**, **ElectricityPredictor**, **HotwaterPredictor**, and **SteamPredictor**.\n",
+ "Link to the dataset - https://www.kaggle.com/code/fatmanuranl/ashrae-energy-prediction2"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T10:34:48.354623Z",
+ "start_time": "2023-08-28T10:34:39.594404Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "from fedot_ind.api.utils.path_lib import PROJECT_PATH\n",
+ "from fedot.core.pipelines.pipeline_builder import PipelineBuilder\n",
+ "from fedot_ind.tools.loader import DataLoader\n",
+ "from fedot_ind.api.main import FedotIndustrial"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "outputs": [],
+ "source": [
+ "def evaluate_loop(api_params, finetune: bool = False):\n",
+ " industrial = FedotIndustrial(**api_params)\n",
+ " if finetune:\n",
+ " industrial.finetune(train_data)\n",
+ " else:\n",
+ " industrial.fit(train_data)\n",
+ " return industrial"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "The list of basic fedot industrial models for experiment are shown below. We using simple linear machine learning pipelines with 3 different feature generators: Statistical, Reccurence, Topological. And for each of them we add PCA transformation with 90 % of explained dispersion."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "outputs": [],
+ "source": [
+ "initial_assumption = PipelineBuilder().add_node('quantile_extractor').add_node('treg')\n",
+ "params = dict(problem='regression',\n",
+ " metric='rmse',\n",
+ " timeout=15,\n",
+ " initial_assumption=initial_assumption,\n",
+ " n_jobs=2,\n",
+ " logging_level=20)\n",
+ "dataset_name = 'ElectricityPredictor'\n",
+ "data_path = PROJECT_PATH + '/examples/data'"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "Now we must download the dataset. It could be done by using `DataReader` class that implemented as attribute of `FedotIndustrial` class. This class firstly tries to read the data from local project folder `data_path` and then if it is not possible, it downloads the data from the UCR/UEA archive. The data will be saved in the `data` folder."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T10:35:13.321212Z",
+ "start_time": "2023-08-28T10:35:12.913025Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 15:54:52,114 - Reading data from D:\\WORK\\Repo\\Industiral\\IndustrialTS/examples/data/ElectricityPredictor\n"
+ ]
+ }
+ ],
+ "source": [
+ "_, train_data, test_data = DataLoader(dataset_name=dataset_name).read_train_test_files(\n",
+ " dataset_name=dataset_name,\n",
+ " data_path=data_path)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "features = np.array(train_data[0].values.tolist()).astype(float)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Lets check our data."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "(567, 4, 168)"
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "features.shape"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Lets visualise our predictors."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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o45CKBQy9H6XLFmC6dOn45hjjsENN9yAsWPHYs+ePVi9ejU+//xzfPDBB4XtSKJKV65pSESV7vXXXxdTp04Vfr9fjB07VixdulTccccdItPH7qmnnhLTp08XtbW1ora2VkyaNEncdNNNYuPGjSmPe+GFFwQA0dLSknL79ddfLwCIhx56yNC27d69W5xzzjmirq5OAEiZktvR0SEWLFggxo8fL/x+vxg8eLA45ZRTxM9//nPR09MjhEhOz7333ntTnve1114TAMSTTz6ZcvsjjzwiAIh33nlHu23UqFHinHPOEcuXLxfHHnusCAQCYtKkSf1+t9htEqJ3evBPf/pTMWrUKBEIBMSUKVPE888/32/asRBCvPnmm9rfDWnTmB9//HExduxY4ff7xXHHHSeWL1+edepypu0QQogtW7aIq666SjQ1NQmfzycOPfRQce6554o//vGPGR9PREIoQhRQ8UZEVKTRo0fj6KOPxvPPP1/uTSEiybFmhYiIiKTGYIWIiIikxmCFiIiIpMaaFSIiIpIaMytEREQkNQYrREREJDXpmsIlEgns3LkTdXV1OVtfExERkTyEEOjo6EBzczM8HmtzIdIFKzt37uy3YisRERE5w/bt23HYYYdZ+pzSBSt1dXUAet9sfX19mbeGiIiIjAiFQhgxYoT2PW4l6YIVdeinvr6ewQoREZHD2FHCwQJbIiIikhqDFSIiIpIagxUiIiKSmnQ1K0RERE4lhEAsFkM8Hi/3ptjC6/Wiqqqq5K1FGKwQERFZoKenB7t27UJ3d3e5N8VWNTU1GD58OPx+f8lek8EKERFRkRKJBFpbW+H1etHc3Ay/319xjU2FEOjp6cHevXvR2tqKww8/3PLmb9kwWCEiIipST08PEokERowYgZqamnJvjm2qq6vh8/mwdetW9PT0IBgMluR1WWBLRERkkVJlGsqpHO+x8vcqERERORqDFSIiIpKa6WBl5cqVmDNnDpqbm6EoCpYtW5Zyv6IoGf+79957rdpmIiIichHTwUpXVxcmT56MJUuWZLx/165dKf89/PDDUBQFF198cdEbS0RERNZbsmQJRo8ejWAwiGnTpuHtt98u9yalMD0bqKWlBS0tLVnvb2pqSvn52WefxcyZMzF27NiMj49EIohEItrPoVDI7CY5xudfduPxt7YhEuttFjSpqQ6Xnjgy42M/2H4A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V1tbi+HDh+PLL7/E8uXLcf7559v5ckRERFSBbClrX758OYQQmDhxIjZv3oybb74ZkyZNwjXXXGPHyxEREVEFsyWz0t7ejptuugmTJk3CVVddhenTp2P58uXw+difgIiIiMyxpcC2GCywJSIich7HFdgSERERWYXBChEREUmNwQoRERFJjcEKERERSY3BChEREUmNwQoRERFJjcEKERERSY3BChEREUnNlnb7xVB71IVCoTJvCRERERmlfm/b0WtWumClo6MDADBixIgybwkRERGZtX//fjQ0NFj6nNK1208kEti5cyfq6uqgKIqlzx0KhTBixAhs376drfzB/aHHfZGK+yOJ+yIV90cS90Wq9vZ2jBw5El9++SUGDhxo6XNLl1nxeDw47LDDbH2N+vp6Hlg63B9J3BepuD+SuC9ScX8kcV+k8nisL4dlgS0RERFJjcEKERERSc1VwUogEMAdd9yBQCBQ7k2RAvdHEvdFKu6PJO6LVNwfSdwXqezcH9IV2BIRERHpuSqzQkRERM7DYIWIiIikxmCFiIiIpMZghYiIiKTGYIWIiIik5qpgZcmSJRg9ejSCwSCmTZuGt99+u9ybZLvFixfjxBNPRF1dHYYOHYoLLrgAGzduTHnMjBkzoChKyn/f/OY3y7TF9lm4cGG/9zlp0iTt/nA4jJtuugmDBg3CgAEDcPHFF2PPnj1l3GJ7jR49ut/+UBQFN910E4DKPi5WrlyJOXPmoLm5GYqiYNmyZSn3CyFw++23Y/jw4aiursasWbOwadOmlMd88cUXuOKKK1BfX4+BAwfiuuuuQ2dnZwnfhXVy7Y9oNIpbb70VxxxzDGpra9Hc3IyrrroKO3fuTHmOTMfT3XffXeJ3Urx8x8bVV1/d732effbZKY9xy7EBIOM5RFEU3HvvvdpjrDg2XBOs/P73v8f8+fNxxx134L333sPkyZMxe/ZstLW1lXvTbPX666/jpptuwltvvYWXXnoJ0WgUZ511Frq6ulIed8MNN2DXrl3af/fcc0+ZttheRx11VMr7fOONN7T7fvjDH+JPf/oTnnzySbz++uvYuXMnLrroojJurb3eeeedlH3x0ksvAQAuueQS7TGVelx0dXVh8uTJWLJkScb777nnHvzyl7/E0qVLsWbNGtTW1mL27NkIh8PaY6644gp89NFHeOmll/D8889j5cqVuPHG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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGzCAYAAAASZnxRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAChQ0lEQVR4nO2deZgkVZnu38i1Kmvtqu6q3ptma3ZEkB6GVRqBFsURFwZxQFRcphlFxjsMzlVmvKOg3usydxBlVPCOCuiMuAvD0tAw7CCyYzc03Q1019ZdW1ZVrnH/yDwnTpyMyIjIjDXz+z1PP1BZWZmRkRHnfOf93vN9iqqqKgiCIAiCIAIgFvQBEARBEATRvlAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAEQRBEYFAgQhAtxGmnnYbTTjst9K8ZFu69914oioJ777036EMhiLaFAhGCIAiCIAIjEfQBEAThHv/1X/8V9CEQBEE4ggIRgmghUqlU0IdAEAThCErNEETIePrpp6EoCn71q1/xx5544gkoioI3v/nNuudu3LgR69ev5z/Lfg7mgfjpT3+KL33pS1i5ciU6OjqwYcMGbNu2rea9b7jhBhxwwAHo7OzE8ccfj/vvv9/2cd9555046aST0N/fj+7ubqxbtw6f+9znao7l1ltvxec+9zksXboUXV1dOPfcc7Fr166a13vkkUdw9tlno6+vD5lMBqeeeir++7//u+Z5r7/+Oj784Q9jeHgY6XQahx9+OH7wgx/UPO+1117DX/zFX6CrqwtDQ0P4zGc+g1wuZ/vzEQThDaSIEETIOOKII9Df348tW7bg3HPPBQDcf//9iMVi+OMf/4jp6Wn09vaiXC7jwQcfxMc+9jHL17z22msRi8Xw2c9+FlNTU/jqV7+KCy+8EI888gh/zve//318/OMfx5//+Z/j8ssvxyuvvIJzzz0XAwMDWLVqVd3Xf+655/COd7wDRx11FL74xS8inU5j27ZthoHDl770JSiKgiuvvBKjo6P45je/iTPOOANPPfUUOjs7AQD33HMPNm7ciGOPPRZXX301YrEYbrzxRpx++um4//77cfzxxwMARkZG8Gd/9mdQFAWXXXYZlixZgt///vf4yEc+gunpaVx++eUAgPn5eWzYsAE7d+7Epz71KSxfvhz//u//jnvuucfWd0IQhIeoBEGEjnPOOUc9/vjj+c/nnXeeet5556nxeFz9/e9/r6qqqj755JMqAPWXv/wlf96pp56qnnrqqfznzZs3qwDUQw89VM3lcvzxb33rWyoA9ZlnnlFVVVXz+bw6NDSkvulNb9I974YbblAB6F7TiG984xsqAHVsbMz0OexYVqxYoU5PT/PHf/rTn6oA1G9961uqqqpquVxWDzroIPWss85Sy+Uyf97c3Jy6du1a9W1vext/7CMf+Yi6bNkydXx8XPdef/mXf6n29fWpc3Nzqqqq6je/+U0VgPrTn/6UPyebzaoHHnigCkDdvHlz3c9HEIR3UGqGIELIySefjCeffBLZbBYA8MADD+Dtb3873vSmN/F0yf333w9FUXDSSSdZvt4ll1yi84+cfPLJAIBXXnkFAPD4449jdHQUn/jEJ3TP+9CHPoS+vj7L1+/v7wcA/PKXv0S5XK773Isuugg9PT385/e+971YtmwZfve73wEAnnrqKWzduhUf+MAHMDExgfHxcYyPjyObzWLDhg3YsmULyuUyVFXFf/7nf+Kd73wnVFXlzxsfH8dZZ52FqakpPPnkkwCA3/3ud1i2bBne+9738vfNZDK21CSCILyFUjMEEUJOPvlkFItFPPTQQ1i1ahVGR0dx8skn47nnntMFIocddhgGBgYsX2/16tW6nxctWgQA2LdvHwBgx44dAICDDjpI97xkMon999/f8vXPP/98fO9738NHP/pR/P3f/z02bNiA8847D+9973sRi+nXO/J7KIqCAw88EK+++ioAYOvWrQCAiy++2PT9pqamUCgUMDk5iRtuuAE33HCD4fNGR0f55zvwwAOhKIru9+vWrbP8bARBeAsFIgQRQo477jh0dHRgy5YtWL16NYaGhnDwwQfj5JNPxre//W3kcjncf//9ePe7323r9eLxuOHjqqq6crydnZ3YsmULNm/ejN/+9re4/fbbceutt+L000/Hf/3Xf5m+vxFMUfna176GN73pTYbP6e7uxsTEBADggx/8oGnQctRRRzn7IARB+A4FIgQRQlKpFN+1snr1ap5KOfnkk5HL5fDjH/8YIyMjOOWUU1x5vzVr1gCoqBGnn346f7xQKGD79u04+uijLV8jFothw4YN2LBhA77+9a/jy1/+Mv7hH/4BmzdvxhlnnMGfxxQPhqqq2LZtGw8aDjjgAABAb2+v7u9klixZgp6eHpRKpbrPY5/v2WefhaqqOlXkpZdesvxcBEF4C3lECCKknHzyyXjkkUewefNmHogsXrwYhx56KL7yla/w57jBcccdhyVLluA73/kO8vk8f/ymm27C5OSk5d/v3bu35jGmZshbZP/f//t/mJmZ4T//x3/8B3bv3o2NGzcCAI499lgccMAB+N//+39jdna25nXHxsYAVFSe97znPfjP//xPPPvss6bPA4C3v/3teOONN/Af//Ef/LG5uTnTlA5BEP5BighBhJSTTz4ZX/rSl7Br1y5dwHHKKafgu9/9Lvbbbz+sXLnSlfdKJpP453/+Z3z84x/H6aefjvPPPx/bt2/HjTfeaMsj8sUvfhFbtmzBOeecgzVr1mB0dBTf/va3sXLlyhoz7cDAAE466SRccsklGBkZwTe/+U0ceOCBuPTSSwFUlJXvfe972LhxIw4//HBccsklWLFiBV5//XVs3rwZvb29+PWvfw2gsi158+bNWL9+PS699FIcdthh2Lt3L5588kncddddPEC69NJL8a//+q+46KKL8MQTT2DZsmX493//d2QyGVfOH0EQTRDonh2CIEyZnp5W4/G42tPToxaLRf74j370IxWA+ld/9Vc1f2O2ffdnP/uZ7nnbt29XAag33nij7vFvf/vb6tq1a9V0Oq0ed9xx6pYtW2pe04i7775bfde73qUuX75cTaVS6vLly9ULLrhA/dOf/lRzLDfffLN61VVXqUNDQ2pnZ6d6zjnnqDt27Kh5zT/84Q/qeeedpw4ODqrpdFpds2aN+v73v1+9++67dc8bGRlRN23apK5atUpNJpPq0qVL1Q0bNqg33HCD7nk7duxQzz33XDWTyaiLFy9WP/3pT6u33347bd8liIBRVNUltxpBEEQd7r33Xrz1rW/Fz372M902WoIg2hvyiBAEQRAEERgUiBAEQRAEERgUiBAEQRAEERiOPCL77bcfr8Ao8td//de47rrrXD0wgiAIgiBaH0fbdx977DGUSiX+87PPPou3ve1teN/73uf6gREEQRAE0fo0tWvm8ssvx29+8xts3bq1pocDQRAEQRCEFQ0XNMvn8/jRj36EK664om4QksvldJUVy+Uy9u7di8HBQQpeCIIgCCIiqKqKmZkZLF++vKaZZbMv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tVi6dKnuepiensYjjzzCr4cTTjgBk5OTeOKJJ/hz7rnnHpTLZR60tQosCNm6dSvuuusuDA4OWv7NU089hVgsVpOiaEVee+01TExM8Hujna4Nxve//30ce+yxOProoy2f29C10ZTVNSTccsstajqdVm+66Sb1+eefVz/2sY+p/f396p49e4I+NE/55Cc/qfb19an33nuvunv3bv5vbm5OVVVV3bZtm/rFL35Rffzxx9Xt27erv/zlL9X9999fPeWUUwI+cvf527/9W/Xee+9Vt2/frv73f/+3esYZZ6iLFy9WR0dHVVVV1U984hPq6tWr1XvuuUd9/PHH1RNOOEE94YQTAj5qbymVSurq1avVK6+8Uvd4O1wXMzMz6h/+8Af1D3/4gwpA/frXv67+4Q9/4DtBrr32WrW/v1/95S9/qT799NPqu971LnXt2rXq/Pw8f42zzz5bPeaYY9RHHnlEfeCBB9SDDjpIveCCC4L6SA1T71zk83n13HPPVVeuXKk+9dRTunEkl8upqqqqDz74oPqNb3xDfeqpp9SXX35Z/dGPfqQuWbJEveiiiwL+ZI1R73zMzMyon/3sZ9WHHnpI3b59u3rXXXepb37zm9WDDjpIXVhY4K/RDtcGY2pqSs1kMur1119f8/duXRstEYioqqr+3//7f9XVq1erqVRKPf7449WHH3446EPyHACG/2688UZVVVV1586d6imnnKIODAyo6XRaPfDAA9X/8T/+hzo1NRXsgXvA+eefry5btkxNpVLqihUr1PPPP1/dtm0b//38/Lz613/91+qiRYvUTCajvvvd71Z3794d4BF7zx133KECUF966SXd4+1wXWzevNnw3rj44otVVa1s4f385z+vDg8Pq+l0Wt2wYUPNeZqYmFAvuOACtbu7W+3t7VUvueQSdWZmJoBP0xz1zsX27dtNx5HNmzerqqqqTzzxhLp+/Xq1r69P7ejoUA899FD1y1/+sm5ijhL1zsfc3Jx65plnqkuWLFGTyaS6Zs0a9dJLL61Z1LbDtcH47ne/q3Z2dqqTk5M1f+/WtaGoqqra108IgiAIgiDcI/IeEYIgCIIgogsFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBAYFIgRBEARBBMb/ByaIRGqUA7pmAAAAAElFTkSuQmCC"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from matplotlib import pyplot as plt\n",
+ "pd.DataFrame(features[1, 0, :]).plot(title='air temperature')\n",
+ "pd.DataFrame(features[1, 1, :]).plot(title='dew temperature')\n",
+ "pd.DataFrame(features[1, 2, :]).plot(title='wind direction')\n",
+ "pd.DataFrame(features[1, 3, :]).plot(title='wind speed')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Next steps are quite straightforward. We need to fit the model and then predict the values for the test data just like for any other model in sklearn.\n",
+ "\n",
+ "At the `fit` stage FedotIndustrial will transform initial time series data into features dataframe and will train regression model."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "ExecuteTime": {
+ "start_time": "2023-08-28T10:35:27.965798Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 15:55:08,487 - Initialising experiment setup\n",
+ "2024-04-04 15:55:08,503 - Initialising Industrial Repository\n",
+ "2024-04-04 15:55:08,632 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-04 15:55:09,341 - To route to workers diagnostics web server please install jupyter-server-proxy: python -m pip install jupyter-server-proxy\n",
+ "2024-04-04 15:55:09,375 - State start\n",
+ "2024-04-04 15:55:10,361 - Scheduler at: inproc://10.64.4.217/16700/1\n",
+ "2024-04-04 15:55:10,361 - dashboard at: http://10.64.4.217:57469/status\n",
+ "2024-04-04 15:55:10,361 - Registering Worker plugin shuffle\n",
+ "2024-04-04 15:55:11,358 - Start worker at: inproc://10.64.4.217/16700/4\n",
+ "2024-04-04 15:55:11,359 - Listening to: inproc10.64.4.217\n",
+ "2024-04-04 15:55:11,359 - Worker name: 0\n",
+ "2024-04-04 15:55:11,360 - dashboard at: 10.64.4.217:57470\n",
+ "2024-04-04 15:55:11,360 - Waiting to connect to: inproc://10.64.4.217/16700/1\n",
+ "2024-04-04 15:55:11,361 - -------------------------------------------------\n",
+ "2024-04-04 15:55:11,362 - Threads: 8\n",
+ "2024-04-04 15:55:11,362 - Memory: 31.95 GiB\n",
+ "2024-04-04 15:55:11,362 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-21a90yuv\n",
+ "2024-04-04 15:55:11,363 - -------------------------------------------------\n",
+ "2024-04-04 15:55:11,370 - Register worker \n",
+ "2024-04-04 15:55:11,371 - Starting worker compute stream, inproc://10.64.4.217/16700/4\n",
+ "2024-04-04 15:55:11,372 - Starting established connection to inproc://10.64.4.217/16700/5\n",
+ "2024-04-04 15:55:11,373 - Starting Worker plugin shuffle\n",
+ "2024-04-04 15:55:11,374 - Registered to: inproc://10.64.4.217/16700/1\n",
+ "2024-04-04 15:55:11,375 - -------------------------------------------------\n",
+ "2024-04-04 15:55:11,375 - Starting established connection to inproc://10.64.4.217/16700/1\n",
+ "2024-04-04 15:55:11,379 - Receive client connection: Client-9291e462-f282-11ee-813c-b42e99a00ea1\n",
+ "2024-04-04 15:55:11,380 - Starting established connection to inproc://10.64.4.217/16700/6\n",
+ "2024-04-04 15:55:11,382 - LinK Dask Server - http://10.64.4.217:57469/status\n",
+ "2024-04-04 15:55:11,382 - Initialising solver\n",
+ "2024-04-04 15:55:11,488 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-04 15:55:11,490 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-04 15:55:11,498 - SequentialTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-04 15:55:21,869 - SequentialTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {}\n",
+ "quantile_extractor - {} \n",
+ "Initial metric: [472.422]\n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-04 15:55:21,875 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-04 15:55:21,876 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:09<15:32, 9.42s/trial, best loss: 483.8988019728921]2024-04-04 15:55:31,299 - build_posterior_wrapper took 0.000973 seconds\n",
+ "2024-04-04 15:55:31,300 - TPE using 1/1 trials with best loss 483.898802\n",
+ " 2%|▏ | 2/100 [00:19<15:53, 9.73s/trial, best loss: 476.4340679139005]2024-04-04 15:55:41,242 - build_posterior_wrapper took 0.000969 seconds\n",
+ "2024-04-04 15:55:41,242 - TPE using 2/2 trials with best loss 476.434068\n",
+ " 3%|▎ | 3/100 [00:27<14:18, 8.85s/trial, best loss: 476.4340679139005]2024-04-04 15:55:49,051 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 15:55:49,052 - TPE using 3/3 trials with best loss 476.434068\n",
+ " 4%|▍ | 4/100 [00:46<20:33, 12.84s/trial, best loss: 476.4340679139005]2024-04-04 15:56:08,014 - build_posterior_wrapper took 0.001992 seconds\n",
+ "2024-04-04 15:56:08,014 - TPE using 4/4 trials with best loss 476.434068\n",
+ " 5%|▌ | 5/100 [01:02<22:28, 14.20s/trial, best loss: 476.4340679139005]2024-04-04 15:56:24,610 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-04 15:56:24,611 - TPE using 5/5 trials with best loss 476.434068\n",
+ " 6%|▌ | 6/100 [01:07<17:04, 10.89s/trial, best loss: 471.86584862716643]2024-04-04 15:56:29,094 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-04 15:56:29,095 - TPE using 6/6 trials with best loss 471.865849\n",
+ " 7%|▋ | 7/100 [01:11<13:40, 8.82s/trial, best loss: 471.86584862716643]2024-04-04 15:56:33,657 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-04 15:56:33,657 - TPE using 7/7 trials with best loss 471.865849\n",
+ " 8%|▊ | 8/100 [01:36<21:08, 13.79s/trial, best loss: 471.86584862716643]2024-04-04 15:56:58,063 - build_posterior_wrapper took 0.001026 seconds\n",
+ "2024-04-04 15:56:58,064 - TPE using 8/8 trials with best loss 471.865849\n",
+ " 9%|▉ | 9/100 [01:45<18:38, 12.30s/trial, best loss: 471.86584862716643]2024-04-04 15:57:07,087 - build_posterior_wrapper took 0.001025 seconds\n",
+ "2024-04-04 15:57:07,088 - TPE using 9/9 trials with best loss 471.865849\n",
+ " 10%|█ | 10/100 [02:01<20:31, 13.68s/trial, best loss: 471.86584862716643]2024-04-04 15:57:23,872 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-04 15:57:23,872 - TPE using 10/10 trials with best loss 471.865849\n",
+ " 11%|█ | 11/100 [02:18<21:31, 14.51s/trial, best loss: 471.86584862716643]2024-04-04 15:57:40,275 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-04 15:57:40,275 - TPE using 11/11 trials with best loss 471.865849\n",
+ " 12%|█▏ | 12/100 [02:57<21:39, 14.76s/trial, best loss: 469.5743064763179] \n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-04 15:58:19,051 - build_posterior_wrapper took 0.000999 seconds\n",
+ "2024-04-04 15:58:19,053 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:59<1:38:08, 59.48s/trial, best loss: 453.9869336492354]2024-04-04 15:59:18,534 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-04 15:59:18,536 - TPE using 1/1 trials with best loss 453.986934\n",
+ " 2%|▏ | 2/100 [01:51<1:29:58, 55.09s/trial, best loss: 453.9869336492354]2024-04-04 16:00:10,552 - build_posterior_wrapper took 0.001027 seconds\n",
+ "2024-04-04 16:00:10,553 - TPE using 2/2 trials with best loss 453.986934\n",
+ " 3%|▎ | 3/100 [02:21<1:10:30, 43.61s/trial, best loss: 453.9869336492354]2024-04-04 16:00:40,498 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-04 16:00:40,499 - TPE using 3/3 trials with best loss 453.986934\n",
+ " 4%|▍ | 4/100 [02:51<1:08:33, 42.85s/trial, best loss: 453.9869336492354]\n",
+ "2024-04-04 16:01:10,451 - SequentialTuner - Hyperparameters optimization finished\n",
+ "2024-04-04 16:01:40,515 - SequentialTuner - Return tuned graph due to the fact that obtained metric 460.288 equal or better than initial (+ 0.05% deviation) 472.186\n",
+ "2024-04-04 16:01:40,517 - SequentialTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': True, 'max_features': 0.9172096934223357, 'min_samples_leaf': 6, 'min_samples_split': 6}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 18}\n",
+ "2024-04-04 16:01:40,518 - SequentialTuner - Final metric: 460.288\n",
+ "2024-04-04 16:02:20,658 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-04 16:02:20,659 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-04 16:02:20,666 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-04 16:02:50,685 - SimultaneousTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': True, 'max_features': 0.9172096934223357, 'min_samples_leaf': 6, 'min_samples_split': 6}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 18} \n",
+ "Initial metric: [459.479]\n",
+ " 0%| | 0/1 [00:00, ?trial/s, best loss=?]2024-04-04 16:02:50,693 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:02:50,694 - TPE using 0 trials\n",
+ "100%|██████████| 1/1 [00:30<00:00, 30.01s/trial, best loss: 460.5080507085478]\n",
+ " 0%| | 1/200 [00:00, ?trial/s, best loss=?]2024-04-04 16:03:20,712 - build_posterior_wrapper took 0.002022 seconds\n",
+ "2024-04-04 16:03:20,712 - TPE using 1/1 trials with best loss 460.508051\n",
+ " 1%| | 2/200 [00:07<23:44, 7.19s/trial, best loss: 460.5080507085478]2024-04-04 16:03:27,906 - build_posterior_wrapper took 0.002951 seconds\n",
+ "2024-04-04 16:03:27,907 - TPE using 2/2 trials with best loss 460.508051\n",
+ " 2%|▏ | 3/200 [00:10<16:55, 5.16s/trial, best loss: 460.5080507085478]2024-04-04 16:03:31,634 - build_posterior_wrapper took 0.001997 seconds\n",
+ "2024-04-04 16:03:31,635 - TPE using 3/3 trials with best loss 460.508051\n",
+ " 2%|▏ | 4/200 [00:18<20:19, 6.22s/trial, best loss: 460.5080507085478]2024-04-04 16:03:39,130 - build_posterior_wrapper took 0.001966 seconds\n",
+ "2024-04-04 16:03:39,131 - TPE using 4/4 trials with best loss 460.508051\n",
+ " 2%|▎ | 5/200 [00:26<21:59, 6.76s/trial, best loss: 460.5080507085478]2024-04-04 16:03:46,723 - build_posterior_wrapper took 0.002016 seconds\n",
+ "2024-04-04 16:03:46,723 - TPE using 5/5 trials with best loss 460.508051\n",
+ " 3%|▎ | 6/200 [00:36<25:46, 7.97s/trial, best loss: 460.5080507085478]2024-04-04 16:03:56,837 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-04 16:03:56,838 - TPE using 6/6 trials with best loss 460.508051\n",
+ " 4%|▎ | 7/200 [00:54<37:24, 11.63s/trial, best loss: 460.5080507085478]2024-04-04 16:04:15,572 - build_posterior_wrapper took 0.001989 seconds\n",
+ "2024-04-04 16:04:15,573 - TPE using 7/7 trials with best loss 460.508051\n",
+ " 4%|▍ | 8/200 [01:17<48:23, 15.12s/trial, best loss: 459.57719880026474]2024-04-04 16:04:37,883 - build_posterior_wrapper took 0.000995 seconds\n",
+ "2024-04-04 16:04:37,884 - TPE using 8/8 trials with best loss 459.577199\n",
+ " 4%|▍ | 9/200 [01:23<39:06, 12.28s/trial, best loss: 459.57719880026474]2024-04-04 16:04:44,092 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:04:44,092 - TPE using 9/9 trials with best loss 459.577199\n",
+ " 5%|▌ | 10/200 [01:34<37:42, 11.91s/trial, best loss: 459.57719880026474]2024-04-04 16:04:55,169 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:04:55,170 - TPE using 10/10 trials with best loss 459.577199\n",
+ " 6%|▌ | 11/200 [01:40<32:12, 10.23s/trial, best loss: 458.6285952265539] 2024-04-04 16:05:01,627 - build_posterior_wrapper took 0.001987 seconds\n",
+ "2024-04-04 16:05:01,628 - TPE using 11/11 trials with best loss 458.628595\n",
+ " 6%|▌ | 12/200 [01:47<29:00, 9.26s/trial, best loss: 458.6285952265539]2024-04-04 16:05:08,688 - build_posterior_wrapper took 0.003032 seconds\n",
+ "2024-04-04 16:05:08,689 - TPE using 12/12 trials with best loss 458.628595\n",
+ " 6%|▋ | 13/200 [01:56<27:48, 8.92s/trial, best loss: 458.6285952265539]2024-04-04 16:05:16,851 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:05:16,852 - TPE using 13/13 trials with best loss 458.628595\n",
+ " 7%|▋ | 14/200 [02:03<26:17, 8.48s/trial, best loss: 458.6285952265539]2024-04-04 16:05:24,314 - build_posterior_wrapper took 0.001963 seconds\n",
+ "2024-04-04 16:05:24,315 - TPE using 14/14 trials with best loss 458.628595\n",
+ " 8%|▊ | 15/200 [02:11<25:09, 8.16s/trial, best loss: 458.6285952265539]2024-04-04 16:05:31,721 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-04 16:05:31,723 - TPE using 15/15 trials with best loss 458.628595\n",
+ " 8%|▊ | 16/200 [02:22<28:10, 9.19s/trial, best loss: 455.39234061006766]2024-04-04 16:05:43,303 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-04 16:05:43,304 - TPE using 16/16 trials with best loss 455.392341\n",
+ " 8%|▊ | 17/200 [02:30<26:29, 8.68s/trial, best loss: 455.39234061006766]2024-04-04 16:05:50,811 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:05:50,812 - TPE using 17/17 trials with best loss 455.392341\n",
+ " 9%|▉ | 18/200 [02:33<21:47, 7.19s/trial, best loss: 451.54671452574985]2024-04-04 16:05:54,514 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-04 16:05:54,514 - TPE using 18/18 trials with best loss 451.546715\n",
+ " 10%|▉ | 19/200 [02:41<21:57, 7.28s/trial, best loss: 451.54671452574985]2024-04-04 16:06:02,014 - build_posterior_wrapper took 0.001989 seconds\n",
+ "2024-04-04 16:06:02,015 - TPE using 19/19 trials with best loss 451.546715\n",
+ " 10%|█ | 20/200 [02:55<27:46, 9.26s/trial, best loss: 451.54671452574985]2024-04-04 16:06:15,878 - build_posterior_wrapper took 0.001970 seconds\n",
+ "2024-04-04 16:06:15,882 - TPE using 20/20 trials with best loss 451.546715\n",
+ " 10%|█ | 21/200 [02:58<22:39, 7.60s/trial, best loss: 451.54671452574985]2024-04-04 16:06:19,600 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-04 16:06:19,601 - TPE using 21/21 trials with best loss 451.546715\n",
+ " 11%|█ | 22/200 [03:05<22:04, 7.44s/trial, best loss: 451.54671452574985]2024-04-04 16:06:26,677 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:06:26,678 - TPE using 22/22 trials with best loss 451.546715\n",
+ " 12%|█▏ | 23/200 [03:15<23:26, 7.95s/trial, best loss: 451.54671452574985]2024-04-04 16:06:35,805 - build_posterior_wrapper took 0.001965 seconds\n",
+ "2024-04-04 16:06:35,805 - TPE using 23/23 trials with best loss 451.546715\n",
+ " 12%|█▏ | 24/200 [03:25<25:48, 8.80s/trial, best loss: 451.54671452574985]2024-04-04 16:06:46,587 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-04 16:06:46,588 - TPE using 24/24 trials with best loss 451.546715\n",
+ " 12%|█▎ | 25/200 [03:43<27:08, 9.30s/trial, best loss: 451.54671452574985]\n",
+ "2024-04-04 16:07:04,023 - SimultaneousTuner - Hyperparameters optimization finished\n",
+ "2024-04-04 16:07:07,732 - SimultaneousTuner - Return tuned graph due to the fact that obtained metric 454.822 equal or better than initial (+ 0.05% deviation) 459.249\n",
+ "2024-04-04 16:07:07,733 - SimultaneousTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.5126614007807209, 'min_samples_leaf': 8, 'min_samples_split': 19}\n",
+ "quantile_extractor - {'stride': 3, 'window_size': 0}\n",
+ "2024-04-04 16:07:07,733 - SimultaneousTuner - Final metric: 454.822\n",
+ "2024-04-04 16:07:11,602 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-04 16:07:11,603 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-04 16:07:11,610 - OptunaTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-04 16:07:41,649 - OptunaTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': True, 'max_features': 0.9172096934223357, 'min_samples_leaf': 6, 'min_samples_split': 6}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 18} \n",
+ "Initial metric: [456.981]\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "[I 2024-04-04 16:07:41,649] A new study created in memory with name: no-name-680e6081-ecf6-4c24-ba92-32dfad27d4c6\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": " 0%| | 0/200 [00:00, ?it/s]",
+ "application/vnd.jupyter.widget-view+json": {
+ "version_major": 2,
+ "version_minor": 0,
+ "model_id": "02e1b18c07e44b46a3b23805eed4b1ee"
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[I 2024-04-04 16:11:33,392] Trial 1 finished with value: 469.3836309717183 and parameters: {'0 || treg | max_features': 0.05775924428054445, '0 || treg | min_samples_split': 20, '0 || treg | min_samples_leaf': 20, '0 || treg | bootstrap': True}. Best is trial 1 with value: 469.3836309717183.\n",
+ "[I 2024-04-04 16:11:33,725] Trial 0 finished with value: 461.5546704823826 and parameters: {'0 || treg | max_features': 0.9172096934223357, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 0 with value: 461.5546704823826.\n",
+ "[I 2024-04-04 16:11:34,116] Trial 2 finished with value: 466.0606524541281 and parameters: {'0 || treg | max_features': 0.9000416173564508, '0 || treg | min_samples_split': 17, '0 || treg | min_samples_leaf': 17, '0 || treg | bootstrap': True}. Best is trial 0 with value: 461.5546704823826.\n",
+ "[I 2024-04-04 16:11:34,457] Trial 4 finished with value: 464.40816428292965 and parameters: {'0 || treg | max_features': 0.3612280758730026, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': True}. Best is trial 0 with value: 461.5546704823826.\n",
+ "[I 2024-04-04 16:11:34,764] Trial 7 finished with value: 463.6912794274518 and parameters: {'0 || treg | max_features': 0.4853531355490638, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': True}. Best is trial 0 with value: 461.5546704823826.\n",
+ "[I 2024-04-04 16:11:35,310] Trial 5 finished with value: 460.52541550585244 and parameters: {'0 || treg | max_features': 0.3601485906517558, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 5 with value: 460.52541550585244.\n",
+ "[I 2024-04-04 16:11:35,636] Trial 6 finished with value: 461.86760998739567 and parameters: {'0 || treg | max_features': 0.6025267291270785, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 19, '0 || treg | bootstrap': False}. Best is trial 5 with value: 460.52541550585244.\n",
+ "[I 2024-04-04 16:11:36,002] Trial 3 finished with value: 462.31531753710624 and parameters: {'0 || treg | max_features': 0.2673995907700703, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 15, '0 || treg | bootstrap': False}. Best is trial 5 with value: 460.52541550585244.\n",
+ "[I 2024-04-04 16:15:27,638] Trial 8 finished with value: 457.5109407922157 and parameters: {'0 || treg | max_features': 0.7293589860476253, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:28,628] Trial 9 finished with value: 466.0546099446658 and parameters: {'0 || treg | max_features': 0.07438009853347277, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:28,938] Trial 10 finished with value: 459.54135044075707 and parameters: {'0 || treg | max_features': 0.4799797347454037, '0 || treg | min_samples_split': 17, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': True}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:29,306] Trial 11 finished with value: 463.2851618580542 and parameters: {'0 || treg | max_features': 0.5744302388758553, '0 || treg | min_samples_split': 16, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': True}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:29,667] Trial 13 finished with value: 460.73112551404034 and parameters: {'0 || treg | max_features': 0.5226947138906494, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 14, '0 || treg | bootstrap': False}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:29,869] Trial 14 finished with value: 468.6512518810698 and parameters: {'0 || treg | max_features': 0.3337171963313347, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 20, '0 || treg | bootstrap': True}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:30,464] Trial 12 finished with value: 466.1055251346512 and parameters: {'0 || treg | max_features': 0.6544517002708615, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 8 with value: 457.5109407922157.\n",
+ "[I 2024-04-04 16:15:30,760] Trial 15 finished with value: 458.6218613647529 and parameters: {'0 || treg | max_features': 0.6652449471561312, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 10, '0 || treg | bootstrap': False}. Best is trial 8 with value: 457.5109407922157.\n",
+ "2024-04-04 16:15:30,764 - OptunaTuner - Hyperparameters optimization finished\n",
+ "2024-04-04 16:16:00,704 - OptunaTuner - Return init graph due to the fact that obtained metric 457.896 worse than initial (+ 0.05% deviation) 456.753\n",
+ "2024-04-04 16:16:00,705 - OptunaTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': True, 'max_features': 0.9172096934223357, 'min_samples_leaf': 6, 'min_samples_split': 6}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 18}\n",
+ "2024-04-04 16:16:00,706 - OptunaTuner - Final metric: 456.981\n"
+ ]
+ }
+ ],
+ "source": [
+ "industrial_model = evaluate_loop(api_params=params, finetune=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "At the end of the experiment we can obtain the desired metric values using `calculate_regression_metric` method. Now there are five available metrics for classification task:\n",
+ "- `explained_variance_score`\n",
+ "- `max_error`\n",
+ "- `mean_absolute_error`\n",
+ "- `mean_squared_error`\n",
+ "- `d2_absolute_error_score`.\n",
+ "- `median_absolute_error`\n",
+ "- `r2_score`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T11:01:34.941934Z",
+ "start_time": "2023-08-28T11:01:34.928460Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "labels = industrial_model.predict(test_data)\n",
+ "metrics = industrial_model.get_metrics(target=test_data[1],\n",
+ " rounding_order=3,\n",
+ " metric_names=('r2', 'rmse', 'mae'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": " r2 rmse mae\n0 0.161 470.714 209.547",
+ "text/html": "\n\n
\n \n \n \n r2 \n rmse \n mae \n \n \n \n \n 0 \n 0.161 \n 470.714 \n 209.547 \n \n \n
\n
"
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "metrics"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## AutoML approach"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:47:57,482 - Initialising experiment setup\n",
+ "2024-04-04 16:47:57,499 - Initialising Industrial Repository\n",
+ "2024-04-04 16:47:57,500 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-04 16:47:57,520 - State start\n",
+ "2024-04-04 16:47:58,505 - Scheduler at: inproc://10.64.4.217/16700/9\n",
+ "2024-04-04 16:47:58,506 - dashboard at: http://10.64.4.217:58090/status\n",
+ "2024-04-04 16:47:58,507 - Registering Worker plugin shuffle\n",
+ "2024-04-04 16:47:59,504 - Start worker at: inproc://10.64.4.217/16700/12\n",
+ "2024-04-04 16:47:59,505 - Listening to: inproc10.64.4.217\n",
+ "2024-04-04 16:47:59,506 - Worker name: 0\n",
+ "2024-04-04 16:47:59,506 - dashboard at: 10.64.4.217:58093\n",
+ "2024-04-04 16:47:59,507 - Waiting to connect to: inproc://10.64.4.217/16700/9\n",
+ "2024-04-04 16:47:59,507 - -------------------------------------------------\n",
+ "2024-04-04 16:47:59,508 - Threads: 8\n",
+ "2024-04-04 16:47:59,508 - Memory: 31.95 GiB\n",
+ "2024-04-04 16:47:59,509 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-d9wa1bqe\n",
+ "2024-04-04 16:47:59,509 - -------------------------------------------------\n",
+ "2024-04-04 16:47:59,513 - Register worker \n",
+ "2024-04-04 16:47:59,515 - Starting worker compute stream, inproc://10.64.4.217/16700/12\n",
+ "2024-04-04 16:47:59,517 - Starting established connection to inproc://10.64.4.217/16700/13\n",
+ "2024-04-04 16:47:59,518 - Starting Worker plugin shuffle\n",
+ "2024-04-04 16:47:59,518 - Registered to: inproc://10.64.4.217/16700/9\n",
+ "2024-04-04 16:47:59,518 - -------------------------------------------------\n",
+ "2024-04-04 16:47:59,519 - Starting established connection to inproc://10.64.4.217/16700/9\n",
+ "2024-04-04 16:47:59,522 - Receive client connection: Client-f2ee50fe-f289-11ee-813c-b42e99a00ea1\n",
+ "2024-04-04 16:47:59,524 - Starting established connection to inproc://10.64.4.217/16700/14\n",
+ "2024-04-04 16:47:59,525 - LinK Dask Server - http://10.64.4.217:58090/status\n",
+ "2024-04-04 16:47:59,526 - Initialising solver\n",
+ "2024-04-04 16:47:59,574 - AssumptionsHandler - Initial pipeline fitting started\n",
+ "2024-04-04 16:48:03,787 - AssumptionsHandler - Initial pipeline was fitted successfully\n",
+ "2024-04-04 16:48:03,789 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 10.4 MiB, max: 12.7 MiB\n",
+ "2024-04-04 16:48:03,790 - ApiComposer - Initial pipeline was fitted in 4.2 sec.\n",
+ "2024-04-04 16:48:03,791 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
+ "2024-04-04 16:48:03,798 - ApiComposer - AutoML configured. Parameters tuning: True. Time limit: 15 min. Set of candidate models: ['xgbreg', 'sgdr', 'treg', 'ridge', 'lasso', 'dtreg', 'channel_filtration', 'eigen_basis', 'wavelet_basis', 'fourier_basis', 'quantile_extractor', 'minirocket_extractor', 'scaling', 'normalization', 'simple_imputation', 'kernel_pca'].\n",
+ "2024-04-04 16:48:03,821 - ApiComposer - Pipeline composition started.\n",
+ "2024-04-04 16:48:03,824 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-04 16:48:03,825 - DataSourceSplitter - Hold out validation is applied.\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Generations: 0%| | 0/10000 [00:00, ?gen/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:48:03,849 - IndustrialDispatcher - Number of used CPU's: 2\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Exception ignored in: .on_destroy at 0x0000025403806940>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559918432144\n",
+ "Exception ignored in: .on_destroy at 0x000002541105EF70>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560086593040\n",
+ "Exception ignored in: .on_destroy at 0x0000025406B56F70>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560083699632\n",
+ "Exception ignored in: .on_destroy at 0x00000254069EC8B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558710190896\n",
+ "Exception ignored in: .on_destroy at 0x00000253BF6F30D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558677891088\n",
+ "Exception ignored in: .on_destroy at 0x00000253BF6BFEE0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558716053808\n",
+ "Exception ignored in: .on_destroy at 0x00000254053D20D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559948696240\n",
+ "Exception ignored in: .on_destroy at 0x000002540F9B0C10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560060855280\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:49:09,644 - IndustrialDispatcher - 1 individuals out of 1 in previous population were evaluated successfully.\n",
+ "2024-04-04 16:49:09,687 - IndustrialEvoOptimizer - Generation num: 1 size: 1\n",
+ "2024-04-04 16:49:09,688 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-04 16:49:10,868 - IndustrialDispatcher - Number of used CPU's: 2\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Exception ignored in: .on_destroy at 0x0000025410E1FC10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558680841360\n",
+ "Exception ignored in: .on_destroy at 0x0000025403563A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560003265232\n",
+ "Exception ignored in: .on_destroy at 0x00000254059338B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559884599344\n",
+ "Exception ignored in: .on_destroy at 0x000002540F0135E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559865368464\n",
+ "Exception ignored in: .on_destroy at 0x00000253BF18C8B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558677120080\n",
+ "Exception ignored in: .on_destroy at 0x0000025403BE4D30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559886040016\n",
+ "Exception ignored in: .on_destroy at 0x0000025405603790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559950005712\n",
+ "Exception ignored in: .on_destroy at 0x000002540EF49AF0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560087410608\n",
+ "Exception ignored in: .on_destroy at 0x000002540BFBB3A0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560024125776\n",
+ "Exception ignored in: .on_destroy at 0x000002540DD3C550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560053489360\n",
+ "Exception ignored in: .on_destroy at 0x000002540514B430>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560088643120\n",
+ "Exception ignored in: .on_destroy at 0x000002540C1A2550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558676602192\n",
+ "Exception ignored in: .on_destroy at 0x0000025411084A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558710227568\n",
+ "Exception ignored in: .on_destroy at 0x000002540DD2B700>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558717618192\n",
+ "Exception ignored in: .on_destroy at 0x000002540DB06670>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560060019504\n",
+ "Exception ignored in: .on_destroy at 0x0000025408AF9790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559912196880\n",
+ "Exception ignored in: .on_destroy at 0x0000025403E835E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558855051184\n",
+ "Exception ignored in: .on_destroy at 0x0000025403E80160>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559865388944\n",
+ "Exception ignored in: .on_destroy at 0x0000025405415940>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559888905776\n",
+ "Exception ignored in: .on_destroy at 0x0000025406C4F160>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559890412912\n",
+ "Exception ignored in: .on_destroy at 0x000002540C1A23A0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560029663664\n",
+ "Exception ignored in: .on_destroy at 0x000002540F8FDB80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560059937584\n",
+ "Exception ignored in: .on_destroy at 0x000002540F351B80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560057356816\n",
+ "Exception ignored in: .on_destroy at 0x000002540F7661F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560057359504\n",
+ "Exception ignored in: .on_destroy at 0x0000025412860820>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559967673008\n",
+ "Exception ignored in: .on_destroy at 0x0000025410A2D1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559973269200\n",
+ "Exception ignored in: .on_destroy at 0x00000254035CC4C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558862539248\n",
+ "Exception ignored in: .on_destroy at 0x00000253C8191DC0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558675465104\n",
+ "Exception ignored in: .on_destroy at 0x00000254037EEF70>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560112649392\n",
+ "Exception ignored in: .on_destroy at 0x0000025412A81310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559995014960\n",
+ "Exception ignored in: .on_destroy at 0x00000253C8191040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559971797296\n",
+ "Exception ignored in: .on_destroy at 0x000002540A9265E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559977735152\n",
+ "Exception ignored in: .on_destroy at 0x000002540F63A0D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560084983856\n",
+ "Exception ignored in: .on_destroy at 0x000002540F63ACA0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560081500272\n",
+ "Exception ignored in: .on_destroy at 0x000002540D68E040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560113765424\n",
+ "Exception ignored in: .on_destroy at 0x000002540D9E6D30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559893222288\n",
+ "Exception ignored in: .on_destroy at 0x0000025412BBAC10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559921069584\n",
+ "Exception ignored in: .on_destroy at 0x00000254020D5CA0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559997600272\n",
+ "Exception ignored in: .on_destroy at 0x00000254035915E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560057858832\n",
+ "Exception ignored in: .on_destroy at 0x0000025403CE6700>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559864220432\n",
+ "Exception ignored in: .on_destroy at 0x0000025407431A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559978083696\n",
+ "Exception ignored in: .on_destroy at 0x0000025406C75C10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560025230960\n",
+ "Exception ignored in: .on_destroy at 0x0000025408E3B280>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559920855728\n",
+ "Exception ignored in: .on_destroy at 0x00000254020C41F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560107685808\n",
+ "Exception ignored in: .on_destroy at 0x000002540F766280>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560088474896\n",
+ "Exception ignored in: .on_destroy at 0x000002540A703CA0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560082772784\n",
+ "Exception ignored in: .on_destroy at 0x00000254069674C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560028486608\n",
+ "Exception ignored in: .on_destroy at 0x0000025412C97280>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560081714800\n",
+ "Exception ignored in: .on_destroy at 0x000002540F7E3EE0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560002761040\n",
+ "Exception ignored in: .on_destroy at 0x0000025404F9D820>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560114858096\n",
+ "Exception ignored in: .on_destroy at 0x00000254035AA9D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559975253072\n",
+ "Exception ignored in: .on_destroy at 0x000002540F63A5E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559890105424\n",
+ "Exception ignored in: .on_destroy at 0x0000025406E499D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560000824496\n",
+ "Exception ignored in: .on_destroy at 0x000002540BC70B80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558671182224\n",
+ "Exception ignored in: .on_destroy at 0x000002540A248AF0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2560060202512\n",
+ "Exception ignored in: .on_destroy at 0x0000025413FA1310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558707013264\n",
+ "Exception ignored in: .on_destroy at 0x00000253BED76AF0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558708189584\n",
+ "Exception ignored in: .on_destroy at 0x00000253BED3B1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559856029584\n",
+ "Exception ignored in: .on_destroy at 0x0000025408A38040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559996212304\n",
+ "Exception ignored in: .on_destroy at 0x00000253C167A700>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558748392304\n",
+ "Exception ignored in: .on_destroy at 0x00000253C177A1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558750588432\n",
+ "Exception ignored in: .on_destroy at 0x00000253C1894D30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2559883848176\n",
+ "Exception ignored in: .on_destroy at 0x00000253C16C0B80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558753050128\n",
+ "Exception ignored in: .on_destroy at 0x00000253C1E3B040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558758653264\n",
+ "Exception ignored in: .on_destroy at 0x00000253C1B43670>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558759208016\n",
+ "Exception ignored in: .on_destroy at 0x00000253C1CAD790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558759024560\n",
+ "Exception ignored in: .on_destroy at 0x00000253C1E1AA60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558703058736\n",
+ "Exception ignored in: .on_destroy at 0x00000253C227C8B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558671062096\n",
+ "Exception ignored in: .on_destroy at 0x00000253C2723C10>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558755872368\n",
+ "Exception ignored in: .on_destroy at 0x00000253C2F04430>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2558779961584\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:57:42,094 - IndustrialDispatcher - 7 individuals out of 21 in previous population were evaluated successfully. 0.3333333333333333% is a fairly small percentage of successful evaluation.\n",
+ "2024-04-04 16:57:42,128 - IndustrialEvoOptimizer - Generation num: 2 size: 7\n",
+ "2024-04-04 16:57:42,130 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-04 16:57:42,131 - GroupedCondition - Optimisation stopped: Time limit is reached\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Generations: 0%| | 0/10000 [09:38, ?gen/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:57:42,134 - OptimisationTimer - Composition time: 9.638 min\n",
+ "2024-04-04 16:57:42,136 - OptimisationTimer - Algorithm was terminated due to processing time limit\n",
+ "2024-04-04 16:57:42,141 - IndustrialEvoOptimizer - Generation num: 3 size: 1\n",
+ "2024-04-04 16:57:42,143 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-04 16:57:42,146 - IndustrialEvoOptimizer - no improvements for 1 iterations\n",
+ "2024-04-04 16:57:42,148 - IndustrialEvoOptimizer - spent time: 9.6 min\n",
+ "2024-04-04 16:57:42,153 - GPComposer - GP composition finished\n",
+ "2024-04-04 16:57:42,157 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-04 16:57:42,159 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-04 16:57:42,169 - ApiComposer - Hyperparameters tuning started with 5 min. timeout\n",
+ "2024-04-04 16:57:42,172 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 16:57:53,096 - SimultaneousTuner - Initial graph: {'depth': 3, 'length': 3, 'nodes': [treg, scaling, quantile_extractor]}\n",
+ "treg - {}\n",
+ "scaling - {}\n",
+ "quantile_extractor - {} \n",
+ "Initial metric: [477.156]\n",
+ " 0%| | 0/100000 [00:00, ?trial/s, best loss=?]2024-04-04 16:57:53,129 - build_posterior_wrapper took 0.011000 seconds\n",
+ "2024-04-04 16:57:53,132 - TPE using 0 trials\n",
+ " 0%| | 1/100000 [00:34<971:26:33, 34.97s/trial, best loss: 469.79105908050605]2024-04-04 16:58:28,103 - build_posterior_wrapper took 0.010981 seconds\n",
+ "2024-04-04 16:58:28,107 - TPE using 1/1 trials with best loss 469.791059\n",
+ " 0%| | 2/100000 [01:10<983:54:07, 35.42s/trial, best loss: 465.9121764395481] 2024-04-04 16:59:03,839 - build_posterior_wrapper took 0.011975 seconds\n",
+ "2024-04-04 16:59:03,841 - TPE using 2/2 trials with best loss 465.912176\n",
+ " 0%| | 3/100000 [01:27<741:57:41, 26.71s/trial, best loss: 460.8173609336631]2024-04-04 16:59:20,185 - build_posterior_wrapper took 0.011009 seconds\n",
+ "2024-04-04 16:59:20,187 - TPE using 3/3 trials with best loss 460.817361\n",
+ " 0%| | 4/100000 [01:55<758:04:46, 27.29s/trial, best loss: 460.8173609336631]2024-04-04 16:59:48,367 - build_posterior_wrapper took 0.010953 seconds\n",
+ "2024-04-04 16:59:48,376 - TPE using 4/4 trials with best loss 460.817361\n",
+ " 0%| | 5/100000 [02:13<663:10:53, 23.88s/trial, best loss: 460.8173609336631]2024-04-04 17:00:06,186 - build_posterior_wrapper took 0.012003 seconds\n",
+ "2024-04-04 17:00:06,189 - TPE using 5/5 trials with best loss 460.817361\n",
+ " 0%| | 6/100000 [02:37<669:22:14, 24.10s/trial, best loss: 457.5536756288213]2024-04-04 17:00:30,719 - build_posterior_wrapper took 0.011006 seconds\n",
+ "2024-04-04 17:00:30,721 - TPE using 6/6 trials with best loss 457.553676\n",
+ " 0%| | 7/100000 [02:54<605:24:31, 21.80s/trial, best loss: 457.5536756288213]2024-04-04 17:00:47,772 - build_posterior_wrapper took 0.009981 seconds\n",
+ "2024-04-04 17:00:47,774 - TPE using 7/7 trials with best loss 457.553676\n",
+ " 0%| | 8/100000 [03:04<502:38:38, 18.10s/trial, best loss: 457.5536756288213]2024-04-04 17:00:57,946 - build_posterior_wrapper took 0.009945 seconds\n",
+ "2024-04-04 17:00:57,949 - TPE using 8/8 trials with best loss 457.553676\n",
+ " 0%| | 9/100000 [03:19<475:41:49, 17.13s/trial, best loss: 457.5536756288213]2024-04-04 17:01:12,942 - build_posterior_wrapper took 0.010004 seconds\n",
+ "2024-04-04 17:01:12,943 - TPE using 9/9 trials with best loss 457.553676\n",
+ " 0%| | 10/100000 [03:30<420:49:43, 15.15s/trial, best loss: 457.5536756288213]2024-04-04 17:01:23,672 - build_posterior_wrapper took 0.011992 seconds\n",
+ "2024-04-04 17:01:23,673 - TPE using 10/10 trials with best loss 457.553676\n",
+ " 0%| | 11/100000 [03:38<356:55:55, 12.85s/trial, best loss: 457.5536756288213]2024-04-04 17:01:31,305 - build_posterior_wrapper took 0.010970 seconds\n",
+ "2024-04-04 17:01:31,308 - TPE using 11/11 trials with best loss 457.553676\n",
+ " 0%| | 12/100000 [03:47<327:01:57, 11.77s/trial, best loss: 457.5536756288213]2024-04-04 17:01:40,619 - build_posterior_wrapper took 0.013005 seconds\n",
+ "2024-04-04 17:01:40,621 - TPE using 12/12 trials with best loss 457.553676\n",
+ " 0%| | 13/100000 [03:54<287:44:56, 10.36s/trial, best loss: 457.5536756288213]2024-04-04 17:01:47,724 - build_posterior_wrapper took 0.011976 seconds\n",
+ "2024-04-04 17:01:47,726 - TPE using 13/13 trials with best loss 457.553676\n",
+ " 0%| | 14/100000 [04:03<276:05:48, 9.94s/trial, best loss: 457.5536756288213]2024-04-04 17:01:56,695 - build_posterior_wrapper took 0.010940 seconds\n",
+ "2024-04-04 17:01:56,697 - TPE using 14/14 trials with best loss 457.553676\n",
+ " 0%| | 15/100000 [04:11<262:30:55, 9.45s/trial, best loss: 457.5536756288213]2024-04-04 17:02:05,017 - build_posterior_wrapper took 0.012970 seconds\n",
+ "2024-04-04 17:02:05,026 - TPE using 15/15 trials with best loss 457.553676\n",
+ " 0%| | 16/100000 [04:26<302:03:52, 10.88s/trial, best loss: 457.5536756288213]2024-04-04 17:02:19,197 - build_posterior_wrapper took 0.010980 seconds\n",
+ "2024-04-04 17:02:19,200 - TPE using 16/16 trials with best loss 457.553676\n",
+ " 0%| | 17/100000 [04:35<289:52:27, 10.44s/trial, best loss: 457.5536756288213]2024-04-04 17:02:28,615 - build_posterior_wrapper took 0.011972 seconds\n",
+ "2024-04-04 17:02:28,617 - TPE using 17/17 trials with best loss 457.553676\n",
+ " 0%| | 18/100000 [04:43<267:16:50, 9.62s/trial, best loss: 457.5536756288213]2024-04-04 17:02:36,345 - build_posterior_wrapper took 0.010971 seconds\n",
+ "2024-04-04 17:02:36,349 - TPE using 18/18 trials with best loss 457.553676\n",
+ " 0%| | 19/100000 [04:51<254:24:21, 9.16s/trial, best loss: 457.5536756288213]2024-04-04 17:02:44,426 - build_posterior_wrapper took 0.012001 seconds\n",
+ "2024-04-04 17:02:44,428 - TPE using 19/19 trials with best loss 457.553676\n",
+ " 0%| | 20/100000 [05:02<419:52:23, 15.12s/trial, best loss: 457.5536756288213]\n",
+ "2024-04-04 17:02:55,492 - SimultaneousTuner - Hyperparameters optimization finished\n",
+ "2024-04-04 17:03:19,326 - SimultaneousTuner - Return tuned graph due to the fact that obtained metric 457.528 equal or better than initial (+ 0.05% deviation) 476.918\n",
+ "2024-04-04 17:03:19,328 - SimultaneousTuner - Final graph: {'depth': 3, 'length': 3, 'nodes': [treg, scaling, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.5635589987364086, 'min_samples_leaf': 8, 'min_samples_split': 3}\n",
+ "scaling - {}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 42}\n",
+ "2024-04-04 17:03:19,331 - SimultaneousTuner - Final metric: 457.528\n",
+ "2024-04-04 17:03:19,336 - ApiComposer - Hyperparameters tuning finished\n",
+ "2024-04-04 17:03:19,700 - ApiComposer - Model generation finished\n",
+ "2024-04-04 17:03:49,152 - FEDOT logger - Final pipeline was fitted\n",
+ "2024-04-04 17:03:49,153 - FEDOT logger - Final pipeline: {'depth': 3, 'length': 3, 'nodes': [treg, scaling, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.5635589987364086, 'min_samples_leaf': 8, 'min_samples_split': 3}\n",
+ "scaling - {}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 42}\n",
+ "2024-04-04 17:03:49,154 - MemoryAnalytics - Memory consumption for finish in main session: current 222.8 MiB, max: 319.3 MiB\n"
+ ]
+ }
+ ],
+ "source": [
+ "industrial_auto_model = evaluate_loop(api_params=params, finetune=False)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "outputs": [],
+ "source": [
+ "auto_labels = industrial_auto_model.predict(test_data)\n",
+ "auto_metrics = industrial_auto_model.get_metrics(target=test_data[1],\n",
+ " rounding_order=3,\n",
+ " metric_names=('r2', 'rmse', 'mae'))"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": " r2 rmse mae\n0 0.087 491.02 212.539",
+ "text/html": "\n\n
\n \n \n \n r2 \n rmse \n mae \n \n \n \n \n 0 \n 0.087 \n 491.02 \n 212.539 \n \n \n
\n
"
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "auto_metrics"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAKyCAYAAAApeT2AAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABcIElEQVR4nO3deXxU9b3/8feZyb4vBBKWJOyLLCKCUJClgCxarTvWKm3VuvV6vbW1vY+rv6qt3i7X21Z7sW7XtbZe17oWLYoCgiIqm8ieBAgJgexMtpk5vz9CImdmAgGSzHyT1/Px4MFjzpmZfDOTmfM+3/P9fr6Wbdu2AAAAAMO4wt0AAAAA4GQQZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAj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YCcnJ9sDBw60L774YvuNN94Iuv+bb75pX3DBBXZ2drYdExNjZ2dn22effbZ9//33201NTa33KygosO+77z575syZdv/+/e2YmBg7PT3dnjlzpv2Xv/wlZFvef/99W5I9Y8aME97e0NBg33PPPfbQoUNb23XttdfaZWVlIX+Wz+ez//SnP9ljxoyxY2Nj7d69e9tXXnmlvXv3bvsXv/iFLcn+xS9+cUKvZSjLD+xwvGf/ueWfp/yc3UlZWZltWZbtdrvtyZMn23fddZe9cuVKu7Gx8aSe76ODux2v912b/9HBLT4xTzzxhK3mbBbyn23bjr+3HTt22FdeeaWdnZ1tu1wu+/e//33rc1VXV9u//OUv7dNPP91OSkqy4+Pj7XHjxtm/+93v7IaGhpA/v7Ky0r7tttvs3NxcOzY21s7Pz7d//vOf24cPH7ZnzJhhS7Lff//9Lngl2ubz++0b1r3geN8KDpeHtU3dGVULOkmdr8mxVryL8URGsCzLMcurkaEFDrW1tXK73aqoqNCLL76o559/XlJzfeMFCxZozpw5mjVrVsi6w6F0dI/shg0bNHXqVNXW1mrEiBGaP3++LMvS3r179cYbbygqKkrnnnuupOaqItdff70effRRWZalSZMmadasWSorK9PmzZt122236Qc/+IHS0tIkSc8884zuvPNODR48WCNGjNDUqVO1d+9erVixQsuXL9eaNWv0wAMPnFL7WzQ1NWn+/Plat26dZsyYoZEjR2rlypV67LHHtHbtWn3yySet1UpaXHPNNXryyScVExOjmTNnKj09XStWrNCZZ56p8847r0PaJUmpgT2yXnpkj1ZXVyfbtuXz+bRmzRqtXbtWd911l+Lj4zVr1izNmzdPc+bM0ciRI9t1TAjskQ13PdIhQ4Zo8eLFrUuOL168uM37btu2TWeeeaaSk5M1ffp0HT58WAkJCZKaq+nMnTtX27dvV3Z2ts4++2y5XC59/PHH+ulPf6o333xTS5cudfydV1dXa/r06dqwYYMyMjJ07rnnyufzacmSJVq+fHlYS0IezWVZSomOU+VR32+VjXVM0uskBNlOUudzVg+wKEhqhMA6vw1M9gricrnk8/laa/lKzWXhHn30UT300EOyLEvjx4/X/PnzNWfOHH3jG99QbGxweSa/bavaG3iQjgu634n4/e9/r9raWt13331BExarqqq0devW1tv//d//rUcffVT9+vXTq6++qjPPPPPrtvn9eueddxQf/3VomDdvni688EKddtppjufdvn27Zs+erQcffFBXXnmlzjrrrFP6HSTpo48+0qRJk7Rr1y5lZmZKkkpKSjRlyhStX79ezz//vGOVv5dffllPPvmkMjMztXz58tZyek1NTfrBD37QGjo6QuDJRlVTc3DjRD20ls9JXV2d/vGPf+jtt9+WbdvKysrS/PnzNXfuXM2ePVt9+4YuzxQYZAOHdnS1adOmadq0aa1/U8cqf/jXv/5V1157rZYsWeJYCt22bV166aXavn27brvtNt17772t3xGVlZVatGiRli5dql/96letk3ol6Y477tCGDRs0efJkvf32260nmQcOHNCcOXO0cePGjv+FT1JaQJDlhK/zEGQ7SWNAAHLxHW+EwINxfVNDu1YG6yk8nrYn9rSUVbNtW5999pk2bNig++67T7GxsTr77LNbe6LGjh0rl8ulRr9XvoAaZ8mnWI/0wIHm5SAXLFgQtC81NVWTJk2S1Bzw/vM//1OS9PTTTztCrNQc1ufPn+/YNnHixJA/c+jQobrzzjv1wx/+UC+++GKHBFnLsvT444+3hlhJys7O1k033aTbb79d7733niPItlQe+dnPfuaoCR0dHa0//vGPeuWVV3T4sHPm+8kKrBnrs23tO1CiWBeHE0k6dOhQm/uOHlteVlamv/71r63zEYYOHaoFCxZo7ty5mjFjhpKTm8vQeXyNjucwqWZvZmamfv/73ztCrCS9+eabWrt2raZPn67f/e53ju/dtLQ0PfHEE8rPz9eSJUt09913y7IseTye1jkVDzzwQGuIlaTevXvrv/7rvzRv3rwu+b3aI/B98ngb27gnThXfPJ3EDiqm3zFJNj8/v8Pru6Jt23fs0LizZoW7GRElKqp9XxstwbahoUHLli3Te++9J7/fr/T0dJ1zzjmaNX+uNNY5u/dUVys688wz9dZbb+nGG2/UL3/5S02fPj3oErzUXGLu0KFDys/P1ze/+c12P399fb2WLl2qtWvXqqysrHUZ5v3790tqvpTaEXJzc4MWKZG+LplXXFzcus3r9Wr16tWSpMsvvzzoMRkZGTrnnHP0yiuvdEjbokKURxs8dKgaazomKPckR9fU3r59u3bv3q0HHnhAbrdbZ555pubPn6/YhWc6jtSh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v/3tb0pISNBPfvIT5efn65JLLtHFF1+s008/XUOHDtV7773Xev+8vDyNHz9epaWlGjt2rK666ipde+21rQs8SNJDDz2k0aNHa9myZRo0aJAuueQSXXTRRRo8eLDWrl2ryZMnO+7fHn7ZjuEfkhRlUXarq7gsS2NTcxzbCLKRJ/A9GZPaN2iBF3SecanOIFvWcFglAT3kCK8vq0sdk4bdlqVRKX3C2KKegSDbySzLChpe4D2q969lvek//OEPGj16tDZs2KAXXnhBn376qTIyMnTHHXfokUceUUlJia6++mrZtq3//d//DRoDOmvWLP3Hf/yHKioq9J3vfMfRo/noo4/qmmuukc/n0//93//p8ccf19/+9rcT+j1eeukl/frXv9bQoUP1wQcfaNmyZTrttNO0cuVKLViwoM3HnXfeedqwYYNuvPFGxcTE6I033tCyZcvk9Xr1r//6rzrvvPMc93/55Zd12WWXqby8XH/961/1+OOP680332zd36tXL61evVp33323cnJy9NZbb2np0qUaNGiQfvvb3+r9998PuarXsQT2xrosS24O0F1qbMBBenvtQR32NoapNQh02NuoHbUHHdsCgxU614D4NKUFjLVkeEFkWV/lrJYzPKm34t3RYWpNz2HZXJvodA0+r+p8Ta23LUtKiYpjDGYEsG1bNd4GR49sjMuthKiYMLaq52nweXXbhr87xiov6j9es3oPCWOr0OK9A9v1/N4vWm9HWy7997gLFONivnBXeq7oM31w8Ov5Admxybpr1DyOJRGgztekn218XQ1HdYwsGjBes7L4Duts9Mh2gcA1sW1bagzoBUR4eG1/0LCCGFbz6nKx7iiNCejh++DgDsYARgDbtvVBmXNy5ZjUvoTYMJiQ3t9xu6ShRttqy8LUGhxtzaFCR4h1ydLpjI/tEgTZLuCyrKAw2+j3cpCOAIEnFG7LktviYxEOM7Kcq7Xtr+cgHQm21pappME5FnNmVvDKeuh8w5KylB2b7Ni2vCx0+UN0Hdu29cFB5/swLq2v0mMou9UVOGJ3kcBePp9ts6Z8mPltf9D42BhXFJfpwmR4Upb6BB2kg8usoWt9EBCUsmOTNSwpK0yt6dksywo64fuislgVjXVtPAJdYVttWVBpuhm9ONnrKgTZLhJluYJm+DYwvCCsAntjLYthBeFkWVZQT98XlftU0egJ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AICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGAkgiwAAACMRJAFAACAkQiyAAAAMBJBFgAAAEYiyAIAAMBIBFkAAAAYiSALAAAAIxFkAQAAYCSCLAAAAIxEkAUAAICRCLIAAAAwEkEWAAAARiLIAgAAwEgEWQAAABiJIAsAAAAjEWQBAABgJIIsAAAAjESQBQAAgJEIsgAAADASQRYAAABGIsgCAADASARZAAAAGIkgCwAAACMRZAEAAGCk/w/e4VqQ323P8QAAAABJRU5ErkJggg=="
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-04 17:08:10,349 - OperationsAnimatedBar - Visualizing optimization history... It may take some time, depending on the history size.\n",
+ "2024-04-04 17:08:10,450 - MovieWriter ffmpeg unavailable; using Pillow instead.\n",
+ "2024-04-04 17:08:10,451 - Animation.save using \n",
+ "2024-04-04 17:08:15,804 - OperationsAnimatedBar - The animation was saved to \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\results_of_experiments\\history_animated_bars.gif\".\n",
+ "2024-04-04 17:08:15,806 - FitnessBox - Visualizing optimization history... It may take some time, depending on the history size.\n",
+ "2024-04-04 17:08:15,833 - 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",
+ "2024-04-04 17:08:15,839 - 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",
+ "2024-04-04 17:08:15,921 - default - The figure was saved to \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\results_of_experiments\\fitness_by_gen.png\".\n"
+ ]
+ }
+ ],
+ "source": [
+ "industrial_auto_model.solver.current_pipeline.show()\n",
+ "industrial_auto_model.plot_operation_distribution(mode='each')\n",
+ "industrial_auto_model.plot_fitness_by_generation()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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9BCPPvooTzzxBBs2bMDhcDB//ny6urq0cy677DK2bt3Km2++yauvvsrbb7/Ntddee6Ju4WvHkWQOsGDBgqR+/+yzzyYd12V+dKxdu5YVK1awfv163nzzTUKhEPPmzSMQCGjnHGk8iUQiLFq0iGAwyHvvvcevf/1rnn76ae65556TcUuDnoHIHGD58uVJff2hhx7Sjh03mQudATN58mSxYsUK7e9IJCKys7PF/ffffxJbNXS49957RUVFRZ/HmpubhclkEi+88IL22WeffSYAsW7duhPUwqEFIF566SXt72g0Kvx+v3j44Ye1z5qbm4XFYhHPPvusEEKITz/9VADi/fff1855/fXXhSRJ4sCBAyes7V9XespcCCGWLVsmzjnnnH6/o8v8y1NbWysAsXbtWiHEwMaTv/zlL0KWZVFTU6Od8/jjjwu32y26u7tP7A18DekpcyGEOP3008VNN93U73eOl8x1i80ACQaDbNq0iTlz5mifybLMnDlzWLdu3Uls2dBi+/btZGdnU1xczGWXXUZVVRUAmzZtIhQKJcl/5MiR5Ofn6/I/TuzevZuampokGXs8HqZMmaLJeN26dXi9XiZOnKidM2fOHGRZZsOGDSe8zUOFNWvWkJGRwYgRI7j++utpaGjQjuky//K0tLQA4PP5gIGNJ+vWrWPMmDFkZmZq58yfP5/W1la2bt16Alv/9aSnzGP8/ve/Jy0tjfLycu688046Ojq0Y8dL5kN2E8zjTX19PZFIJEngAJmZmXz++ecnqVVDiylTpvD0008zYsQIqqur+d73vsdpp53Gli1bqKmpwWw24/V6k76TmZlJTU3NyWnwECMmx776eOxYTU0NGRkZSceNRiM+n09/DsfIggULOO+88ygqKmLnzp3cddddLFy4kHXr1mEwGHSZf0mi0Sg333wzp5xyCuXl5QADGk9qamr6fBdix3T6py+ZA1x66aUUFBSQnZ3N5s2bueOOO9i2bRv/93//Bxw/meuKjc6gYeHChdr/x44dy5QpUygoKOD555/HZrOdxJbp6Hx1XHzxxdr/x4wZw9ixYykpKWHNmjXMnj37JLZsaLBixQq2bNmSFK+n89XSn8wT48LGjBlDVlYWs2fPZufOnZSUlBy339ddUQMkLS0Ng8HQK2r+ixoLXwAAA/RJREFU0KFD+P3+k9SqoY3X62X48OHs2LEDv99PMBikubk56Rxd/sePmBwP18f9fn+vYPlwOExjY6P+HI4TxcXFpKWlsWPHDkCX+ZfhW9/6Fq+++iqrV68mNzdX+3wg44nf7+/zXYgd0+mb/mTeF1OmTAFI6uvHQ+a6YjNAzGYzlZWVrFq1SvssGo2yatUqpk2bdhJbNnRpb29n586dZGVlUVlZiclkSpL/tm3bqKqq0uV/nCgqKsLv9yfJuLW1lQ0bNmgynjZtGs3NzWzatEk756233iIajWqDlM6XY//+/TQ0NJCVlQXoMj8WhBB861vf4qWXXuKtt96iqKgo6fhAxpNp06bxySefJCmVb775Jm63m1GjRp2YG/kacSSZ98XHH38MkNTXj4vMjyHY+V+WP/zhD8JisYinn35afPrpp+Laa68VXq83KYJb59i59dZbxZo1a8Tu3bvFP/7xDzFnzhyRlpYmamtrhRBCXHfddSI/P1+89dZb4oMPPhDTpk0T06ZNO8mt/nrR1tYmPvroI/HRRx8JQDzyyCPio48+Env37hVCCPHAAw8Ir9crXnnlFbF582ZxzjnniKKiItHZ2aldY8GCBWL8+PFiw4YN4t133xWlpaXikksuOVm3NOg5nMzb2trEbbfdJtatWyd2794t/v73v4sJEyaI0tJS0dXVpV1Dl/nRcf311wuPxyPWrFkjqqurtX8dHR3aOUcaT8LhsCgvLxfz5s0TH3/8sXjjjTdEenq6uPPOO0/GLQ16jiTzHTt2iO9///vigw8+ELt37xavvPKKKC4uFjNmzNCucbxkris2R8nPf/5zkZ+fL8xms5g8ebJYv379yW7SkGHp0qUiKytLmM1mkZOTI5YuXSp27NihHe/s7BQ33HCDSElJEXa7XZx77rmiurr6JLb468fq1asF0OvfsmXLhBBKyvfdd98tMjMzhcViEbNnzxbbtm1LukZDQ4O45JJLhNPpFG63W1x11VWira3tJNzN14PDybyjo0PMmzdPpKenC5PJJAoKCsTy5ct7LZZ0mR8dfckbEE899ZR2zkDGkz179oiFCxcKm80m0tLSxK233ipCodAJvpuvB0eSeVVVlZgxY4bw+XzCYrGIYcOGidtvv120tLQkXed4yFxSG6Sjo6Ojo6Oj87VHj7HR0dHR0dHRGTLoio2Ojo6Ojo7OkEFXbHR0dHR0dHSGDLpio6Ojo6OjozNk0BUbHR0dHR0dnSGDrtjo6Ojo6OjoDBl0xUZHR0dHR0dnyKArNjo6Ojo6OjpDBl2x0dHR0dHR0Rky6IqNjo6Ojo6OzpBBV2x0dHR0dHR0hgy6YqOjo6Ojo6MzZPj/T0nPbVvDcnIAAAAASUVORK5CYII="
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "predictions = np.vstack([test_data[1].flatten(),labels.flatten(),auto_labels.flatten()]).T\n",
+ "all_prediction = pd.DataFrame(predictions,columns=['target','baseline','automl'])\n",
+ "all_prediction.plot()\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Compare with State of Art (SOTA) models"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "outputs": [],
+ "source": [
+ "df = pd.read_csv(data_path+'/ts_regression_sota_results.csv',sep=';')\n",
+ "df = df[df['ds/type'] == dataset_name].iloc[:,:25]\n",
+ "df.index = df['algorithm']\n",
+ "df = df.drop(['algorithm','ds/type'], axis=1)\n",
+ "df = df.replace(',','.', regex=True).astype(float)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "outputs": [],
+ "source": [
+ "df['Fedot_Industrial_tuned'] = metrics['rmse'][0]\n",
+ "df['Fedot_Industrial_AutoML'] = auto_metrics['rmse'][0]\n",
+ "df = df.T"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "CNN_RMSE 387.616535\nGrid-SVR_RMSE 390.641257\nFPCR_RMSE 399.459870\n5NN-DTW_RMSE 407.790548\nFPCR-Bs_RMSE 408.199670\n5NN-ED_RMSE 424.504623\nRandF_RMSE 456.359415\nFedot_Industrial_tuned 470.714000\nFreshPRINCE_RMSE 487.642605\nResNet_RMSE 489.719817\nFedot_Industrial_AutoML 491.020000\nRDST_RMSE 491.072419\nROCKET_RMSE 492.914183\nDrCIF_RMSE 494.923063\nFCN_RMSE 499.100408\nSingleInception_RMSE 499.449452\nInceptionT_RMSE 506.696071\nMultiROCKET_RMSE 506.770267\nRidge_RMSE 509.119169\nTSF_RMSE 510.156025\nRotF_RMSE 519.799244\nXGBoost_RMSE 526.421564\n1NN-ED_RMSE 529.096971\n1NN-DTW_RMSE 557.562623\nRIST_RMSE 560.257921\nName: min, dtype: float64"
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.sort_values('min')['min']"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "Fedot_Industrial_tuned 470.714000\nFedot_Industrial_AutoML 491.020000\nFPCR_RMSE 522.998212\nFPCR-Bs_RMSE 537.381895\n5NN-DTW_RMSE 546.981708\nGrid-SVR_RMSE 553.666929\nCNN_RMSE 561.795243\n5NN-ED_RMSE 562.413046\nRDST_RMSE 575.720140\nRandF_RMSE 589.478468\nRidge_RMSE 627.513473\nROCKET_RMSE 629.215008\nRIST_RMSE 639.787936\nFreshPRINCE_RMSE 640.463800\nInceptionT_RMSE 645.057362\nDrCIF_RMSE 646.879703\nSingleInception_RMSE 652.585529\nResNet_RMSE 661.954851\nTSF_RMSE 663.258974\nMultiROCKET_RMSE 663.968054\nRotF_RMSE 670.442108\nFCN_RMSE 693.068654\nXGBoost_RMSE 693.574841\n1NN-DTW_RMSE 755.854409\n1NN-ED_RMSE 812.146002\nName: max, dtype: float64"
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.sort_values('max')['max']"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "outputs": [
+ {
+ "ename": "NameError",
+ "evalue": "name 'df' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
+ "\u001B[1;31mNameError\u001B[0m Traceback (most recent call last)",
+ "Cell \u001B[1;32mIn[1], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m \u001B[43mdf\u001B[49m\u001B[38;5;241m.\u001B[39msort_values(\u001B[38;5;124m'\u001B[39m\u001B[38;5;124maverage\u001B[39m\u001B[38;5;124m'\u001B[39m)[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124maverage\u001B[39m\u001B[38;5;124m'\u001B[39m]\n",
+ "\u001B[1;31mNameError\u001B[0m: name 'df' is not defined"
+ ]
+ }
+ ],
+ "source": [
+ "df.sort_values('average')['average']"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "outputs": [],
+ "source": [],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ }
+ ],
+ "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.8.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
\ No newline at end of file
diff --git a/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_hotwater.ipynb b/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_hotwater.ipynb
new file mode 100644
index 000000000..4c96fa1e5
--- /dev/null
+++ b/examples/real_world_examples/industrial_examples/energy_monitoring/building_energy_consumption_hotwater.ipynb
@@ -0,0 +1,2382 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Predict how much energy will a building consume with Fedot.Industrial"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Dataset published on Kaggle, aims to assess the value of energy efficiency improvements. For that purpose, four types of sources are identified: electricity, chilled water, steam and hot water. The goal is to estimate the **energy consumption in kWh**. Dimensions correspond to the air temperature, dew temperature, wind direction and wind speed. These values were taken hourly during a week, and the output is the meter reading of the four aforementioned sources. In this way, was created four datasets: **ChilledWaterPredictor**, **ElectricityPredictor**, **HotwaterPredictor**, and **SteamPredictor**.\n",
+ "Link to the dataset - https://www.kaggle.com/code/fatmanuranl/ashrae-energy-prediction2"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T10:34:48.354623Z",
+ "start_time": "2023-08-28T10:34:39.594404Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "from fedot_ind.api.utils.path_lib import PROJECT_PATH\n",
+ "from fedot.core.pipelines.pipeline_builder import PipelineBuilder\n",
+ "from fedot_ind.tools.loader import DataLoader\n",
+ "from fedot_ind.api.main import FedotIndustrial"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "outputs": [],
+ "source": [
+ "def evaluate_loop(api_params, finetune: bool = False):\n",
+ " industrial = FedotIndustrial(**api_params)\n",
+ " if finetune:\n",
+ " industrial.finetune(train_data)\n",
+ " else:\n",
+ " industrial.fit(train_data)\n",
+ " return industrial"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "outputs": [],
+ "source": [
+ "initial_assumption = PipelineBuilder().add_node('quantile_extractor').add_node('treg')\n",
+ "params = dict(problem='regression',\n",
+ " metric='rmse',\n",
+ " timeout=30,\n",
+ " initial_assumption=initial_assumption,\n",
+ " n_jobs=2,\n",
+ " logging_level=20)\n",
+ "dataset_name = 'HotwaterPredictor'\n",
+ "data_path = PROJECT_PATH + '/examples/data'"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "Now we must download the dataset. It could be done by using `DataReader` class that implemented as attribute of `FedotIndustrial` class. This class firstly tries to read the data from local project folder `data_path` and then if it is not possible, it downloads the data from the UCR/UEA archive. The data will be saved in the `data` folder."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T10:35:13.321212Z",
+ "start_time": "2023-08-28T10:35:12.913025Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-05 12:27:32,955 - Reading data from D:\\WORK\\Repo\\Industiral\\IndustrialTS/examples/data/HotwaterPredictor\n"
+ ]
+ }
+ ],
+ "source": [
+ "_, train_data, test_data = DataLoader(dataset_name=dataset_name).read_train_test_files(\n",
+ " dataset_name=dataset_name,\n",
+ " data_path=data_path)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "features = np.array(train_data[0].values.tolist()).astype(float)"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Lets check our data."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "(245, 4, 168)"
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "features.shape"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Lets visualise our predictors."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "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eH4OdPTDI4B8SxbK8swxfzwiIiKKXNx6XHp6elBSUjLidVavXo3CwkL1q6amJubHpe1v0el0MX88IiIiilxcApc9e/bg4YcfxvXXXz/i9VatWoWenh71q7GxMfbHxhVFREREKSOswOXWW2+FTqcb8WvHjh1+tzl8+DDOPPNMXHTRRVixYsWI9282m1FQUOD3FWt72/sBsL+FiIgoFYTV4/KjH/0IV1111YjXmTx5svrvpqYmnHrqqTj++OPx+9//PqIDjLXOfqWnprLQkuAjISIiotGEFbiUlZWhrKwspOsePnwYp556KhYtWoSnn34aen1yjozpt7sBADmmmPQpExERURTF5Gx9+PBhnHLKKairq8P999+P9vZ29XuVlZWxeMiI9dtdAIBckyHBR0JERESjiUng8vbbb2PPnj3Ys2cPJkyY4Pc9IUQsHjJiNoeScck1M+NCRESU7GJSv7nqqqsghAj6lWz6ZMbFzIwLERFRskvOxpM4sjlk4MKMCxERUbLL6MDF7nLD6VayQGzOJSIiSn4ZHbjYvCuKADbnEhERpYKMDlz6vWUic5YeWYaMfiqIiIhSQkafreUMF/a3EBERpYbMDlwcXFFERESUSjI7cFGHzzHjQkRElAoyPHBhqYiIiCiVZHjgomRccriiiIiIKCVkdOAih8/lMeNCRESUEjI6cOl3cGdoIiKiVJLZgQv3KSIiIkopGR64sDmXiIgolWR44CKXQzPjQkRElAoyO3DhztBEREQpJbMDFw6gIyIiSimZHbg42ONCRESUSjI6cJFzXHK4qoiIiCglZHTgoq4qYqmIiIgoJWR44MI5LkRERKmEgQuYcSEiIkoVGRu4eDwCNiebc4mIiFJJxgYuA043hFD+zVIRERFRasjYwEUOn9PpgGwjAxciIqJUkLGBi02zokin0yX4aIiIiCgUGRu49Hkbc3O4TxEREVHKyNjAxeadmpvHxlwiIqKUkbGBi1wKzam5REREqSNzAxcHZ7gQERGlmswNXNSpuQxciIiIUkUGBy4cPkdERJRqMjhwkaUi9rgQERGliswNXLyrinLY40JERJQyMjZwsXmbc/O4qoiIiChlZGzgog6gY48LERFRysjYwMXG5lwiIqKUk7GBi2+OC0tFREREqSLmgYvdbsf8+fOh0+nw6aefxvrhQqZOzmVzLhERUcqIeeDy05/+FNXV1bF+mLDJOS7cq4iIiCh1xDRweeONN/Cvf/0L999/fywfJiKyVMS9ioiIiFJHzNINra2tWLFiBf76178iJycnpNvY7XbY7Xb1/1arNVaHx92hiYiIUlBMMi5CCFx11VX47ne/i6OPPjrk261evRqFhYXqV01NTSwOD4BmOTSbc4mIiFJGWIHLrbfeCp1ON+LXjh078PDDD6O3txerVq0K62BWrVqFnp4e9auxsTGs24fK6fbA4fIAYMaFiIgolYR11v7Rj36Eq666asTrTJ48Ge+++y42bNgAs9ns972jjz4al19+OZ599tmgtzWbzUNuEwtyhgvAVUVERESpJKyzdllZGcrKyka93kMPPYS77rpL/X9TUxOWL1+OF198EYsXLw7/KKNMNuYaDTqYsjJ2lA0REVHKiUm6oba21u//eXl5AID6+npMmDAhFg8ZFnVnaJaJiIiIUkpGphvkztC5LBMRERGllLicuSdOnAghRDweKiQ2NePCFUVERESpJCMzLn0c909ERJSSMjJw4fA5IiKi1JSRgQuHzxEREaWmjEw5zB5fiBtPnYL68txEHwoRERGFISMDl/k1RZhfU5TowyAiIqIwZWSpiIiIiFITAxciIiJKGQxciIiIKGUwcCEiIqKUwcCFiIiIUgYDFyIiIkoZDFyIiIgoZTBwISIiopTBwIWIiIhSBgMXIiIiShkMXIiIiChlMHAhIiKilMHAhYiIiFJGUu8OLYQAAFit1gQfCREREYVKnrfleTyakjpw6e3tBQDU1NQk+EiIiIgoXL29vSgsLIzqfepELMKhKPF4PGhqakJ+fj50Ol1U79tqtaKmpgaNjY0oKCiI6n2nGj4X/vh8+PC58Mfnw4fPhT8+Hz7yudi2bRumT58OvT66XSlJnXHR6/WYMGFCTB+joKAg419kEp8Lf3w+fPhc+OPz4cPnwh+fD5/x48dHPWgB2JxLREREKYSBCxEREaWMjA1czGYzbr/9dpjN5kQfSsLxufDH58OHz4U/Ph8+fC788fnwifVzkdTNuURERERaGZtxISIiotTDwIWIiIhSBgMXIiIiShkMXIiIiChlMHAhIiKilJGRgcsjjzyCiRMnwmKxYPHixdi0aVOiDynmVq9ejWOOOQb5+fkoLy/Heeedh507d/pd55RTToFOp/P7+u53v5ugI46tO+64Y8jPetRR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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAGzCAYAAAA41o3+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAADBhElEQVR4nO29eZgdZZn3/62z9t6dTnenE7KyJBBIWIKEIAkIMSHgSmYGEQF9GVAnOINxGCbzQ1AYRXHGhRlAfV8EFXBhRlBR9iWAJCBBZNOQhCxA0ulsvXeftX5/nPM89VTVU+vZ69yf6+qru885fbpOnTpP3XXf3/t7K6qqqiAIgiAIgqhhQpXeAIIgCIIgiEKhgIYgCIIgiJqHAhqCIAiCIGoeCmgIgiAIgqh5KKAhCIIgCKLmoYCGIAiCIIiahwIagiAIgiBqHgpoCIIgCIKoeSigIQiCIAii5qGAhiDqgDPPPBNnnnlmVT2noij4yle+wn+/6667oCgKduzYUfC2FYtq3CaCIORQQEMQRN3z9a9/HQ888EClN4MgiAKggIYg6oBHH30Ujz76aKU3w5aLL74Y4+PjmDVrVtn/t1VAU8ltIgjCG5FKbwBBEKUnFotVehMcCYfDCIfDto9RVRUTExNobGysmm0iCKI6oAwNQdQIr776KhRFwW9+8xt+26ZNm6AoCk466STdY1etWoXFixfz3416l6effhqKouCXv/wlvva1r2H69OloaGjA2Wefja1bt5r+9w9/+EMcccQRaGxsxCmnnIJnn33W9XYnEgl88YtfRHd3N1pbW/GRj3wE7777rulxMr3K7Nmz8aEPfQiPPPIITj75ZDQ2NuIHP/gBAGBgYABXXXUVZsyYgXg8jiOPPBLf/OY3kc1mdc+bzWbxve99DwsWLEBDQwO6u7txzjnn4KWXXgKQ0/KMjo7ixz/+MRRFgaIo+PSnP225TQBw22234dhjj0U8Hse0adOwZs0aDAwM6B5z5pln4rjjjsObb76JD3zgA2hqasJhhx2Gm2++2fW+IwjCPRTQEESNcNxxx6GjowPPPPMMv+3ZZ59FKBTCn//8ZwwNDQHIncCff/55LFu2zPE5v/GNb+D+++/HP//zP2PdunXYuHEjLrroIt1j7rjjDnz2s59Fb28vbr75Zrz//e/HRz7yEbzzzjuutvvv//7v8d3vfhcrVqzAN77xDUSjUZx33nmuX/fmzZtx4YUX4oMf/CC+973v4YQTTsDY2BjOOOMM3H333bjkkktwyy234P3vfz/WrVuHtWvX6v7+sssu44HPN7/5Tfzrv/4rGhoasHHjRgDAT3/6U8TjcSxduhQ//elP8dOf/hSf/exnLbfnK1/5CtasWYNp06bhP//zP7F69Wr84Ac/wIoVK5BKpXSPPXToEM455xwcf/zx+M///E8cffTRuOaaa/DQQw+5fv0EQbhEJQiiZjjvvPPUU045hf9+/vnnq+eff74aDofVhx56SFVVVX355ZdVAOqvf/1r/rgzzjhDPeOMM/jvTz31lApAPeaYY9REIsFv/973vqcCUF977TVVVVU1mUyqPT096gknnKB73A9/+EMVgO45ZbzyyisqAPUf/uEfdLd/8pOfVAGo119/Pb/tzjvvVAGo27dv57fNmjVLBaA+/PDDur+/8cYb1ebmZvWtt97S3f6v//qvajgcVnft2qWqqqo++eSTKgD1H//xH03bls1m+c/Nzc3qpZdeanqMcZv6+/vVWCymrlixQs1kMvxx//3f/60CUH/0ox/x28444wwVgPqTn/yE35ZIJNTe3l519erVpv9FEERhUIaGIGqIpUuX4uWXX8bo6CgA4LnnnsO5556LE044gZeBnn32WSiKgtNPP93x+T7zmc/o9DVLly4FALz99tsAgJdeegn9/f343Oc+p3vcpz/9abS3tzs+/+9//3sAwD/+4z/qbr/qqqsc/5YxZ84crFy5Unfbfffdh6VLl2LSpEnYv38//1q+fDkymQzPYv3v//4vFEXB9ddfb3peRVFcbwPj8ccfRzKZxFVXXYVQSFs+L7/8crS1teF3v/ud7vEtLS341Kc+xX+PxWI45ZRT+P4lCKJ4kCiYIGqIpUuXIp1OY8OGDZgxYwb6+/uxdOlSvPHGG7qAZv78+ejs7HR8vpkzZ+p+nzRpEoBcqQQAdu7cCQA46qijdI+LRqM4/PDDHZ9/586dCIVCOOKII3S3z5s3z/FvGXPmzDHdtmXLFrz66qvo7u6W/k1/fz8AYNu2bZg2bZqrfeEGtj+M2x+LxXD44Yfz+xnTp083BU6TJk3Cq6++WpTtIQhCgwIagqghTj75ZDQ0NOCZZ57BzJkz0dPTg7lz52Lp0qW47bbbkEgk8Oyzz+LjH/+4q+ez6uBRVbWYm10Qso6mbDaLD37wg/iXf/kX6d/MnTu31JvlilrYvwQRFCigIYgagpUsnn32WcycOZOXiJYuXYpEIoF77rkHe/fudSUIdgPzX9myZQvOOussfnsqlcL27dtx/PHHO/59NpvFtm3bdFmNzZs3F7RdRxxxBEZGRrB8+XLHxz3yyCM4ePCgbZbGbfmJ7Y/NmzfrMlTJZBLbt2933B6CIEoHaWgIosZYunQpXnjhBTz11FM8oOnq6sIxxxyDb37zm/wxxeDkk09Gd3c3vv/97yOZTPLb77rrLlObsoxVq1YBAG655Rbd7d/97ncL2q6/+7u/w4YNG/DII4+Y7hsYGEA6nQYArF69Gqqq4qtf/arpcWKWpLm52dXrWb58OWKxGG655Rbd399xxx0YHBz01L1FEERxoQwNQdQYS5cuxde+9jW88847usBl2bJl+MEPfoDZs2dj+vTpRflf0WgU//7v/47PfvazOOuss3DBBRdg+/btuPPOO11paE444QRceOGFuO222zA4OIjTTjsNTzzxhNTrxgtXX301fvOb3+BDH/oQPv3pT2PRokUYHR3Fa6+9hv/5n//Bjh070NXVhQ984AO4+OKLccstt2DLli0455xzkM1m8eyzz+IDH/gArrzySgDAokWL8Pjjj+Pb3/42pk2bhjlz5uh8fBjd3d1Yt24dvvrVr+Kcc87BRz7yEWzevBm33XYb3ve+9+kEwARBlBcKaAiixjjttNMQDofR1NSkK/ksXboUP/jBD4qWnWFcccUVyGQy+Na3voWrr74aCxYswG9+8xt8+ctfdvX3P/rRj9Dd3Y177rkHDzzwAM466yz87ne/w4wZM3xvU1NTE9avX4+vf/3ruO+++/CTn/wEbW1tmDt3Lr761a/qOrDuvPNOLFy4EHfccQeuvvpqtLe34+STT8Zpp53GH/Ptb38bV1xxBa699lqMj4/j0ksvlQY0QM6Hpru7G//93/+NL37xi+js7MQVV1yBr3/964hGo75fE0EQhaGopE4jCIIgCKLGIQ0NQRAEQRA1DwU0BEEQBEHUPBTQEARBEARR81BAQxAEQRBEzUMBDUEQBEEQNQ8FNARBEARB1Dw16UOTzWaxe/dutLa2+pqYSxAEQRBE+VFVFcPDw5g2bZpuYn0xqMmAZvfu3QWZchEEQRAEUTneeeedojmaM2oyoGltbQWQ2yFtbW0V3hqCIAiCINwwNDSEGTNm8PN4ManJgIaVmdra2iigIQiCIIgaoxRyERIFEwRBEARR81BAQxAEQRBEzUMBDUEQBEEQNQ8FNARBEARB1DwU0BAEQRAEUfNQQEMQBEEQRM1DAQ1BEARBEDUPBTQEQRAEQdQ8FNAQBEEQBFHzUEBDEARBEETNQwENQRAEQRA1DwU0BEEQBEHUPDU5nLIcbNs3gsff3ItLlsxGYyxc6c2peh5+vQ8t8QhOP6qr0ptSETJZFXc9vwOnHt6JY6e1+3qOX7/yHlobIjjr6ClF3jrvPPnXvRhJZPCR46dVelPwwtsHsG3fKD65eGalN6WoBPV1idzzwk5s7R9x9dhYOIQL3jcDh3e3mO7LZFXc+YftWDxnMhZM9/f5qjRv7xvBL/74DpKZLADghBkd+OgJh/H79wyO46cbdmI8lQEAHN7dgotPnVWRba1VKKCx4Kbf/xWP/2UvpnY0VsWiXs3sH0lgzb0vIxxSsOna5WhtiFZ6k8rOhm0HcOODb+LUwzvx8yuWeP77gbEkrvrFK2iKhvH6V1eWZBKtW1RVxZX3/gkTqQzOmNuN9sbKvp/X/O+r2HFgDEuOmIw5Xc0V3ZZiwl7XqYd3Sk/itc62fSP4/+5/3dPf7BmcwC0Xnmi6/eHX+/Dvv/sLTpnTiV9+1vvnqxr4z8fewu9e3cN/DynAGXO70dEUAwD832e240d/2K77m5Nmdvi+QKpHKKCxYGv/MABgLJGu8JZUP3sGJpDJqshkVWzYdgArju2t9CaVnQOjCQDAwFjK198PT6ShqsBoMoNkJot4pHJZQVUFxpK5q8SJVKbiAc3AeG6fDk/427fVyvBEWvc9aAzm37e2hgguXmKfaXhz9xCe2rwPoxbr7VOb+wEAY8na3VcHR5IAgJXHTsFTm/chmc5icDzFA5qD+TXk9CO7sPPgKN45OI6t/SMU0HiAAhoJqUwW7x4aBwBk1QpvTA2wb2SC/7z+rX11GdCwACCZzvr6+0Q6w3+eSFU2oMmq2kGfqYIPQCq/T1OZym9LMUnn9226CvZxKUjn36+u1jiuXnm07WN/+dI7eGrzPt2xx1BVFevf2gcAyPr7eFUFLBj7u5Nn4E+7BtA/nMBoQvvcj+bXkHMXTMWfdh3COwffxc4DYxXZ1lqFRMESdg+M80VG9gEj9OwbTvCf17+1D2od7jN2ZZnwGdBMpLS/E4ObSiCeX6shoGGag2rYlmLCXk/QXhcjlX/foiHn00w4X2KV7Yq/7Bnma0wtr8csYGmKRdAcz+USxIwT+7k5HsbsfGl1x4HRMm9lbUMBjYQdQlRcjydnr4gBzbuHxvH2/vr7ELIMjd9gRAyEEqnKXoaKJ41Kn0BUVeWZmXSmhi/PJbATfrqW0w428IAm4qwHYzGP7Hhj2RkgVw6tVZh8oTkeRlO+0YQFOQB4tqYpFsGsyU0AQBkaj1BAI2GnEBUH9OKpqIgBDQCs37zP4pHBZTR/deU3GNGXnCqboVGrKEOTFIKYoJVmgp+hyb2uiIsMTSifoZEFLOvf6uc/VzrALgRdhiaWz9AkJBmaWBizJ+cyNDspQ+MJTwHN7bffjoULF6KtrQ1tbW1YsmQJHnroIX7/mWeeCUVRdF+f+9zndM+xa9cunHfeeWhqakJPTw+uvvpqpNPVJfTasV+Limv5A1Qu9o3kApoZnY0AgKffqr+AZizBMjR+Axrt7yYoQ8MRdTNBymSoqloHGprc+xULO59mFF5y0u+LkUQaL+04xH+v9PFYCGJJqSluk6GJRzAzn6HZP5LECDWmuMZTQDN9+nR84xvfwKZNm/DSSy/hrLPOwkc/+lG88cYb/DGXX3459uzZw79uvvlmfl8mk8F5552HZDKJ559/Hj/+8Y9x11134brrriveKyoClKHxBsvQ/M1JMwDk/DUqnWUoNyxDk8xkkfVx0IiZnYmKa2hEUXAFNwR6kXU6QKJgnU4pQK9LhGXXImEXJaf8Q4wBy/Nb9+sCvlqNZ5LpLA/OdRkamYYmFkZbQxSTm3PdT5SlcY+ngObDH/4wzj33XBx11FGYO3cuvva1r6GlpQUbN27kj2lqakJvby//amtr4/c9+uijePPNN3H33XfjhBNOwKpVq3DjjTfi1ltvRTKZLN6rKhBRiOXn5FRvsIBmyRGTMbW9AYl0FhvfPlDhrSovY0K3QtJHFFBNJadqEgWnAlpyCurrEmEBaNRFhiZkIQpm+pljp7Xl76/NfSUGLk0xQUMj6XJqyguGSUfjHd8amkwmg5///OcYHR3FkiWa0dE999yDrq4uHHfccVi3bh3GxrQ3Y8OGDViwYAGmTNGcUFeuXImhoSFdlsdIIpHA0NCQ7qtUZLIq3jk4zn938wG64bdv4u++v0F3Inpx+0Gc/s0n8dibe0uynX75n03v4oPfXo/tRRTusoCmpzWOM+Z2AzAK+VR8/u5NuPCHGy0DxH+7/zXMu/YhzLv2IRz95Ydww2/fLNr2lYNRYcHyo6MpZslpIpXBud97lu/PE254FE/8xf1xqFZRyUmXoQnQiV8MFCsdNJYKLgr2kKExNmGwdeQD83oAmAOef3/wTXz4v57Trb0v7citvQ+/rpnYpTJZ/N33N/DPxHHXP4Kfbtwp3Zb+4Qmc9R9P47+f3OK43W5hwUosEkI0HDJ1OaUyWX6sN+eDHaajoU4n93gOaF577TW0tLQgHo/jc5/7HO6//37Mnz8fAPDJT34Sd999N5566imsW7cOP/3pT/GpT32K/21fX58umAHAf+/r67P8nzfddBPa29v514wZM7xutmv2DI7rrrCd1ppDo0nc9fx2vLjjIF7epdV6f//aHrx7aBy/+fPuUm2qL/5307vY0j+Cn724qyjPN5pI8w9rt0VAs23fKB56vQ8b3j6AA6PmTNyh0SR+/uIuJNJZJNJZTKSy+N+X3y3K9pWLMaEW7qfTSR/QFJah+WvfMN7cM8T358BYCo97CGiqKUOT0JWcgqOhEYOzIGmDRFJZ9xkaxSJDw/zA2LgDY4D921d347X3BnXjFZ7dsh/vHhrHnX/YwW97acchvLjjIP9MjCTSuPM5vSsv47kt+/H2/lHct6l4axDvcMoHK8YMjbh+NOXLUUxHs3M/ZWjc4jmgmTdvHl555RW88MIL+PznP49LL70Ub76Zu5q+4oorsHLlSixYsAAXXXQRfvKTn+D+++/Htm3bCtrIdevWYXBwkH+98847BT2fHcb0ntMV6nNb9/MPofi3LKqutvonE/AWqxNpf/75mmJhNMcjOO3ILoRDCt7eN4p3Dub2hzFbY4Ttw6N6WvDQPy0FkHMZrbQfixdEh1M/wuBEqnglJ3alN6OzEVd+4Mj8c7rfJp2GpuKi4GBqaOoiQ5NmGhovJSchOyjsl1gk9xzGw5EdHuLfsTVm085D3F2arUHnLZyKx9eegUhIwdv7R7FLUs5hth3vHhrXHX+FIHY4ATBlaNj3aFjhr5UyNN7xHNDEYjEceeSRWLRoEW666SYcf/zx+N73vid97OLFiwEAW7duBQD09vZi7179lSL7vbfX2l02Ho/zzir2VSqMB4+TD414shb/lgU32/ePVpWXDSsPbd47jD2D4w6Pdv983a1xAEB7YxQnzewAoO0bcR/J1m6eVj66B0f3tvIU9f6R6tFVOVHUDI3PTinj/2+ORdDTlntfvARJVieVShDUklO6HjQ0We8lJ3FXiMdhJCTvgmJrq/7v2P9X8fy2nJaPrTEr5k/BkT0tOGnWpNztW8wXduwiNJNV8d6hwtdIQO9BA8DkQyN60DBIQ+Odgn1ostksEomE9L5XXnkFADB16lQAwJIlS/Daa6+hv1/zFXjsscfQ1tbGy1aVxpyhsX6saMkNaKnBdCbLsxPDE2nf832KTSKd4fNVAOCZIrRX84CmJc5vE8tOE6kMXhAEwrIFie3DM+Z2Q1EU/lxGf5tqRhT9+dHA6I31ipOhiUVCaMiPUPAS0FSTD41ePBuc0ky6HjI0+Yyam7ZtzYdG1G9p94ctAposD2jkuq/1b+3D3qEJ/GXPEBQFWHpUbm3ia5QkU71DkmkvFFOGxuBDI3Y4MViGpm9oAuPJ2slWVxJPAc26devwzDPPYMeOHXjttdewbt06PP3007jooouwbds23Hjjjdi0aRN27NiB3/zmN7jkkkuwbNkyLFy4EACwYsUKzJ8/HxdffDH+/Oc/45FHHsG1116LNWvWIB6PO/z38rAjL5a1aiMUES25Ae3g3z0woVuwqiVlaMx4rC9GQDOiz9AAwBlzcwK+57fux7Nb9utO1sb9yfZhYzSMk2dP0j1XLQU0YreCr5JTEbuceEATDiEeDeWfszZLTkFt287oNDTBeV0iSV5ycs7QKJL1Vp+hCeVv0/8d+90qEFq/eR9f5xZO70BnvhWaBTTPb9tvmr+2U5JpLxTRgwaA4EOTu130oGF0NEXR1pD7fddBytK4wVNA09/fj0suuQTz5s3D2WefjT/+8Y945JFH8MEPfhCxWAyPP/44VqxYgaOPPhpf+tKXsHr1avz2t7/lfx8Oh/Hggw8iHA5jyZIl+NSnPoVLLrkEN9xwQ9FfmF/YATyjM5fus1tr2Afl8G7m6jgGVVVNAUy1pAxZgMAWj2e37C9YaGksOQG5FsvJzTGMJjP4zmNv6R5vPD+yfXjaEZP5QMZaC2gyWRXjqQJLTqIPTYFdTkzUHo+G0BDNZ2g8bJMufV9pH5p6yNAESOwsopWcPGhohF0hrhUsKDKW77OSkpP4mPcGxnFXXhzMghgAmD+1DV0tcYwlM3hp50F++8BYUpdRL1qGJmGRoUkyUbA5Q6MoCs108oinadt33HGH5X0zZszA+vXrHZ9j1qxZ+P3vf+/l35aNbFbFzoO5A+fwrmbsPDBmqyFgltyfPGUmvv77v2A8lcG+4YRJCFwtByMLEI6d1oZ3D41jYCyFV94ZwMmzOwt+TrHkFAopWDa3G/f/6T28uUffYm/M0LB9eMY8bbGptYBm3JBR8ZehKV6XU0LI0PCAxkuGJlulGZoAZTLqQUOT8uVDY5WhkXdBsYfYiazZGnTG3C7t/4UULJvbhV+9/B7Wv7UPpx2Ru8948Vn0DI2pyymfoUmaNTQAMGtyM159d7DqmkuqFZrlJNA/nMBEKotwSBEyNPLFRrTk/uD8KThsUs72f8eBMV6DZWK4asvQ9LY18FpyoWUnWYYG0F8NRUIKr6OLa424D8XHcw3NyERB21YuxgzW5P58aISSU4HdXQmdhiaU36baFAXrRh8EqORUHxoaP6JgeUDDNDTGfSXX0OS+i9mOtoYIjp/eoftbmY6GXXyybS56hiZu7HLKZ2gMomHG7LwweEeVnEOqHQpoBNjBO31So/QELMIsuWdPbsKsyc26FjsWTb8vn/motgyN6Bfz0Ot9+NXL7+q+Hnmjz1RXtnxOiYYGAJYe1cVLWyfNnITG/OIiLjzGfciotQzNaNKYoSnUh8Z53298+wAOjMj3jyYKDgsZGn8lp0qfbJMZbbuDlMmoBw0NC2jcDKeU+dCIP2saGnlAo6rm295/pJaRWXpUt6l9fOlR3VCUnG9T32Du4oldfLK1+52DY9LPwOvvDZq6RA+OJvEnwYtMpJAMTW67quMcUu1QQCPADprZk5sRCslrtoyNb+fqrizTobXYjfJomgUNVZOhyWc8ulviWJZPv27tH8HaX/5Z9/XZn27CTzbscPecFhmayS1xLDgsZ4Z1xrxu7QpMWByM+5BRcwGNMUPjy4fGfclp085D+MQPN+Jf/udV6f2iKJgFkl5awatJFJxKixma4GhN6iFDwzJqzFfFDmmGRtgvmoZG/3dMcyPzoZk7pRXT2hsA6DPAjM7mGBbmszas45NdfJ56+GTEwiGkMip2D+gDl639w/jYrX/AxXe8qDs/XHnvy/j4bc/jz+8MmP4XE/+afWgyUFXVMkPDziskCnYHBTQCk5vj+MC8bpw8a5JUdS/CTmK9+Q8My9C8vU8za1qW/xAdHE3q2qUrBQ8+2hrQ09qAa887Bsvmduu+2MyUR12MbMhmVW6sZwxoAOD6D8/HhafMxMVLZklntbCrFrYPGTygschAVBtjpgxNoV1O9n//+nuDAHKCRxksoIlH/bZtV0/JKSEEMUE68deDhoYPpww5l5zCIXPA4saHRiYKZj+HQgq+dv4CfPq02fjICdOk/9fobM4uPg/vbsaMzkbdbYzH3uxHOqtia/8Itu3LORQfHE1iQ96e4tV3B0z/h816M/rQpLMqkpmsZYaGPa7QRoF6wZMoOOgsnz8Fy+fnRjF88+G/ArAuObEPEgt8WGrwxe0HkcxkEQ0rOKqnBV0tcewfSWDXgTFu310pjALev196OP5+6eG6x7xzcAxLb34KL+88hKGJFNoaopbPNzie4hqHyc3mgGbRrE4smpVL3SoS0R87QSmG9a67pYFvr6qq/G+rFXGOE+DPR0bnQ+NQsmJXkUYxMoOVaXKiYNa2nXG9L3UlpyoSBacCq6EJ5snKy3BK2fogHocy0bD4uxh4s9tCSm4GFJsDJeOMud245YkteHbLPqQzWV2WfvbkZmzbN4odB0Zx+lFa+Yo1MgDA05v34cieVjy7ZR8PxmR6F2OGRgxcxhIZaZcTIPjvBDToLTaUobHAyYeGHV/h/AeNibfYrKIZk5oQCYcEUVfla6BWeheRGZ1NOLy7OeeyudV+YjZ7vklNUce0slz0x+7Tn2S7WnNeEROp3MyVakectA2UvsuJXTFamW2x8lU8EkI8yrRL7gMCWdBZKVK6DE1wTvz1pKHxKwpWhcAkZNHlxH6XiYnDLoL346e3o70xiqGJNJ7bup97dc0UdH2ifkVsZADkbugyvQvL4rIMTTik8IuN0WRa6kMjvoZKX1jUChTQWKA5V8rv164Cco+b0dmkyzSw2me1iLpUVdVNxbZDNmBShpV+RoZsf4oLlkhTLIKW/Ae7FnQ0pgxNwbOc7P/eOUMjdDlFtY+42+4pMW6opmnbqQCd+PU+NMF5XSK+2rZ1x17uezikSKdxW5npsecIuSh1RcIhnn356Ybc9O3JzTG0NUQxu8vcYcQaGVrzhncvbD+IsWQaz7y1nz9GmqFJ6DM0gN6LxipDE7Lo7iLkUEBjgVWKk8EDmvwB1xANY2qbpgVhgUy1tN2NJNL8RNnV4i6geeatfbZzqLwFNLnvsispY4ZGfM5aCGhMbds+upySLjM0mazKx2pYZWhEUXAsHOKBtlsdjT5D4+pPSoYuQxOgE7+YbQp6hsbLcEpVsj4oiiLV4FnNfTLKAZxg692Tm3OlJLuLUXaR9/ETD8NhHY1IprP40XPbsX8kwde4XQfMnVE8QyMENNwtOJG21NCEFSo5eYECGgvYB8gqMma3h3RZGa31mAUys7qqI0PDAoPWeIR3vlhx6uGTEY+E8N7AOBe92T1nt0OABMhTxlYlJ/E5a0EYbGrbLnCWk10mZffAOL/yTWdV6TRgURSsKAoXBrvdLp0ws9Jt27oMTXBKTmL5r9JZsFLhpeSkNWFot4laGKfRCLJsjWxdkcECGvYUsw0Xo8xgVZw7d+a8bm4GevvT2/K39SAaVpDMZNE3pPfQ4hoaoYtJl6Gx6HLi/jsBPUaKDQU0Fsimv4qokg8NS1ECWiBTLRkaL9mUhmgYp8zJiXmflgxv48/pQpPDsHMClWWGaypDU4ySk8suJ2PHhazsxDqDmJeSKAx2QzW1bScD2uVUDxqatI/hlPogRbtPLFlrE7blJSerUrYVU9oacHRvK/+dXZge1tGISEhBIp3F3uEJvL1/FO8eGkcsHMKph0/mgRC7oPnAvG5uyMpmAjJ4l5OYoYk5Z2h4IBecWL6kUEBjgZMPjbHkBBgzNLmfZ3Xmvu8bTpj8SsoJCz66XAQfgDsdja+Sk6wbQbLy1FJAwwR9bOEufJaT9d8bxeWyshN7rlg+M+N1/EE1iYKDOpyyHjQ0SS8lp/xD5BkaRXfhyA5Pq6nwGeHv3CKOXmEXppFwCNOZA/z+Me4ofMqcTjTFIjjtiMm6lvQz5vboDFZFtC4nIUMTl2hoLDI0Qc3iFRsKaCxw8qGRlZxYNiYcUnBYR+6D0N4UxaSmXOtzJQ32vAQfQC6lCuREb+JJc9u+EVzyoxfxN7c/jyf/2u/6OaU18Py5StZK7Cag6R+awJp7XsZzW/ZbPqYcsMVoUnPufS60y8muNGQsXcoCGlEUDMDzgEorbUIlSAV0OGU9aGi04ZRuupzMF5CirYO4zrJjMiO5OMr9rH9ON4jGe+KFKfv5/7v/Ndz29FbdY1sbojhp1iQAwJyu5nxnlFamEl8Hu5hojksyNGKXk4WGxi5TetNDf8H3129z/VqDDAU0FshOwCLGtm0AOHZaO0JKbpKr2MZcDZ1OXvQuAHBEdwsXvW3crrVv/79n38Yzb+3DSzsPcbPAo3parZ6GY1cDl7VXutHQPPHXfvzutT341iN/dX5BJYSliyc15drNvWposnlzLUYyk7XMjBhLl7KSUzIfuLBjMB7xVnKSnVQqRVAzNKKGJkjt6CLM5dldl1Puu1VgIl70yFq1ZYZ8bktOAHDyrE70tjWgvTGKI7q1gOb4vHfY2/tHsX8kiXBIwdnHaL42H1o4FQBw3oLcd56hEUpOYklal6FhGhqdD40+oNEqBfJqwYGRBH6w/m3c/PBfK/5ZrQbIWM8CZx8ac1pzRmcTfvePS00Zi9mTm/DKOwMV1dF4zdAoSm5i9s9e3IX1m/fhA/N6cqK4fNr1Sx+ci6OmtKC3vRHH5Ucc2CHX0LD7zI93k6FhnQOvvjeIAyMJTHYZrBUbJujrbM4HNB5LTkmJsDeRzpiu1gBJhkYa0Gg+NICfkpP2c6UXSd1wygAt2PWgoUnxDI2/WU46HxpJhsYqk6jalLKtiEVCeGDN+5HKZNEqmImuOetInDhrErdVmD6pCYd3t/D7Lz51Fo47rJ2PeZFlaNg6FQ4p/DMJaALh4USaP6bJWHISzi+ZrMpHQDDY2pFVc52s7Y3WRqj1AAU0Frj1oTEmF46Z2mZ6bFVkaDwIeBln5AMaNudka/8Idg9OIB4J4fJlh/MTpRvsfWj8lZxY4KCqwHNb9+OjJxzmenuKCc/Q8IDG2xW3LKMzkcoin/DhZLMqXyibYmGMJTMuS07+RcGVLjmJ+zJIJad6mOWktW27LzlZZWjkGhq5KNiulG2HcQQLAMQjYVunYUVRcNLMSfx3lqHZeXAU2ayKUEgRPGjCum1i2RhxyKxVhgbIlZ2MJ2zx2BmeSNV9QEMlJwtkVtwioumTE5pBUxWUnDwENKcdmRO9vb0/N5+KCYQXHz7ZUzADyEtOGYugUNzOA6NJywVfDATW23RjlRqWLu5s8hnQpLUrOCYslgUfe4cnkEhnEQkpODyfFrcTBcfDxgxN7fnQiNmrIJWcMnUwy8lbl1Puu7R0FNIHNNIMjcXog3Jz2KRGhEMKJlJZ9OfXXJkHDaDpZdjjFAU6I0xAf36RxfPibbXgql5qKKCxgF1UWJ1M2QfIjfBMy9BUQcnJQ1mmTRC9rd+yjwc0ssm1Tmhqfe02O/FeZ3MMipLb/4fGktLnFAOHZ7bsq5hnCmvJ5Bkaj7OcEkKJKG6TTdmxP3f8zOhs4k7K0pKTMUMT8TZx22pAYCVIpYN54qcMjR4nWwdxidACGitRsLU2r9RExc6o/AUsz9AYykmso4kFNM2xiCmrpCs5ST6L4m0jExTQUEBjgSjGkmHXcmyEpSH3DE54mnpcLDJZlc+Ychp7YIQFLw+/vgcvvH1Qd5sX5D4TbB+aHx8Nh3jGw6rsJGpV9o8k8eaeIc/bVQxGeYYml+5N+szQxCMhW70LK1nOmtzEr+6kJae0vOTkNtDKVNHJNhnQTEa6HjQ0noZT5r47+dDkHmN+rNsLpXJglBg4ZWj259e3Jonhqbg2yj6L+pITBTQU0FjgVHKStW1bMakpymd/7DpY/izNobFc2UZRNOGqW1jw8oetB5DMZHFYR6OuC8AtslksdqMPAGcdjbG04zR7qlSYMjQeA5oJPkwyrOldJMJiJiqfPbkZjfnAx14UbPSh8VNyqrQoWCw5BUdDow8ag/O6RLhTsOyKxYB8lpO2PuhEwfl9Z5VJ9Dr6oNgYzVRlHjSAlqFh61tz3Cxp1QVyks+i+LqHqeREAY0VTl1OMqdgKxRFkbbzlQv2gZncHHNlciUyf2qbbvbTGfO6PYvtAC1AFM9JfIic34AmHwjM6MyleCuho1FVVcvQ+OxySgijCnh5SBJ8iBmaBhcBjcmHxs/og0o7BQvBYaWDq2Ii6oGCpA0S4QFNxF/JSfSh0WlJJD40hYw+KDamDA1zCY7LMzQsCynL0IQl2iERoyi43qGAxgJnHxr3GhpA3s5XakYTaWzZO4xX3x0A4DyUUkYopGDZ3C7+u59yE+B9OCXg7EXDAocPHtMLANi06xCGyvyhTqSz/Bjx60MjKznJnoNd8eVKTvmARiYKNgQ0drocGcXO0Iwm0r7ckwF9yUk2t6pWETu2ghSoMVRV5SWniKsMTe67Xx8aWXDj4t+WBJ6h2e+QoTH9LsnQGLqcjIivmzQ01LZtiaxEIqLZa7t7PitL7FIxkcrgjG89jf1CMOClw0nkjLnd+NXL7yESUnDaEZN9PYfdNF2rfci2t29wQno/O3EfNaUFh3c14+39o9i47QBWHNvraxv9II6z6Gjy5xScSEtKTobgQ1VVfsU3s7MZjbGcnsmYoVFVzaSPz3KK+HcKLnSWUyKdwQf+42lMaorh4auWes7uBTZDE3ANjfiaXHU5SZoGjDOZQkrufna7PpOo/azJASqfoVFV1VpDY8zYxOWdo+GQgkxWlXc5iaJgKjlRQGOFzOhJxEvbNlD+DM3W/hE+0r6jKYZoWMHfLJru67mWHzMFpx/ZhRNmdOhMp7wgHX2Q/9nqJDcvPzDupZ0HpfeL3UGHd7fg7f2jXPxcLthi1RgN61LIzIPCDbzNWhQFG4KPRDrL/1dPW1wrORkyNGJGw2/JSXeVXODJtn8ogf7h3NdoMsO7s9yS0mVognPirybhdSkQy2heupyAXMCiKIqpdBRSFGRV1UIU7D7zW2pmdDZCUXL+VPtHktZdTi4yNECu7JSB6pihIVEwBTSWyGq6Il7atgFgdld5MzTs/5w0cxL+5/OnFfRczfEI7v77xQU9h+3oA4sT/9KjcuWt198bwr7hhCnDxLp24pEwHxJX7qvdUWGonOgCmsxk0RBy59XDS07REBfyGoOPMSFwaYqGLUXBYkYj7tNYTz/6wNWfWDIq2L7vG054DmgCm6EJqAMyQwysvYw+AHIXOmHF3EmaW2tVqQ+NLFtTqYAmHgljWnsj3hsYx84Do+4zNBINDZAvnWVciIIpoCENjRXsA2bpQ+NRSc8yNLsHxn3rCbywk+stvHcklQK7DI1dyem4w3LOy89uMQt+xQxNOH8VmCmzzkIcKicGNF50NG5KTuwqLx4JIRIOWWpoxAAgZjLW8z76oFBRMNs/gL/J6frRB8HR0GR0GprgvC5GWhfQuGucYBh9Ztj6YLwossrQGEtVlUAzUx1zn6GxCPb5gEpp27b280iCRMEU0FgQdvSh0T/Oie6WOJpiYWRV4N1D48XYRFtYNxUTqFUabX/KFh7rfchEyLKWbLE7qFIZmjFB8BcJh/jr9BK0apkmax8afpWXX/SsMjRsn0TDCr+y5T40rjU0xSuHjBkyNF5JBtRYLxVwDY0mCFZc6aZks5qMnaTG8SmWow8cStnlQNTROPnQaL9bZWjyAQ2VnByhgMYCx9EHHktOiqKUdaYTz9B0VUeGRjr6QGjLtOKMubk5Ks+8tc90ctW6g8I8kCh3WWLU0JLJsjRehMFipskqQzNm6JRocMjQiEJMu1ZwGcUUBeszNHJxtxWiwBkIVntzJlO8oLEa4S3bLm0iZLOatCw4C2j0t1tlEis5+oAhetFYdTnFIiFd9soqQ6N59NiXnEgUTAGNJX6mbTthbOcrJUxDUy0ZmhBPm2q3ual1nzizA63xCA6NpfD6e4O6+0QxbTVkaNi2AB4zNGLJyaIjyXiV15TP0IwZNTSGsQeAHx+a4omCdRkai/Z7K4wi4CCVnHRdTgEK1Bhexh4ABgM5g8+M1uWkL1uLgWBW8rPb7Hkp0GVoLHxoAH2WxipDIxsbw6AMjR4KaCxw8qHx2rYNaAd5qYXBY8k0nw8yq7M6MjSyANFNySkaDuH9R+Z8cIxlJ7HkFM6bTpQ9Q2MINKxEvXbwklPU2ofGWIdvzC9+ExYZGrYd7Hlz21T+ktNo0r+GJmnQQwXpxJ8JuA8NC9jctGwDxllNue/GkpO9hsb895USBQOaTcf2/aM8cyILWEQdjVWXU8hOQ0OiYB0U0Fjg5EPDP2weIhqjJXapYOWmSU1RtDdVxzh5Wx8ah6NwmYWORiw5VSxDYwg04tFSlZz0gZOVU7DRVM/usVaIiZBCS05jCf8ampRhH6azquXnsdYIuoaGBdaFZGiMpaOQQYdXraMPAGBmZ26tH55IY/dgTjMpzdAIt1n70OS+y6oFYmaKRMEU0Fji7EPjveRULg2NZpFfHdkZQL4/3V5JMafiP+06hMEx7UOr63LiGpoydzmZMjTOJadDo0nc9vRW7MkvdPouJ7nexViH511OpoAm97suoPGYNSqmD40uQ+Ox5GTM0ADByWboNTTBKaUxWJDmXkOj/azmd4dR3GvMmsuyveL9lczQNMbC6G1rAAAM5Ncsvxka+y4n7baJVDZQbtp+oIDGAicfGi/DKRls5tB7Je5y0oYYVod+BvA3+oAxfVIT5nQ1I6sCf86PcVBVVSivVFBDY8zQ5IMHuwzNz/64Czc/vBn/95nt+cdqXU5xqy6nhEWXkxtRsMdp2+IhX2iVp5AMjWxqeVCyGUF3Ci5EFGzM0LCLFTtRcMZjKbsczDKsv7KAxY2Gxq7LyXh+qvfxBxTQWKB9eOT3s+PIi/CMHbzprFrSK81qzNBIfWg8BIVdLbk5SaweLQYM8WhY8KGptIaGBQ/WAU3/UO7Evjff9cPFzdEQGiLyadvGDE2jkKERr06NgykBWLoPW1GqDM3+kaSn55MJnINy8g+6hiYl2Ae4Qa+hYSUl/frAs7xZ/eNyP2t/zy82K3x2m21Yf2UlpWbhNksfGiYKdvChAUhHQwGNBSGbgwjwNy9EXJhLmRpkXVTM3KkakPnQePGLMFr9JwyOuFXT5eTC82VgLDeegZXP3JScjD407HGZrKrrBmJBQFwS0KQy7gJp2cnBL2KXUyar4tCY+9EUKckU4nIHrKUi8Bma/GtyM5gSyK0BiuEi0lxyYrfrAx7xNvHnimdouoqTobEtORkyNMN1rqOhgMYCx9EHPoRn4tWK1wGGXqjGDA1frLLmhcdNlsuoGWEBQ0jJmXdVrMvJ5EPjXHIaGE/lvyfzj3U21htNyDU0gL7sJM/QaD+76XTSdTkVKgo2lMS86GjYa2Et6gCQCojeJB10HxqWoYm4P8UYGwdMomCDsZ7V6ANjd1SlMGZoGqP+MjTsZUhLToZjh0pOhBSnkpNXp2BAr2soVYZmIpXB7vx0auMHqpLw1kPpwuP8942GzIXmQROGoijVk6FxYazHRIIDxgxN1H2XUzSsZaVEYbAolGY0CC3cXgOaYvrQAN50NCmh5FQp48RSYRxOGZTuLQbzDIp6WB+Na65sOGXu9nzAY+VDUwXGeoBeQ9MUC0s7Yr340MgOEePngUpOhBRZm7GIn7Smoig8qJEJHovBroO5clNrQwSTqqRlG5C3wXvZh0wzMmYoObEST9V1OdkEDoP5DA0vOaXMJSdjQCSbByMbfyDL0IRC2nE34eK4E08OxXQKBrwFNNoYBy14C0oXh9EkMCiBGiOZ8dblBGilpYwhYOEBTf6p2P0ZCw1NNYw+APQZcuOYA4bY5WT1GLc+NAC5BXsKaG6//XYsXLgQbW1taGtrw5IlS/DQQw/x+ycmJrBmzRpMnjwZLS0tWL16Nfbu3at7jl27duG8885DU1MTenp6cPXVVyOdrr43QWbVL+K3TsvKTqVamLUZTs0V/0CLyEp4Xsp2jdHch91YcmIBRC11OTENzXAijVQmqy85WYwpkM2DaZSMP5B1OQHezPVKoaFhLaxeAhoxOIsELENjPE6DpqNJe3QKBoQMTVZfcmLrg/Ei08mHptIZmpZ4BF0tcQD60pJIE9fEhSyz/fxizUXJaXiCNDSumT59Or7xjW9g06ZNeOmll3DWWWfhox/9KN544w0AwBe/+EX89re/xX333Yf169dj9+7dOP/88/nfZzIZnHfeeUgmk3j++efx4x//GHfddReuu+664r6qIuDoFOyjbRvQrpxLlaHRpmxXjyAYkPvQsJjOXYYmt9+MomAWQFSqJGEMNJyM9bJZlWdoAGBoPOVu2rZkHozW6aRdEGiiYP0CaiU2lm6jhdjSDyxDw45HbyUn7So/kg/QjOMQahWj63FQAjUGLxd6yNCELTQy5pITu99CFFwFow8YzDrDKUNj5UEDOHQ5mUTB1ZccKCeeApoPf/jDOPfcc3HUUUdh7ty5+NrXvoaWlhZs3LgRg4ODuOOOO/Dtb38bZ511FhYtWoQ777wTzz//PDZu3AgAePTRR/Hmm2/i7rvvxgknnIBVq1bhxhtvxK233opk0n33QzlwEgX7FZ6xFKzMNKwYaDOcqkc/A/gffcAw+q6Ic5yAymVoWKDRHDdqaOSBw3AirQvqBsSAJmozbVsyD0bbJ9pjZU7BAIRAyfm40/nQFClDw45HP6LgIGZojK8jaBmalI+Sk0kjY2rbzn3XMjja38pauCstCga0slOzhT6GBTpWLsGAfcmJRMF6rMNCBzKZDO677z6Mjo5iyZIl2LRpE1KpFJYvX84fc/TRR2PmzJnYsGEDTj31VGzYsAELFizAlClT+GNWrlyJz3/+83jjjTdw4oknSv9XIpFAIqEthENDQ3432zWa5kN+v5cOHZF6zdAYOxQAcR86/73Rvp+XaZiGJv8kXtp6J1IZnH/b89i2b8R039T2Btz3udPQ3Rq3fQ4WaDQZZjmxgOsrv3kDL+08iPs+exoaY2Gd0zGQEwbzWU6RkFYaSuf8ZVhmS5ahkY00kDkFA5ow2I25nv5q1/HhtjCNEWthlWVovvCzP+HgaAI//T+LdcJJ8So/UkCp9u6NO/F/n30bd1z6PhzZ0+L570uBFw1NNqviU3e8gO7WOL73CfkaWW14HU4JmMv8qmGNtc/QQPjZewdqqeAZGosOJnYh5CpDIzkZkShYj2dR8GuvvYaWlhbE43F87nOfw/3334/58+ejr68PsVgMHR0dusdPmTIFfX19AIC+vj5dMMPuZ/dZcdNNN6G9vZ1/zZgxw+tme0axiYrF271+aEotCt47lOtwmtbRWJLn9wsT9Om7EXLf3Wh9WMCgBTT60oqfDM3mvmG8uWcIiXTW9LXjwBj+sHW/7d8PjCV5pq0jL8A2djn976Z38fp7Q3hj92Dub8b1mcjB8aTUh0ZV9Vk8ow8NoAU3YieRTBQMeDPXs3Jg9Uoqk+XbwzM0hoBmIpXBb/+8G3/YesCUvdFnaPy35f+/Z9/GzgNj2LDN/v0sJ+YMjfV6sHtwHM9vO4Bfv7K7ZrqhWEnNS8mJe38ZSk5GHxrVEPAYf66mDM37j+pCJKRg0cxJ0vuPndaOhmgIi2bJ7wdEHxrzfcbrt3oXBXvO0MybNw+vvPIKBgcH8T//8z+49NJLsX79+lJsG2fdunVYu3Yt/31oaKjkQY1dVAz4cwoGtBNNqbQAzOOko4o6nAALp2BPXU5WGhr/XU7sKnL6pEb8/IpT+e03P7wZv/nzbsep6CwbNqUtrmVoBGO98WSG17TZiXxAlqERh1PqWqyzPGAz+tAA5lZ2wFoU7KXkVKxp26IHDRvWZwxahgQ9kTHIT3L7fIVf6dud+GXs2D/KR4FUk77A+Pm328/iSSqrAh6SHhUj6UsU7M6Hhgc84hDVrDm4qYaA5qSZk/DaV1ZyvZuRGZ1N+NOXV+i8oowYu7tESBSsx3NAE4vFcOSRRwIAFi1ahD/+8Y/43ve+hwsuuADJZBIDAwO6LM3evXvR29sLAOjt7cWLL76oez7WBcUeIyMejyMet0/9FxunklPG54dG09C4s6H3gqqqvKTR0RQr+vMXgrTLyYOw2tiiLJZpAH8ZmqTgRDt9klaiO3pqK37zZy1gsWKHxMBQ7HLaL5y82Yl8YFwW0Gjls2hYQUjJLdqJVAZojCKdyfKgR0xNN9h0OcWjFhkaFyUnKwdWr7DMUSwcwmH5jCF7vWw/ifvDqDvSMjRhHrAaxbROPLNFm9BeTfoCU4bG5nWJ253KZBEOWestqgWvs5wAZx8axUJjIz5WvN3Dvy4pVsGM2/vtLETYeaghGsJEKkslp0KfIJvNIpFIYNGiRYhGo3jiiSf4fZs3b8auXbuwZMkSAMCSJUvw2muvob+/nz/mscceQ1tbG+bPn1/ophSVUjgFA6KGpvgZmvFURiuBNFZbhib33a94r5GVnIrY5WQlXGTlEbcZGnEIqDjLqV8or7AMzaDB+v/gaJJvBzMJNAqDx4QgRBQPNvEgT7tUTVp0l8Q9TNwuVts263BqiofR3hjllgUHRrR9MCCZns5ICRmaaP4y1at4dv1mLaCppsXe+Drs9rO43bUiik4X4ENjNM4LGUpO8oDGnFWsJtuKQrBb29ht7fn1nkpOHli3bh1WrVqFmTNnYnh4GPfeey+efvppPPLII2hvb8dll12GtWvXorOzE21tbfjCF76AJUuW4NRTc+n8FStWYP78+bj44otx8803o6+vD9deey3WrFlT9gyME3Y+NKqqaiUnnz40pehyYieHaFixdJ2sFMbFSvxZ5qBpxJShMWQiIj5OeNoAPf2iywTVvjI0QslpnySgMZac+vMDKgEtGGqIhjGWzHC9CxMeRwSDPED0odEWMWP3F8OqHVxG8UpO+Q6wWAShkIKuljj2DE5g33CCa7wGhADPVHISSnFhHxm4RDqD57cd4L9X02JvLI3avS6xVOY1Q1UpxGDULVYBi9mHhj1O+9tqHH1QLNx0ObU3RrF3KFFVQXsl8BTQ9Pf345JLLsGePXvQ3t6OhQsX4pFHHsEHP/hBAMB3vvMdhEIhrF69GolEAitXrsRtt93G/z4cDuPBBx/E5z//eSxZsgTNzc249NJLccMNNxT3VRUBOx8a8TavH5pY/ko5VQJRMDtZtjfGqu7qRLY//Yw+0DI0+pKTvwyNPJvBApSDo0kMjqf41Y8RLUMjLzmJehEe0ORLLLFICMl0FnuHEsLf5gOaiD74EDucxPdV6hQsmVAN+BcFF1Jy4hmafODV3aoFNIwBGw2N+P6wE2Paw4XASzsO6fZNNekLvPjQiNvtVUNUKVjWMeKjbdvah4bdbp+hqRZjvWJh2+WUv62jMScxqKagvRJ4CmjuuOMO2/sbGhpw66234tZbb7V8zKxZs/D73//ey7+tCHZ1S/HAcpNdEImV0IeGddBUmyAYsCo5+RAFS2Y5AYVpaKIR/f9nDp/7RxLYdWAMC6a3S/9eGwIqKTmls/oMzYg+QzOrswlb+kd4V1o4pPDF31RyknjQAKKxnv3og9xzevGhKW6GhrWsduddU8VAT2xjN34mEoIOw0+GZv1buXJTa0MEwxPpqrp6NTsFW78vooamVvxq/Glo9Cdu1RCYGM05ZeMOxJ+Dl6Ex38cyNG35i67hiZTO7qHeqBLZVPVhN5xSXOS9OwX799NwgguCq0w/A2iBn8yHxtXoA8u2beZD46fLybrOz3QxVjqa4YkU9ue1IPqARvN7kZWcBsfZ3+SyOkxnI5aI4gYBr8yDBtAyNGMyUbDRKdivD00B509tzpWWoQFgyNBoJaeEIdhK5XVmsYjmFOyl5ML0MyuPzTUcVNPVq9H2wW2XU60ENH6GUyqGNddYkjZeFOnE65LhlEE5p7PlSdblxG5jWeRURrUduxJ0KKCxwM6HRjyuPJeciuhD8/KuQ9g9MM5/r9aWbcDs8qmqqjdRcP7knUxnkcmqJmO9iI8uGLurSBZw7LQIaFi5qaslhtYGbX+z7UkaMjT7RxLIZlWeoWEB08HR3AldNx3boHfhWhSLDI2oi0lYlNGMXU5v7h7C9v3y11YsUTCfc5UPRqUBjU2GhnUCisMp3ZZc9gyOY/PeYYQUYNVxuYCmujI0udfBAk1bDY2YoamR4Zys6SEa8Z+hsRp9YGzrtvq5GkYfFAPb0Qf5w6GtUVsbCgncX3lnQHdOqTUooLHArm4p3ub1Q1Os0Qe7Doxh9e3P4/KfvMRvEzU01UbYkC72GhSygAbIZWmK0+VkPW9Gy9DIhcGaI7N+xISu5CSUVlKZ3AwnFnTO6jL+neAAzDqS8q/RqEXhjzPoigAtA2NXchocT+H82/+AC36wQfraiiUK5hmauF2GxsaHRjTW85ih2fh2Tgy8cHoHZuQ9cKolQ5PNasE8C4DddjnVWoYm4mF9NBrnefGhqdbRB8XAVhSsalnmlvwFj9/AfffAOD5+2x9055RagwIaC+x8aMTUn/+27cICmm37R6CqwNb+Eb4AVLeGxtpDwk2nmGg8NZ7MSGY5eXeSTfIuJ/P/ZwGHVYZmh0Q/k9seJgrOYL/BFXffSMKUoeF/F3WRoTHYozfJNDQuRMFb+0cwkW8rl2nErKYYe8WUoXHS0JhEwfmSU9j7LCfWGj57chNaG9hCn6oKp10xKGHHr12gphMF11iXk/E4tMMYsBi7lYydp7Uw+qAY2FmIaEOSFR7Q+PVb2jM4AVUF3j1EGZrAYXcQqcK6671tuzgBDbvKTaSzvK2zqjU0psVIu09xcRQqiqLrdLLqcvLUtu1KQ2OVoZEPAY1HtEwIe4/YQtM/lNA0NJ3yvwO04INlWzQ/F0PJSZKhsRIFi7ocMUiz87awut8tLEPT5FZDYyw5SYZTplyWnNhVaktDhO//atEXZHQBTdh0mxG9hqby2+8G3uUUcn+KMZaljX4yWtY8/zjJ6APRUiMoGRo3s5zCIegCdz8kDBdQtQgFNBbY+dCIGRqvHxp24ipUFLxf1hI8Vs0aGusMjdt9KHb1aD40+i4nPyUnWZ2fBRz7hhN87IDIDoshoCzTMpJI82zJ0b2tAICdB0f5Qt/dGtdN4NWVnIxdTjxDIxcFy7qcTD40QqAlBmlSO/UiOwXLRME8q2iToUkKGqdI2Nv7y4KAlngUzbEI/zxXg45GDEpYNs62y6lufGjkAYux5KRKLorYcVGIvrFase1yYnohRUELC2h8llaZpUMqo5Zs1mCpoYDGAnsfGv8lp2JnaMSf2dVue5WNPQDsJ+W6LbOLJ3CrWU5ermDtNDTtTVFMygeGMoM96wyNPuhob4zisEk5E7kte3NTvWOREBqiId14CjtRsJbpcNG2nbEy1nOfoVElJwo/GDNLXfmS03gqw1/ToM4p2Gr0gTac0u0MNHaV2tqQM/Vrye+7atDRiEGJmwxNLWpoCis5yUXBxo4wWcnJaym7FmDLk23JKVR4yUm0dKjVLA0FNBa48aEJKd7ttbmGpsArLTsX2mouOcmurrxmaMaSaWGWUz5D4/EKHtAPP5Rh1ek0lkxzQzyrkhOjuzXOtSNb+3MBTUdjFIqi6Az7RA0NH1PAnYJZl5MhQyOZ5cS0RbGwXEA8kdZnaGQnyOI7BYfz2x/hP+8bTiCVyequJq2M9aJhRcjAuQtYWeDC0vDs6rUa5jmJ+5wbBgasy6mgkpOFD435okj7W/Y3On1jQM5udg0PYoamrUHzovGD2C05mszYPLJ6CchbXnzsfGjYmuonpVnKDM1gFbdth3jrYe53XyUnIctgzND4MdZjPidW5l9WOppdB3O/dzRF0W7Y16aApiXOSy1b+of534nfc39nXXKyzNDINDSWomA2Y8qQoZEE1sX2oRG3Wyw7DRkGddqNPmABq/sMjT6gKVRfUEzYiSkimCm6dQqulVlOfkpOVhoZdtFo50PDfgx2ycllhsZvyUnM0FRBJtMPFNBYIJs9xPAyg8hIrEgamn2ySc48Q1N9JSfT1Zfw8j2XnJJZ0yynMOtyKpIPDWCdodmxX96yDeSs3sVW/u5WLaBhWR32/ugDGjc+NBYZmlQGqqoik1X5AmdVcto7NKHTrcgzNNrPxfChEbdbDGiMk8etMzQh7f11uT1cFByP5r8Xpi8oJrylWcg8WQXiyXRWJ2RO1UhA42c4pVXJiX2eTBoaiZmen1J2tWMvCtYeowXtfgMaytAEFrFt21h20lrlvD9vsdq2jRmaiVSGaymMWYNqwOhDU7go2FBy8tXlZF/nn90ldwvW9DNNpr/JbZP2fGJAw2A25bqSk6TLiWdoEvYZmqya63YTjylThia/nw4ZhmNaDV9lyETDbrHP0EyYBnWaRh8IGhqvs5w0UTArObF0fBUENEI5JuxQSjMK0r04YVcSf6MPct+tfGjsRh9ouhrx+YIR0bjxoSmmKBigDE3gEK+yjcdRIW2BMZ46978wTaQyuoVZTN+HFKDV0N5bDdi5fLrdjVqGJm3yofFjrOdeQ6MvOe2wMNVjiMFJV4s5oGGZGdEAUW+sl8/QpA0ZGgtjPSB3TNgGNFH5R12aoRENy4qhoREzNIIXzaDQsg1IRh8Iom2vbfmiKFj8PlIFJSf2GsIhxdHh2hiAuS25AcCr7w7gH+7ZhB0WjtClhL13EQ8lJx6w5A8D4zprN5xSlVwoBSSe0QKaMoqCKUMTMESxr/EqVoyKvaKJgv0HNPuMhm1C+r69MeqrFFZqeIeCQbyneBBWy9u2jRqa4sxyAoCZeYfZPYMTugD03UO5gGZGvnvJiBiciKJgBhNt60pOQsDBsgmsA8jKhyYqTKEWs1aKYnZoFYMfEScNTUEZGklmSVdycsjQJIW2evYeuQ1oRowamgL1BcVE1NA4ldKGE/p95CVgv+sPO/D71/rwq5ff9bml/nH6bMkwBSwGHxor4z3Z3wDB63KyM3kNK8XzoQGoyylwiOcDY0Ajnoy9UgxRsKifYb9rHjTVp58BnF1A3aB19WRNJSdRUOg2q5BK26fFO5ti/HmZ8yygBZRT2hqkfycGJ92tcUwSngcQRMEWJScWSO08mLuytsrQADCYDWoZDWOQGLfM0JiPQ3H3yUqubpE5HNsGNFajD8QMjYsMRSar8itMNmerUH1BMfGioTFnaNyvG9vzpdF+wwVQOUgXwYcmYyg5hfiJ3dzRJDPsDEzJya7LScj2sVlvYz6zKzoNTYIyNIFC/DAY13P2gfIz/CxWhFlO7IR6WEcuQ3BgJIGDo7nb2quwZRuwThd7uYri06VTaUmXk3You80q2PnQALmFpKslFyAaB00CMJWSGDoNTUtc9zyA5hNk1eXEtDnvHRpHMp217HICxFb2jKUHDWCdoXHS0AD+hMHZrMoX1iaZKHhEyyqyk57RxZePPoiE+NRmNxk4MQvDyl1MHFwNomAtQxMSpsTL97GxfODlvWClUmNGtxwkCxAFa66/+tu1kpS55CTT5gUknuFrpFOXE7tw8B/QkA9NYAnZlJxYLOKrbbsIomC2QM3rbYWi5D7Mb+fr5NXYsg1oVxlGHxovu1DMRhgdccPClaDbRV8raVhvhHYCngCQu/I8kJ+QbR3QmE/g4mM7GmUaGn1WpzEaRlbNlbesfGgAfSu7ZkRnflyD5DbA2YcG8Fd2Es3+dBmallxWa99wAoNjuf3Y05q7zVRy0mVo3JecWEATi4T4e9FSRRkaFqjpNDRWAY0hAHPrFDw4nuKT3I0Z3XLAAk8vGRqtE5J9N2RobEpORm2el1J2teNmUHJYUfiIkVGfwYgoCqYMTcAQPwvGtcboj+CFeLjwtm0W0PS2N2Byc+6kuHWvZtpWjRgFf+wqy0/JaVBo9zWOPgDc6yzcdGJwEWt+nx8cTUJVc4vMJIvyHgtOQgrQmX9/RB2N1IdGKAkpisJHKmzfP4qxlF2GJnfbeMoc5IlEw4qujMoEhLITpOl493GoskVVUfSCZBbY7R9J4mC+5MRuE2v4gF5DE/HQ5cQ0BG0N2v6qJlGwXkNj3+Vk1EO4PbZ3CUL2SmRonMq5MqwG2Fr50Iil5YxFVicIuPWh4SUnn8HIBGlogotdhoZHxT72XlEyNKzk0RLndvJbmAtt1Wpoct+zpoXH/XOwbITYemzscgLce9G4ES4aByoyPcLk5phlyZEFJ5Nb4vwx+gyNfckJAObkp33/tW+Y7yt5hib3v8ZEDY0koFEUhZedJjfHeGnSrhWU4SdDwxbV3BwlbT9NzpfeMlmVd9/05PeNmKFRVVWXofHSlj8yoW/ZBqpLFMyyF24yNMYSmVvRu2g1sH8kUVC3mh+YX07ES0BjsPi39qGB7n7AbNgZFEEw4OBDw/ZRMTI0ui6nyn9O/EABjQU6UbBhMSjEKTjGMzT+Fxh2cu1pi6MnL0xltvrVq6GxEvz5yNDkSxUhoZtHXMDcLvpOGhrAHNDsc9DPAFpwImZldAENFwXLS06A1hL+5p4hAPlMh6RsxPaJruRk8XpYQDNrcpNtG7Rx3fSjoWELYpNByBwNh3jWih2zTFwtBvnidsXCIX5idFNyESdtM1qryIcmI5zsnQwhjdvrtuQkmkGmMqouq1lqVFUtaDil5vqrLzkZzTllQ1S1Cd3+tr0asR19YCEK9iPk12VoqOQULPQZGv19WR8nYwa7ejYKIL3ATq7dLVpLMNMsVKuGJswXK/1i5KXFnGVomJg0Hglr6eiQVlJxraFxkRYXfVMAYd/bBjQh02PE4IYZHzZEQ/x4MHYhMWHwm7tzAU1TNCzdVzpdUSYjfS4G87eZPbmZB4J2dXn+u4+AhgkTmyWeSMZjlmdohM+E0VPHyzR1ltVojWufhWrS0GjGei40NMaAxnWGRu+dVE4dTSar8qAk6mmWk6HklNXfbtbQaPvMOPogmCUn831iyYldPGSyqq/zy0SaMjSBRTx5WKXgPXxWOVEPGpqRRFqqGRBPqlambdWG0+A5N7BsBGv3NZ64Ix6Eo4C7eTPdrZqIVfxu9JYRkQY0+ecJhxRe/lAUhWuejCUnlqFhpQOjBw1DpqFxztA027ZBF6PkxBxujRkawBwM9rSZS07i5yMaVoRZTi4+N5IMDR99YKGhGRhLSm8vBaKxnpMhpEkU7PLYNo7rKKeORjd809O07dx3syjYylhP+1tj1qYKrbh8Y3RQFskIJTZRY+en00nvQ0MZmsBh/AAx1AIyNHGXGpq39g5j0Y2PYd2vXjP9b7HsYQpoqnCOEyC6XeZ+z/q4kmLZiKEJlqHRH75e3YK5hsZm0TWVnFxlaHLb2SUpObXnJ20zWABqfC1s7ALXz0gCA8C9hgbQAprZXU32aWyTKLiADI1EyGwKaPLBnugUzD4fISVXmvGUoTG4BAOaQHgkkTadGO78w3accMNj+P1rexyfuxgwAbCbDA17LV58eAAtQ8NedzkDmqQhGHWLURRs9KFh+0DmQ5MxBDlBytDwz6osm8qD49zjmADfODLDDXofGsrQBA5jTZfBxWoFTNt2utL8zSu7kUhn8Zs/79YdaEMTab7Yy2z1q3GOE2A2xfLTKcYyNOz9MGY1vM5zKpWGZtWCXhzd24pzF/Ty2xZOb8f7Zk/CJ0+ZqXvsBe+biYXT27Fo1iTd7VNaG3RBjqzDSdyOvsEJoW1b/npWL5qOBYe1Y+lR3YKGRmKsZ9h/BWVoJEJm477rloiCk4YONJZ9czOccYSXnIQMTf7EnlX1LeUA8NLOQwCAP7874PjcxYAdn5GwIvjQWHU55V4Ly+S5ObZHE2l+vLLjqqwZGiHo8lJyMmYiLH1oDBkc8bGFDA6uVmy7nAwX14V40eh9aGozQ1N9Q3+qiNxBokp8aPwLz9jJJp1Vkc2qlh+89W/tA5DT2mx8+wDOnNcDQFuY2hoiaIiGLW31qw3T1ZePAZ+NBnM4U4bG4eRgxFXbdv5kO5rM6E4UdgHNmfN6+PvFaIiGcd/nTjM99rLT5+Cy0+eYbg+Fcq3bb+Xb8WUdToC+NDWvtxWAdYAm/i+7jIfV8e4F2wyNcMw2x8K8HCTT0LDPS8TDeysTBTdGwwiHFGSyKoYn0roAkb2ng2PlEc6KwyndOgV3NEVxYDTpqm2dGepNaoriyJ4WPLV5X1k1NOxzFQ4pngILq4CFrbNWnZL624JXcrL1oRHKl0DuAuLAqD8NjM6HhjQ0wcNo9MTQ2rb9ZGi0v7FyC94/ksBr7w3y31lwA5hLHmYNTXWWnJwGz7mh0VB2MWtovGVoNFGw9TY0x8I8kNo/ksB+FxqaYiEOv7TK0MwWBmhyHxoLV2ARbyUnV5urw6rLCTB2fMWkE+iNrsc8Q+Ohy4l1NgG540/T0egXa/aeGkcxlAq9hsZ+lhPLNjHPIzfBJdPPzJrcbMowlgM+mNLj+milkQlZiILFTKJ2oaT/myBgN/ogY8hI8QyNjy4l6nIKOPwDVMy2bSGrYBXQPLslF8CwBUEX0IzYBzTV27ad+24afeCjy4lhLDl51Rm48aFRFEV3UnCToSkWrNMJsM7QsMe8e2iMm2HZldAYEZsTaVF9aGRdTsK+a2+M6ga2sivsVFr/3mjvrRsxfS4waTH8bythMHtPB8bLIwz2oqFhAQ27UHET0DH9zOzJTRUKaHLb6OY4FDGut5ZOwVl9wJO7Dbq/CYpLMCCOPjDfx25jj/HrRaOqKvnQBB2tpqu/vZAPjVhTthIGr9+cC2A+ccoMhEMK3t43incO6ueysK6ZtoYIPyG0NUR8ZY3KgZUplp/RBwxjycnuJC2Da2gcOjHYSWHXwTHeElyOgMZNhkYck/D2vtyVudPrAVAxHxrA7Mkjbi8TNrMWdHZf1GHmkciwYdI2o1UQBjPGkxn+npY7QxMJC11OkkBFVVUefE1qYkaIbkpOQoamRd+lVw5Y0BnxIAgGtCyDsS2b7SM7HxqTHUR1LoO+YHGhm5KT5kXjLSAxtnlPpLK+PveVhgIaG7TOHEOGpgCn4FBI4YuzTBiczap4Zst+AMCHF07DSTM7AGhZGmPbsKIo/OdqLTcB1rbmBZWcLLqc3JScslmVP87Jnp3t37/kTe4aoiHT1X8pmC0ENFZdTuKYhLf6hwHIRx8YsS85yY93L9hmaAxjIMQreZa1TFpkaNxkKLgo2CKgEUtO+wVtSbnM59xqaBLpLH+9k/JmhG5E0azVf3aXkKEpo4bGKOh2i2mN8OBDU7ejDwzrKM/QeCwZiR2GjFocf0ABjQ0hCzFWIcZ6gPZBl2VoXt89iIOjSbTEIzhp1iScMbcbgCSg0XmcsICmOstNgEzQ5/1KKh4J6TI6Vl1Obq4sUsKVrlNrKdu/f9kzzH8vR0p7llBysvKhAbTAZ0teQOwlQ1MqUbBdhqa9Mcr3eXtjTBeAJXmGRt+Bxj4zXjI0LXH954EFoaJZXb+QuaiMhsZa7Mxeh6Jo7dduxnowUbCooTk4mixofpwX0j4mbQPufWiMA25lf1OtmWo/GAM9EVOGJuYvQ8MEweIxWYudThTQ2GBlaFSIhgbQTjiyBYaVm95/5GREwyGcMTfXLfP81v1IprPStmHR46RaMfrQ+BHvKYqiKzsZRcF2rchGxCt9xwxNfv++sTsn1C6HIBgApnU08hO/VYYGAGblPWtY2thNhsa+y0n/e7G7nEIhhXv0dDTlfHlihiCfDzc0zOpKeehyMmdo8uMPhJKTWIoZT2V0wshS4VZDwzJNLbGIZvfg8PonUhnsGcxNhp89uRkdjVH+Pw6MlEcj5GfsASCWpY2iYP39diWnII8+kM9y0lcLmE2C1wwNO+4bIiEhy1N7GRpq27bBmOJkGA2fvMIWb3YC2rZvBL/44ztIZbJ44i/9AMADmWOntaGrJYb9I0n8y//8mVvhyzM0VVxysvCh8eoX0RgN85NlIcZ6qbSYoXEX0BwyTIcuNeGQghmdTXh736ilhgbQl6YAd2JMew2Nv5LTodEk7nx+B4YnUrw8J/OhAXL7cM/gBLcZiEVCSGaypgxNnGdo3L+3lqLgBrMo2FiKGRpPcQPCUqH3obHOPImOxxGXGapdea1da0MEk/LBYldLHH1DE+gfnkBve4P2/Ik0frphJ/5m0fSiHtNJrqHxdr1spZFx40Oj3Qbd3wQB2y6nrH4fuc3Q7Bkcx/1/eg8Xvm8mJjXHuCC4IRpGNBzC8ES6JjM0FNDYYJwtwijEKRgQzfVyz/PtR9/C7wSXUkUBls3tyv2PkIIz5vbgf19+Fw+8sps/ZvqkRv7zjEm5K/TetvKcaP1gmtPiMyhsjIWBvKu7qeQUdq+hEb0ynNLTxoxMV5kyNAAwt6cVb+8bRZfNCUcsTQHuSk52vi5+MzQ//+M7uOWJLbrbrPbVjElNePXdQX6CjUVCQEIL8vlVfiS3nay92amDLZXJ8sW5rUGfseSi4Al5hgbIzQljA19LBSsbhR00NKLjMX+cw+tnzQMzO5v4Z667NRfQGF/rfz+5Fd9fvw1b+0fwn393fAGvSI//kpM3Hxrx0A20D43B8kLE5EOTD2hGHYKR257ahp9u3AkFCj5/5hFahiYa5plvytAEDP4BMhxI/CrA56fGOP7gwGhuoTnn2F4c0dOMBYd1YPok7SR1zTnzMGtyExL5OueRPS04oruF3//JxTPRFAvj3AVTfW1POQgZPpR+xXu6kpMpQ2M/uVgk6SEtbuVsWw7+7dxj8P4jJ2PF/CmWjzFlaFwENGy/y06kfkXBTGC7aNYknHp4J6a2N+KU2Z3Sx/7rqqNx6uGdWHlszk3ZWHJKGOZSRVyWE8Vgxdjq3irxoTEFNGXQ0TBhb8RhlhMrjbXEI0Kwbv/6WRZxsmTshvG1PvXXXDb46c39tiafXvFfcsp9d/KhMboCA9r+C2KGhsWFMvsEk1Nw/pgfcwhGtuQbCA7kP7MsoIlHQwW5DVcaCmhssBJj+XG5FTGOP2AHzgXvm4EPHN1jenxPWwP+8eyjLJ+vvTGKS0+b7W9jyoSVD41Xca3Y6VSIsZ4bDxpGJQOamZObcPGS2baP6W1ryJVsHEYfiHjT0LjbVpZROOvoHqz5wJG2j53RqX9d7L1k7dpGF2d+QncIVlmw0hgNm0oeXBRsoaEByjOkkmXFwg4aGs3xOOo6Q8O2X3QM5xPjhde6Z3Acm/fmT2qjSbyxewgLprf7ej1GvHy2RIwBC8+2hNj9ue+y4ZR1O/qA+dB4zNAw4Tg7xtik7YZI2LeXTTVAomAbnHxo/Crpjc6odpOJg4JxsfIbFOozNHJjPVcaGhdznBiTW/TapHKJgt0SCimY1all9Iz7RYadQ61RQ+O25GTVLu0Go67MNPrA5ST14YR5MCVDKgrOX6Gy43CgDK3baWmGxhw1juhKTu5eP2s9FzseZa3bzwhmnQCw/q1+T6/BDr9OwZqbuJOGRl9eEm8Lpg+NTZeT4VzEMzQ2wYgoHGefWa3kFNK8bGrQLZgCGhvYB8jKh8a/hib3d0lDhkbm2REUjII/3yWnmHXJyW1ZAhDHHjh/BOKRsPQEUU2IJnxeMjTFLDlp7dI+AhpDkJ+0Kjk5pItGJHOcGDJRMBt7MDMfEJZjnhMrieamiFtrg8Qhm25LTqxkpsvQSEpOzAbisI5G3e/FgG2jm+NQxNS2beiEtNLYiD8X2oFajXgRBfMMjU0wwoTjgBbcixoaytAEFJbqNC3wBsMnr9RjhiZsJQr20eXEKKjLySA6daJbokmoJsQxCW6yTnaLpPGc6TZDI5uh5BbjZ8Lo4uxW8M23QRJUGUXBqqryk/yRPbnBnuUYfyDP0FiXnHQZGqeSUz5D0y50PBoDmnQmi2fz5p3XrDoaAPDyroGiGQsax1a4xcl804sPTZBGH9iVnMw+NM4Zmh37R/nPLLhPCF1Otayh8XTE3XTTTXjf+96H1tZW9PT04GMf+xg2b96se8yZZ54JRVF0X5/73Od0j9m1axfOO+88NDU1oaenB1dffTXS6eqLBsO8TCK/YvWoeeOIxnqqqtZFhsZoa270mHCL3odGbqxXbA0NoA9iytnl5JZZXVqGxosPjZsMjdtZTiOJAjI0RSo5aWUvc1DVmjfaY4HC0HiaZ0mP7MmJ7MshCk671dDw/Rl17YIt1dAYSk6vvDOA4Yk02hujOG/BVBzR3YxMVsXzW/cX8rI4qay/kpMxYFENawRfQwxzm8S/CWTJyVCuF+E+NCxDE3fO0DD9DKAF98xYryEaErxsqu+c7ISngGb9+vVYs2YNNm7ciMceewypVAorVqzA6Oio7nGXX3459uzZw79uvvlmfl8mk8F5552HZDKJ559/Hj/+8Y9x11134brrrivOKyoiVj40hZac4oKxXjKT5YtUkDM0VqLgYpacnCYXi3jR0ADaSaGtIVJynxI/6DI0HpyCjYNXAYlmzHWGxlq/4gQLTjUfGn3AGRF8aIwXGLJtkAVVLYZZTvtGcjqCtoYIpuQtD8qhocmIGRobf51hoXwWdZmhkmpoDKJgVl5aelQXwnlbCPH2QjGaIrrF6DOTMWRb7Iz12P4L5OgDuy4nVnLKP8ZVhuaAmKExlJwitZ2h8bTyPPzww7rf77rrLvT09GDTpk1YtmwZv72pqQm9vb3S53j00Ufx5ptv4vHHH8eUKVNwwgkn4MYbb8Q111yDr3zlK4jFqsccjus+jNO22YfG52UAz9BksrpI2s48rdaxEvQVUxTsJUPjdd4MOylUY7kJAGZ1ljBD41YUbOHQ64aY8JkAZBka7UBJZ1XLluBhG2GyOJwym1WxbziXzehujfMAoBwamrROQ2P9PoiiYLfTxrmGRqL5GktmMJpI88CFjVU5Y143fvSH7Vj/1j6oqlpwuYbPSPOcobH3qrLS2OhuC2CXk+ZD4ywK5hkam2BEl6HhGpq8kWU0XD8ZGiODg4MAgM5OvdfEPffcg66uLhx33HFYt24dxsa0HbhhwwYsWLAAU6ZovhorV67E0NAQ3njjDen/SSQSGBoa0n2VA0un4ALbtkW9ADtoGqKhQM0fMWL0ocn41CHZZmjY1a6LPmN+FemybshOCtUa0EzraOAnR1cZGhtjPSsRvB2ZrMoXUT8lJ6M3k7ltW3tNmayKl3YcxOnffBKPvtGne55hO1GwsF0jybRujEhHY+5CqnIamtzr3bTzIE7+98cx79qH8HQ+8GiNR1zPsmIlp/ZG7cKwOR7h2d8Tb3wMr76bW7dZQLN4TifikRD2DE5g3pcfxrxrH8IXfvYn36/P/3DK3Hcr11/zaAT9vlBVteC1uRrhx4hNhoYFPSxDk0xnLWd3iRkaFtzrupxqOEPjO6DJZrO46qqr8P73vx/HHXccv/2Tn/wk7r77bjz11FNYt24dfvrTn+JTn/oUv7+vr08XzADgv/f16Rcnxk033YT29nb+NWPGDL+b7QnjB4hRqFOweDVqN/MmSJgFffoPolsq4UMDACfP7kQkpGDJ4V1uN7WsRMIhLD2qCx1NUV3HkxVsv8tHH+S+s/fMjQ+N6O0iCyacMIqCx4UFFtBnaFKZLJ78az/ePTSO3/x5t+55RmxEwQ3RMNc/vbl7SBj02oD2fEajPBoa7araqA16evM+7B9JIJHOQlVzr//Yae3CtHHrNyOTVTGUf/3GQbWnHTEZgLZ/l83t5o7IDdEwPrRwGr8/kc7it3/eLR2e6wYmCvY6+oBlVVRjFjf/NObRCPq/z6rBNNazEvCrqmqqFohZfllAkkhnsHtgXHfbSDKtG31Qy11Ovs+ia9asweuvv47nnntOd/sVV1zBf16wYAGmTp2Ks88+G9u2bcMRRxzh63+tW7cOa9eu5b8PDQ2VJahRDFcMjIJLTkxDk1a1qcQWM2+CglXLZchjSF10HxqXdf5Fsybhta+s1AVU1cYdl74PyUzWlcbH3lhPOyEl01lXomAW0MQiIVc+OEY0UXBuEdb0OFHd9rJtZv9PTJ+L22HVabXsqC786k/v5csrudu6W+JcRFuWtm0mmg2bu5zYSeiixTPx+TOPQEdTDC3xCNf72B3bQ4L+xzio9ocXn4w9QxO8pDTVMN7hP/52Ib60Yi4yWRXLvvUUVDWnx/GTkeRt2x67JqxmOZk1NLnHyZo1gj36QC59EB8Ti4QQDStIZVSMJdOm4+DdQ+PIqjm9ZiqTRSqjYmQirYmCI+H686G58sor8eCDD+Kpp57C9OnTbR+7ePFiAMDWrVsBAL29vdi7d6/uMex3K91NPB5HW1ub7qscaBOi5ZqCwjM0GX7QBD1DUzQfGpu27VJqaABUdTAD5AJst4JlOwE1e4+YBsKNKJgHID479bhTcD4rwAKTtny2J6zL0Kg8E7PjwKjuxMZFwRZZojPm5cos6zfvEzI0cT7YdTiRts2CFAOuoRFnOeVvY5mpntYGTJ/UxMtk7P1K2bRtM0Fzi1CiYoRCCg7raMT0SU04rKPRdDGmKAqmdTRiRmcTn4E16LP85nc4JTsps93PqqFhHtDkfs9YlJwyWS1jEaS2bauSk/jZFd9POy+anfly06zJzTzoH0mkdSWnWs7QeDriVFXFlVdeifvvvx9PPvkk5syZ4/g3r7zyCgBg6tTcnKElS5bgtddeQ3+/5kz52GOPoa2tDfPnz/eyOSXH0oemwLbtWERbnHiGpspPloWiuV0i/11/9eUWu5KTny4nr/NmgkLEpruGnUjcTngGChMEA0KGJv++GE36FEXRZZVYaWV4Is3nF4l/Z7Udpx/ZBUUB3twzhDd257Qk3a1xHjgB+kxHKbDzoZnIZ2gaY/Jg3e690PQz3n2ARDoKLL8VPpxS3glpLEkZd4Wq+i9lVzMhQ6DHEM9LYsBv1+m0Y38uozl7chP/jAxPpPQ+NPE60dCsWbMGd999N+699160trair68PfX19GB/P1eS2bduGG2+8EZs2bcKOHTvwm9/8BpdccgmWLVuGhQsXAgBWrFiB+fPn4+KLL8af//xnPPLII7j22muxZs0axOPVJbh08qEpOEOTzvKDLsgeNIBM0Mdu9/Y8xepySnlwCg4idr4m7D1iwZ6bkpOdGNcNRg3NiMR1WNSRjCS0k62sDdVKmDy5JY4Fh7UDAP7al5tl1N0aRyQc4gt8qVu3dRoaQzs2O4k0Gj2WXDgFD0hatv3Aym9+A5pCh1Na+dBooxFyv8suNP2WsqsZ9lrsRpKIAZydF42YoWkRhrVKMzRB73K6/fbbMTg4iDPPPBNTp07lX7/4xS8AALFYDI8//jhWrFiBo48+Gl/60pewevVq/Pa3v+XPEQ6H8eCDDyIcDmPJkiX41Kc+hUsuuQQ33HBDcV9ZETB+gBiFpjVlbdtBz9CY0sU+y3b2PjTWnTtGWOrerQ9N0NDS+7KSU+47E6y6Kjlxm35/J1NjQDMs0cKInT7ixOydhq6N3N9ZB1asu4fBWvILzUy4RdTQRAzH7LhgQS/ixlhwUNKy7QfmMuw3sPM7nNLZhwb5++UlJ11AE6AMTdhK+iD8LgZwthmaA1qGRhfQpLXjrpa7nDxdTtkZWgHAjBkzsH79esfnmTVrFn7/+997+dcVwfgBYmi9//6eV1y8eYYm8BoavR7Dt7FeBTU0QcJOQK2Jgt1naOxmKLmBfSaYU7DMpE/LKmV1XVUsjQ44i4KBXEDzX09u5b8z4WtHYwzvYNy3dsQtooYmbAhUWEBj9KRyM21bcwkuzMtLy9D42w98OKXnDI2TD42hbC250Cx0LE01YtXllLXK0NhM3GbB/+wuo4Ym70MTEXxokumi+BKVk/pczV1i6RRcoCiYD6dMCxmaOulyYudG3yUnnYbG0OXEfWg8aGhcznIKGrYamvxNLNgriyg4ovfPYAusWDoS3XJHJBkaVVVtnYIZJ8zo4IFSSAE6m3MBQPkyNGLbtv59GLfS0HgoObUXWnJiJoM+MzTM/M9r9tPoQ8NLTiF9hsbOhybIow+Mn0NdyUnU0LCJ24aSUSqTxbuHcvKQ2ZObdbPNZD40qqoZ7tUKwU4LFIiVD02hbdvi6IN6ydAUbfRBkTI0RuO2ekPMdhhhx7sbISrDTanHDjFrKQYrLbIMTUZfcmJp9EQ6y8sddtvBPHt+/1ofJrfE+fO2F6gdcUtKIgo2ZmgsS062GRrzpG0/FK6h0R8/bjGLfvXBidltXP/3ubEY+eeqoayCE5ZdTrwkp89IGTM0b+8bwSvvDGBgLIV0VkVDNISe1rhOFCxO2xbX2NFkuuq7O0WCfRYtECsfmkLdKMXhlOygC/LYA8DaQ8KreI+d4GKCbTzDW5dTfWto3PrQAICLhFfBouC4oCsbEdyzxYCTndTHkhleMgS0DM2B0VyJRFGcLxDOmNuN37/Wh17Bj4VnaEosCmZ6mXDYOkNjKjkJ2SmrMoBsjpMfCtfQ+J3llPvu1ofGLAUovGGjGjEO5WQY29oZYoYmm1Xxt9/fwD8bQC47EwopmoYmoTfWC4UUNMXCGEvmbUVaSvGqSkOwz6IFYqzpMgp2Co5oizdLCzYHvORkXKzYAu61PtvT2oCrlh+FzuaY6W89aWjqvMuJHbvyWU6576zE467k5KxdsUPM0Fg9FzupHzJoOw6NpTA4lsLGbQcAAMdNa3fMnn7sxMPw1t4RnDlPEwgz7cmgT+2IW9JCBkPUMqmqZkFv6nIyGAvK9CnVpqHx37ad+93Kh8ZKFKyqKs9aBLHkZJWhMR7rYoZmz9AEDowmEQ4peP+RXQgrwKdOnQVAGNY6keaGlsyZuykWyc3+qjEvGgpobLD2ocnfX2hAU4cZGqOGxo9fxFXL50pv99blVN8Bjb2GxlBycuUU7KxdsUMTBWcs9Thse9iJtiU/o6h/OIEdB0ZNQxftiEfC+PKH9L5X5cvQaKLgiJCizGRVm7Zt7XHprAqZGXPVaGjYcEqfbdvmAbb6DI1xDWEEd/RB7ruVKNiUoRG6nHbuZ23aTfjJ/zlF9zh2wZBr285naPIHVnM8jP0j9lO7q5H6XM1dYpWhyRSYoWEnUZ2GJuAZGs1YT14fLwa+NDR1Kgq2K8+xw92LsZ6ToZ0T4nBKVnIylq/YyZ8Z6bXEI5idn1v19v4RPLslH9DMcw5oZJRLQ8ON9cIKF7Kz27mGxsJYT/x7I4PF0tAUKI72m/20CljYMmt2Gzd3n/otZVcz4nlGfM2iuFxE9KHR2rTN893YBcNIIm3Sbtm5DVczAXrbi49xQjSjaG3bOh+aYGdo2Gcywxej3O/FvJLyNsuJNDSAVclJf4XtpuRULFFwQldykutIWMmppSGCWZObAAAP/nkPDo2l0NoQwYkzOnxtQ0eB2hG3MCG22OUE6I3MrNq2AesuPs1Yr7CSE5vUbSztuYW3bXuMKoyiX6MexnxRpP/7TFblx2ottRo7IWZgxLXNqrymy9Ac0DI0Rtjn69BYkj8vKznZedlUM/W5mrvE0oemSLOcUmlV6HIKdoZGvPoS2yuLufCQD417NDt1u4CGiYLdZ2ha/BrrCaJgZqpnLF/xktOo5lHDFuonN+dGqZx+ZJfnGUIMXmopsYYmI9HQANB1bjVYmEYCQEpSUs1mVU1DU6SS0/BEmrdge4F9/mIes5/Gtm2j669RY2OePl1YKbtaETUy4mcxa5WhETQ0zEVblqFhny820wwQMjQ2bsPVTH2u5i4xpkAZhToFSzM0dTL6ANAvPMUsOYXZCdiND02di4LtMzTsMV58aIrftm0WBeceMzCuaWhm5Rdq9hl1o5+xgothyzbLKaQ78fKJ5eGQKSgzzrIyMpJM8/et0FlO4t8PTXi/QmclJ68ZGrOxnv52Jx8avVOw582uWsSARYxlM6o8oBG7nNg0elmGhpV0xQ4oVvqlDE0AMaZAGYWWnMS27frJ0Gg/l8qi3J8PTYBWPg+EbcpJ7DYvs5yKJwrOWprjsYWbaWjaGqKmK89lBQQ07YIY1k0Q5xdRQxMKKfyzwYJCK98PcZaVEaafaYiGXE9ctyIaDvF976fTSRMF+zPWc/ahYY/T/33QRx8A+s9ixqJSwDI0I4m0bYaGTVVnzxOPhPg+tnMbrmYooLHBmAJlFKvklMwIXU4Bz9CI2aycRbm85bAQfM1y8uiVERTcaGg0UbD9c4nOvv5FwZpTsJUehwVYYpfTTOHKc+6UFkzraPT1/wEtM6Gq+vJPsWFlHHa8skwGC+SMHU6MqI1IWzPVK0w/w2gvIFvl92LBNHzSoIexGo3AELucgqShERNd4nvP29otMjS7Do5hIpVFOKTgsEnmz4XxgkEMhK3chqud+lzNXWLV5VR423bu78aTGZ6erb8Mjfn2QiENjXvsgj/uQxOSH/8AcO8Lu7DuV68iYxhD4DdDE5f60BgzNIYup4YI2hujfHRBIeWm3DaE+ZDYgRLOc9LatvViVxbIOWdoJAHNeHH0MwxNT2QOaO54bju+/ehmy9l+aZ/DKY3rrbFxwEpjwwhsyUm8GJSKguUZGmYBMH1So/S9MHYRMkGw+ByUoQkQVj40hbZtx8K5BWvEpqshaJg1NMVPDXvrcqrzgMbCWE88Sdl51Xzn8bfwsxffwZ92HdJKJdGwb0GuqCuzEhizAItlaFjAs2jWJIQUYNWCqb7+t8ikfIeQqCsoNlrJKfeaI4aAxqpkFLV5P1iGplD9DEPz5NHvh/FkBv/+uzdxy5Nb8cbuIdPfTaQy2DeSE5m2edwWq4AlbMjQqIaAh5Fr2879bMxa1DLia5GVnEwZGsO5ZJak3ATk1j4xiNFlaGpUQxPss2iBGCdEM9QCrwKM3ifRsBL40odO2Cb6RRQ1Q6OfXGxHvWtorIIV8Vc7HxpmurbjwBjPKPgtNwFaGTaTVfm0a3OGRp+hYNmg//jb47F3aAJzp7T6/v+MrtY43hsYx36h86PYpI0Zmvx7wQK5Jh8amoEijT1gsNKV0Ytm58FRHjSsf2sfjjusXXf/xrcPIJnOYmp7A2ZLhKh2hAwZQSsfGnY8mrtPzWWqIKBYZGg0LafRh0Z//Ni9Dy3xKCZSuWO9QXBrPOe4Xhw1pcUyGKpWgn0WLRDradv5+32ejY3eJ0HPzgDaYgTkrjK0wWoVytCk8xqaes3QWBjriScJq5JTIq2VSnceGOUlJ79znAC9lollR4zPZ8ymMVFje2O0KMEMAHS3xAGAZxmKjaqqpitrFtiImS4ZERszxMEijT1gtFuY6+3YP8Z/Zs7MIqJbs9fPtpVGRpu2rV+PzU7BpSllVwOaB492m9VMQbcZGgBoEz5jYrbmqCmtOOe4qThmapvfTa4I9bmau4RdvBe95GTIxgRdPwMYSk5ZwS+iiCuPP6fg+vwIWLUAZ3UlJ/kJdMQw6ZprXgoQtouT0w+MJKXPZzxWCgmgrOhuzQc0JcrQiPvSrKFhnUoWAQ0fUCnJ0IwVO0MjH3/AjNoA4OWdhzA0ob/fy/gJI5Y+NAq7X19ykvnQFLo2VyuyeU5WPjQN0ZDuAtI2QyN8huIFdsdVA/W5mrvE2oemOG3bjKB3OAH6BaZU4r0wL6M4dzmRKNhKQ6P9zE6gxoBe1H7tPDAqdCX5P5lGwiF+LLCTqNVwSoZfAbIdpQ5oxP2taWhy30dclpzSUlFwceY4MbTxB3oNDbPSB3Kv5fmtB/jv7xwcw9v7RhEOKTjtyC7P/9MYsFj50LgafRCseEbTc7oQBSuKosvS2GVoWnUZGgpoAo2lD02R2rYZ9ZGh0X4WxXsl8aFxY6xX5xoaq/KcvuQkz9CILc3b949a+sZ4xZi5NM9y0r9XhWh2rChrQGPI0DiVnKI2GrFit21zDY1FhqarJXe/WHZiP580s8OXONk4q0lzE2f325ecMiVyIK8GeIZGDGgsMjSAFhQrCjCj09rKQPzMGt2pa5HafwUlxNKHpkCvg5Bhhkt9aGjkPjQV09DU+Swn64BG+1kTDuv/VgxohifSeOfQOIDCAwzje2Ge5WR/fzEotYZGdLE2aWhctm3LAprBIrdtW2lomPPshafMBAA889Y+nhV5poByE6CfnadKLnqMGRrjhaYqaGiC1OUEaDoiXcnJQhQMAM35QGVaeyP3eJIhZkEpQxNwrH1oWDuh/+cWr0aDPmmbITqBlsaHxv10aBp94EJDYyEKHjboJt7YPQigcE1LzLDwGsWN5gxNcU7eIqXP0GjRIbvq5hqaCXdt27L5SgNFmrTNkGloJlIZ7B7MBa8XvG8GYpEQ3hsYx7Z9I0ims3h+W678dMbcHl//U1xvxUOOBzQhvQRAdqEZRB8aQBAF6zI0ue+yLDfL0Mzusu8002VoorW/Ftb+KyghsrolYFbf+0E8kdZDhgbQdymU0ofGk7FeANKsftD2lf7kqAq/WoqCDe6hr72bC2gKEQUDemFwcyxsuvI0zgYqhYamRwhorIzjCkHsTAkZS055UbCjhkZWciqyhmZSM2vb1jQ07x4ag6rm3ufDOhqxeE4nAOCBP+3GQ6/vwUgijcnNMRw7zV9njHbBow+iw241NMK07XoQBduVnNjFgFPbddA0NPVxJvWJsWbLyNpExm6pywxNSAGyql4UXIIuJ2/GesFa+NziRkMTkaS5AXNAM2QxTNIrYkAjey5RFBxSrE/8hdCVLzkl0rmp321FzgIZTfVyP+szNJZt2/m/MWrEMlmVO/p2NBVLQ6OfaxUKKbxle1ZXExRFwRlzu/Hslv3476e28r9bNrfb92da1CyKh6USMt8vfmcEdfQBIJScZD40sgxN/pzi5AUUtICmPi9PXWK8ImAUozUwVpcZmtz3knU5WWQdjGSy2oJZ7xoa49W+ThQclk/btppzVHjJSXsvZM8llpxa4pGSnLQaY2GeaSpF2YkFI+JrYZ5A3CnYIlCLWBzfr703iGQmi9Z4BFPyGaZCYS6/WVXT9rBBh+yq/yMnTMPRva3obI6hszmGGZ2N+NSps3z/T9n6kLtd0X3ns57yDxFLo0EtOYnZKwbP9kmWsI+dcBiO7m3Fivm9ts8runEHQRRcH2dSn7DI15jaLEZrYMyQXq8HxAWp0HlYMuys+kVEp9X61dDkXreaF2hrLq3aY6yyOCygmdregD2DE/z2gkXBYkAjKSeJQUAp9DOM7tY4hhNp7BtO4IjulqI+NwtGxDIBe11MqN7kMUOzfnNOjHv6UV2+R08YaYiG0RgNYzyVweBYCu2NUS4IZlf9Pa0NePiqZUX5f4C+JK3X0OS+G9djbYiqgnQ+8xvE0QeAvMvJThT8sRMPw8dOPMzxeVvJh6Z+sCw5sZNxAR8aXYamDnxoAKPor/hXUm6N9ZIU0FjOhxHfl7Bw5SvCDOCOndauu73gtu2wWHKSBDQO9xeLrhIKg42DKQHzCcmqy8mqpLr+rX4AhQ/nNGKc52TM0BQblmlQBSdxQFs3tLbu/Pf8D6ydXdTmBbbkJNHQFHJR2EIlp/rBqsupGAeSOM+pXjI0os8E24fFbdvOi1gdfGhYhxNQvxoa8YSqv+rLfQ+HFOlVIaBlaBYY5vgUGmTEo/YBS9hQcioVpex0kmpojAGN5eiDfCZHKDkNjCXxyjsDAHL6lWLCvGRYB5WWoSlNQCNeQIprLlsizKMRcreHBQPIoJac5F1O1hkat7RSl1P9YO1Dww4k/89dnxoaccHK3VaJ0QcstR8NK4G7knOLuN/TkjS2oijCVaH+b5l4tbc9zkW0QOFlIF2GJm5+LjH4LMXYA0YpvWjkGhr9Meg0+kAMMJ/buh9ZFZg7pQXTOqwN1PygZWhSSKazePeQvuRUbHQZ3Kz5dt51ytu29fsyNydL/zdBwbbkVMBr1fnQ2PjV1AoU0NgQEj4oIsVoORZLHXXT5cSFbaUVBbvV0NRruQkwlJwy5qu+XMkpd5uVKLglHtWd3IrpFCwLWMIhMYNTWg0NUKoMjbWGhmHVvcV0Tynh/WL6mWKXmwDNLXhwLIn3BsaRVXPZo+4iCY+NiBeQdqJgth4b9TLMkE98rqAgLznp7/MDlZzqCKMVN4NlfAu5uhcX73rM0JR09IFDl1O9z3EC9Fd1eg1N7ntIUfh7Yyo58dlNEZ2eonBRsLagyoIjXYamRktOcg2N/jh01tDkjl9VVYVhkP7M7OzoENyCNf1MU8mymmLAog9o9N+NbdvcULMORh+IS1umKBkaKjnVDdqCrr+9GKm+WB1maPQ+E6XQ0AglLZssDWVocld17AQhBoBi9jEsuSoENFFwS0NEl6ExOvt6Re9DY6+haStlyalaNTRhfTfUX/uG0T+cQGM0jJNnTyr6trYLJaed+3MBTan0M4D+AlLzk9HWCPMsJ63LCajD0QdF0NCIn9kgZGjqIzXgEysfmmKUS+oxQ8NLGCUefQDkPvghyJ88lc7981idCoIZkVAIyUxWWpdXFPGqUF5yao1HMKsrd4JriUcKNkmMOQQ0UeH9LWmGxqWG5qHX9qA5HnEU46qqinte2IVFsybJNTSG49B6lpPeuZllZ5YcMbkkJyNWcnp2yz7+/LMcrPQLIazL4JrL+paiYPFCJqglJ8m5SPOh8f9iwyEFzbEwRpMZytAEHWPNllGMtm2dhqZOAhqdD00JLMrFE4Odjqbexx4wWHwg+pqI/kCyq0JVVbkouLUhirlTcj4tPUXQVejbts0aGV2XUwkzNOy1HBhJWB5HO/aP4vP3vIy///FLptlWRn7/Wh+ufeB1/Nv9r7nS0FhO2zbMcnp55yEAwGlHTHZ6Sb6Y2t4AAHhr7whezY+3mNvTWpL/BWjraTYrv+DhJ/WsqluTdcZ6QR19IOlyKsZMQQCY0pZ7nzubS6ONKif1cSb1SciQ4mQUo21bl6Gpk5JTSFJyKsXoA8C+04lKTjlyGa2s7qpP50MjydBMpLJ837Y0RNDb3oDvXHA85nQVbkAXdzLWE1buUoqCO5tjUJTc5/7gaFIqgn16c877JZnJ4g9bD+Cc46wdWZ/KP3br3pGCupyM7s7MWbhUIt1zjuvFl0fn4+BoLlM1qSmGDx0/tST/C9BnITKSkrS4HouBZkTnQwPT3wUBmZ6tGBkaAPjOBSfg7f0jmNNVunJiuaCAxgYrH5piKOnrMUOjr5GXrssJsPeioYAmh2z8gZihkWlo2ABFRdEcbT9+4vSibI/z6IPylJwi4RAmN8ewfySJfcMJacDAyj3sZ6uARhTuDifSvIxlpaGJRUKWmgh2vLL3azyVAWCd0SmUhmgYl50+pyTPLUPnQ5M1rw8yjQ2gBbrZbB340IglpyJoOQHg+BkdOH5GR0HPUS3U94rugLUPTf7+Aj417GpUUYKhLneDzIemqCUn4bnsOp1YQEMaGvNVn9SHRtiVI7xlu3DNjBExQyMT/YoZmlKKggFtSKVMRzORymDD2wf478+8tc9yMvdf9gzrxMVb+0cA6INvscvJbuAmD0Dzwfp4MpP/m2BcEOmdxPW3iT8bp3GLJafgjz7QbiuGKDho1MeZ1CdWPjTFLDk1x0ozZK8aEX1oSuEXIXbu2Gpo8qJgytDoT5CAXlQpKzmJguBio5/lJJm2XSYNDWDf6fTHHQcxkcqiqyWOWCSE9wbGsW3fiPR5xEwOAP448bWIP9tlW6IGWwKeoYkF4zgWBzDKvL5kAQ9gLDkFs22bxbzF9qEJGsH4JJQISx+aIqT6mMDP7oosaMgyNMVeeNjiRhoaZ2RGhDofGskiOpLQBMHFxtssp9JpaAD7gIaZ2X1gXjcWz+kEADy9eZ/pcYA2Z4kFKiyg0Wdo3AU0YcOxzTI0QWi3BeQaO3F5EDU24poslmMCX3ISNTRFKjkFCU8r+k033YT3ve99aG1tRU9PDz72sY9h8+bNusdMTExgzZo1mDx5MlpaWrB69Wrs3btX95hdu3bhvPPOQ1NTE3p6enD11VcjnU4X/mqKjJMPTUFt2+HcItRcJ4MpAfksp2J/GN24BaeoywkApBoZ5wyN5kFTbJixnqLIA31dhqbEnxvbgIaZ2c3r5g69xkwMkAv+XtqR60T6+Em5ycfvHhoHYJOhsbnAiRi6nFiGJiglJ5lGRgz2rGY9iT40QR19IBMFU8nJjKcVff369VizZg02btyIxx57DKlUCitWrMDo6Ch/zBe/+EX89re/xX333Yf169dj9+7dOP/88/n9mUwG5513HpLJJJ5//nn8+Mc/xl133YXrrruueK+qSIglEpFiZBfYcMp6ytBIr6SKHFO4medEGpocRudZQH9sS0XBgoam2LCSU0tcXoYVT/ylnLYNWHvRvDcwji39IwgpwOlHduHMebmA5oXtB3nGhPH81v1IZ1XM6WrGsqO6AGgZMDHbJNoN2GVojMf2RIlFweVG7yQuKzlpjxUlcqIPTWBHH0gaVDKSfVTveFoVHn74Yd3vd911F3p6erBp0yYsW7YMg4ODuOOOO3DvvffirLPOAgDceeedOOaYY7Bx40aceuqpePTRR/Hmm2/i8ccfx5QpU3DCCSfgxhtvxDXXXIOvfOUriMVixXt1BWLV5aQNpyxAQxPWNDT1guhDU4rRB4B2csjYiIKTfDglZWgACw1NSHAnFYLDEWHsQbFhouA2i3ISuxKPhhWdgLgUaBmaCd3tz+QzMSfM6EBHUwztjVEc1tGI9wbGsXH7AXxgnjaCQBtL0K0bEQH4zdDkS04ZFalMljsGBy2gER1/9T40ctF/RDAcDKqGRtblpGVoKrJJVUlBu2JwcBAA0NmZqyNv2rQJqVQKy5cv5485+uijMXPmTGzYsAEAsGHDBixYsABTpkzhj1m5ciWGhobwxhtvSP9PIpHA0NCQ7qscWPnQyFoKvcKuRuvFgwYo/egDwGWGJk0aGsBKQ6Nd9dmKgktSctIyNDLYicsqg1NMWECz8e2DmHftQ/zr2gdeBwCcmQ9cFEXBsrm57Mt6g46GBTTL5nZhlmFCtVWXk50eRuxKY+UmAGgImChY9JnR+dBY+EyJ07Z5qSpgAY1M/lAsH5og4fuTkM1mcdVVV+H9738/jjvuOABAX18fYrEYOjo6dI+dMmUK+vr6+GPEYIbdz+6TcdNNN6G9vZ1/zZgxw+9me8J69EH+/gIOpOMOa0c0rGDRzEm+n6PWkIn6iv1ZlGUdjJAoOIdRZApAd0KQlZxYhqYUJadjetvQEA1ZziWaPbkZHU1RnDy7s+j/28j8qW1ob8xlihLpLP/KZFXEIyGcu0AzmFs8J+fU++Zu7UJrYCzJ9TKnzJmMplhE56ZslaGxK0Frs5yymMiXt8IhRSemrmVkFzwyp2BAO2YVxWL0QTB2CYe9xRlJySlowVsh+F6V1qxZg9dffx3PPfdcMbdHyrp167B27Vr++9DQUFmCGq1tW397Mdq2T5o5Ca9ev9I2xRw0dD4SJRLvRQzzbmRwDU2kvheCiCRgyQonCtlVIRMFl6LLaObkJvzpyyssfZnam6LYuO7skpebAKCjKYaN687GgVGzKLi9Map7/cxhlU2kBoCdB8YA5MYosOBv9uRm9A+bjfXcdjmJGZqxpKafCUp5RT/agN1mbtsGNOPMkKLoxMSlKmVXGunoAxIFm/AV0Fx55ZV48MEH8cwzz2D6dM0ltLe3F8lkEgMDA7oszd69e9Hb28sf8+KLL+qej3VBsccYicfjiMfLP2dCsdDQFEt4Vk/BDGCVoSlyQMM6QWxnOZGGBhBKThaznGR1+1KKggHnz0Q5W5QbY2FMjzkPY2QTqPuHExhLptEUi/DgRpxOPburCS/uOAjAOkNjX3LKHa8poeQUlJZtQG6cZxXQMA1NSAi8rUpVQUA6+oBEwSY8reiqquLKK6/E/fffjyeffBJz5szR3b9o0SJEo1E88cQT/LbNmzdj165dWLJkCQBgyZIleO2119Df388f89hjj6GtrQ3z588v5LUUHceSEx1InpC1XZaq5OSqbbvOAxqZ3kg8kfA0d5lEwbVKe1MUHU25jA3LzLDvonZGFAZb+dC4KTllstnAmeoBzj404s9i4CJmdgLvQyMx1qMMjYanVWnNmjW499578etf/xqtra1c89Le3o7Gxka0t7fjsssuw9q1a9HZ2Ym2tjZ84QtfwJIlS3DqqacCAFasWIH58+fj4osvxs0334y+vj5ce+21WLNmTUWyMHZYDqekyNgX+gwNu61UomCb0QckCgYg72ISTyRaV1p5RMG1zKzJzRgYG8DOA6M4ZmqblqERBv6J2Ro/TsE8Q5NRtbEH0eC8D1rpSH7RqM/QaIFLSDjZ89EHAVubw5IMDZWczHha0W+//XYMDg7izDPPxNSpU/nXL37xC/6Y73znO/jQhz6E1atXY9myZejt7cWvfvUrfn84HMaDDz6IcDiMJUuW4FOf+hQuueQS3HDDDcV7VUVCjPxFWMmJDiRviG2ZaonEe2EvGhryoQGgD/6chlNqs5xK69Rba8zOZ2J22GZotJ/1PjTaz3YlNzH7yF2CA1S21gcm5jVWXG5FHWNIkvkNXMlJ8lmkC2sznsJ7qwFsIg0NDbj11ltx6623Wj5m1qxZ+P3vf+/lX1cEKw1NJhvMtGap0RasUo4+IA2NW6TeFqIPjeSqUBMFByczUAxYOWlnPjOzU6Kh0QU0PjQ0UcEpWJu0HZxjWD/LKfezfvSBLEOjGDK/wVybxX3DIB8aM7QrbLD0oSnRyTjoiIMjSz76wE3bdp2PPuDBn7CvdD40MlEwa9umgEYHz9DsH8PwRAr7R5IAcp1bjNaGKLpacsahfjQ0YSFYD9rYA0AYtWHRNKDX0GT5bWLmNyNkGIOETBtIGRoz9b2iO8Ai31I4BdcjMtFf6TQ0JAp2QlaeY9Un3eiD/P2qqpIo2AIxQ8PKTZObYybXY/Y4X9O2Bafg8WSwxh4A2gViRlWl5qWK0KKd0rVta/YCpSplVxpplxNpaEwE7G0vLmIboUgxnILrEXF/an4Rxf0fXrqc6l1Dw+I5eZeTebbOaDLD37dW0tDoYBma3YMT2Nw3DAAmd+Dc43IBTVwIRMQTkp0mRsvQZAPatp37rqrW2Qf2O8sqhkOK7sKzVBdKlcauPEwBjQZdZtlgpaGhtm1/6Kfplka8p/nQ2MxySpOGBtC6ZvSLZO67WHJitzNBcDikWJrf1SudzTG0xiMYTqTx3Nb9APT6Gcbly+ZAUYCPHD+N3xYR0glNbjQ0gig4iG3bgLWfTEgBMpD70KiqWjLDzkpjl6EJ2msthOB8GkqAlQ8Nv3qgyNgTsm6E4mdo3Hc51XtAIxsTIZpGhg0nGFEQTPoxPYqiYFZXLiPDBlgaB1ICwNG9bfiPvz0eMzq17I3OKdg2QyOUnAKooZEFNMb1QTGc2BWLLqegneRlHYfkQ2Omvld0B6xEwUEdUV9qpD40Rd6JnjQ0JAoGYPShyX1XFEWnQ8iqqiYILpFLcK3DApgDozlB8OwuZ5dhwIsPjVBySgav5KQIx1vaIvvAdpXoQyMffVDSTS070tEHNMvJRH2v6A5Y+dAEdaJrqdGlhkt0JUUaGveEJMGfmDkTr/wyWVXwoKGARsZsg2ZGlqGRERaOQ9vRB2Ht2NbatoMT0EgzNCFjQKP/fBt9aDIlKmVXGpq27Q4KaGxw8qEJ2oem1Oh9aEqT5SIfGvdoGRrRWM98ogByJwrmEmzs3CFyGAMYY4Bjhetp2xKn4CD60AD6DIz+MYrh/vryoZGLgiuxRdUJ7QobZCUn0VyQapfeEH1oSiXe03xoaPSBE1o2S7tNnFasEwVnVYwkchoa8qCRI4qA2xuj6GiKufo7txoasUQYfA1N1nRb7nf9/YoiXCgJU7qDtjbLZzkFUy9UCPW9ojugtRGaDyLxfsId0tEH5ENTMewyNIpUFEweNHaIGRm32RlA3+XUEHEuOaUy2UCOPhCXAs1nRv8YFryIPjR1MfqAfGhcUd8rugNiiYQh/hy0D02p0S88uduKvQs9zXKK1Pf7x7tmJKLgcEjR1ebFkhNpaOR0t8a5psWtfgbQTkgN0ZCtHiIiHNtjdaKhMbdtGzU0xmaDYJacbH1o6DzEoYDGhpBEQ5OlkpNvxG6EjFqaqwt3GRrS0ABa7V02bZsd+1p3BbhLMJWc5CiKws30vGVocvvYKTiJ6Hxocu+Fneam1rCapq1/jOH+kKLL/AbVh0Y6+oBEwSbqe0V3QIv8tdvEgIaOI28YnWfF24pFOGz+4BtJkIYGgDxDY7QkYFd/GVXrcmqlDI0lx0/vAAAszH93Q297A0IKMLPTPggSxcOjieC1beumaWfkGhruQyPcrxuZEFAfGmmXE3XbmqCVyQYx8meI58mgfWhKjahJ0hxpi/s/3GRoEgG0jfeDkw8NkJ+Jk8kJLkfzWYFmCmgsue7D83HBKTNw4owO138zpa0BD/3TMkxusRcRR4QAfChvchikkpMizdA4+9CEJRqaoM1yks0VzJKGxgStTDawz5IszQdQQOMV2XDKYuuQtNSsdZfTRJoFNAFb9Txim8Y2ZmiyKsbyQtTmAHXWFJvmeAQnzZzk+e/m9bY6PkbM0LDyn11XVC0SUvJ+MlxDY7xf5kOTu09/oRSstdl29AEFNJz6XtEdkGloVCo5+UYRr6RKNODTKUOTyapcQ2PXUVIPyPaVsRTIFsuMqmI0fxJtitf3fqsUYkDDlqEgaWgAs8+MMftgvD/naK3pvEpVyq40dnpOKjlpUEBjg2zatniepFSfN0QRqlqiKyne5ZSRBzQT+XITQCWnkCSbZbzCFS3XKUNTWWTrTdCOYVkGRsSYNTeOPihVKbvS2PrQ0FmcQ7vCBpk7o5jyo7Ztb4iapEp1OYkBTZxmOQGQjz5gh7YoCh4NYGdNLaEoii5LAwRLQwNoJ+d0RpumrbufZWgEUbBu9EFAXdxDsvIwZWhM1PeK7oDMh0Yt0Ym4HtCVnAwnzmLhNMtpIs08aOw9P+oB+cC73HdTySmrYizfWUOi4MohrjvhkIJowOaRyUpK+vuhu18vCg6wD42ky4lEwWYooLFBVrfMBPQDUw6k07bL7BTMMjQNdZ6dAZw0NLnf+ckiC56hCZoQtZYQrQaaouHgZSJMs5oc7g8p0mnbQTvJy7qc+LkoYK+1EGhVt0FTz2u3GdtaCfeU14dG3uU0QS3bnHDY7KpsZayXUUlDUw2IJ+ogjT1gsOUgnZGvD7L7ZaMPgioK1n1W80sclZw0KKCxQaosZ2k+Oog8Uw0+NBOp3CpAAY12DMtGH+h8aACMJdN8MaUup8ohlpiCpp8BxBO31XBK4/3y0QdBW57tRMFBy0YVAgU0NoipTEZQa7TlQBECxFJ5KDjNctJM9ejQj0g1NPKSE5vjBORKHURlEE9eQRRnGzUyVj40srbtIPvQSD2jApqNKgRa1W2Q2U3zDwxFNJ6R7c+ya2jSVHJihKUamtx3oyiYBTTxSEjnWEuUF91k7gAew8bSijH7IG/b1v5G87cK1vpsWy2gcxGHViYbZKMPrPwRCGc0Hxotoin2Z5FfyVj60ORLTnVuqgdoww71dXm9t4WWoclZ7VOHU2WJBLzkpBgyMFYlJ/H+ehh9wAMa3SwnFtBUYouqE9oVNsh8aIxdIIR72IcyJQQbxRZXu+1yilPJSTg5mI312PsSNmRogljmqCVEH5ogdpuFDBkY4/JgLL3Uy+gDfjFIF9e20Kpug+ibwmA/U5rPO4pizgiULENj2eVEomCGfDilXvQeMmZoqMOpooglp2AGNOyix0oUDN39iiLvAAraSV7e5UQlJyMU0Nhgpyyntm3vGAV/uduKnKEJu/ShoYBGKjQ0+dAYMzTU4VRRgl5yMmZojOdq40VRSNF8aNIlvFCqNNJzEYmCTVBAY4Pch4batv1itC0Hin914dTlxEXBZKwn19CY2rb1AQ1laCqLruQUwIDGWUMD3f3hkCKsK8EdSyMbfcB9aIIWvRUAreo22E04pWPIO8arL6D4fhHkQ+MeFvzJZjlxY738+zOULzmRhqayiB1mgSw5CQNsAdnoA2OGRuzWK12zQaUJS0pOpZqHV8tQQGOD3IeG3UcHkVeMV19AKaZtmz/4IuRDoyFbJI2Gh8aSE3U5VZZwwDM0XkcfKBYlp6Cd5O3lDxXZpKqEVnUbZK1yWYqKfVMO8Z7rWU4BPBl4Re5Dozc8NIqCKUNTWXROwQF8L5ycgjUfGtEpuP5EwaIZJskfNCigscHOzIjiGe+wbHkpU8PU5eQepqERF0fjVR9laKqLsNjlFMBj2DiryXjhaNTLiLOc9BqaUm9peTHqOcX2bbq41qCAxgaZDw05BftHMSw8ilIKH5qQ7n8YYaLgOImCpRkao48H+dBUF9E6KTlZlVOMGhvRhybIGRpxSCxgeK10LuLQqm6DzIeGzIz8wz0mSrgPnTQ0VHLSsPOhYWske4/GUzRpuxrQaWgCGFxynxkHp+BU1nxRlNJlfoO1Phu7nMSLbCo5aVBAY4O4eDBtATkF+0e7ksrqfi8mslZkESo5acicglVjl5PhTSIfmsoSDQe75CSbpi2imO5XtExjRszQlHpLywsf75A1Z2io5KRBAY0N4nHCjp+gWmuXA2OtuxSdYrIyisgEdTlxtOBPu83kQ2N4jyhDU1mCn6Exa2T098Nwv3xcQtC6UI0lp2wJB/zWMp5X9WeeeQYf/vCHMW3aNCiKggceeEB3/6c//el8K532dc455+gec/DgQVx00UVoa2tDR0cHLrvsMoyMjBT0QkqB+KFgKT5yZ/SPbFJusZGVUUQm0jSckqHtK3GWk9EpWP83pKGpLJGgdznxxgF7Hxre1i0a61l0RgUBLXOV+51EwXI8BzSjo6M4/vjjceutt1o+5pxzzsGePXv4189+9jPd/RdddBHeeOMNPPbYY3jwwQfxzDPP4IorrvC+9SVGn6HR1y7pIPKObFJusZGZbIkkSEPDkRvr5b5blZyoy6myBN0pWGacp78fhvuVslwoVRqjD00p5+HVMp5Xp1WrVmHVqlW2j4nH4+jt7ZXe95e//AUPP/ww/vjHP+Lkk08GAPzXf/0Xzj33XPzHf/wHpk2b5nWTSoZ4wmXnR2rb9o9mW57bmaUQs0WcRh9QyYkjy2YZNWLGoJMyNJUlEnANjeKQbTHfLw60DO6cvbChu0vMpAbx9fqlJKv6008/jZ6eHsybNw+f//znceDAAX7fhg0b0NHRwYMZAFi+fDlCoRBeeOEF6fMlEgkMDQ3pvspBSFJyIqdg/4QM4r1S7EJnDQ2Jghkhyb5ix7lCGZqqJBJ4DU3ueyajlZRs79eJgkt3oVRptI5bfYaGKgV6ih7QnHPOOfjJT36CJ554At/85jexfv16rFq1CplM7sq4r68PPT09ur+JRCLo7OxEX1+f9DlvuukmtLe3868ZM2YUe7OliJ8LKjkVjqz+XWx41sHBh4YyNNq+ytqVnChDU1VEQgGf5VSE0QdBXJqtupyCqBcqhKJfbn3iE5/gPy9YsAALFy7EEUccgaeffhpnn322r+dct24d1q5dy38fGhoqS1Cjz9Dkvwf4Q1NqzPXxynU5xUkUrNtXqqpCURSzD40xQ0NdThVFJwoOYJZRppHR3R8yriHlWVcqjanLiS6spZT8MvXwww9HV1cXtm7dCgDo7e1Ff3+/7jHpdBoHDx601N3E43G0tbXpvsqBeKyohpJTED80pcaooSm3D42qqlRyEhDLF2x3seYJtlCaMjTkQ1NR2HsWCSk6T5qgwE3yMvI1ImS6X5FkbcqxpeUlxLOpud95ySmIL7YASv6JePfdd3HgwAFMnToVALBkyRIMDAxg06ZN/DFPPvkkstksFi9eXOrN8URYsuBT27Z/+JWUhcdEMbDrckqktduo5KTPvrD9ZdTQiI+JhBTEAngSrSVYQBPE7Awg85Sx0NDoMjSG5whg1oIFLsYMTRBfayF4zh+PjIzwbAsAbN++Ha+88go6OzvR2dmJr371q1i9ejV6e3uxbds2/Mu//AuOPPJIrFy5EgBwzDHH4JxzzsHll1+O73//+0ilUrjyyivxiU98oqo6nAC5D402jbgim1TTsN1ZytEHTGOQVXPlQfEDn0iJAU0wTwheEDM0WvdE7neZD01TLExi+ArDupyCqJ8BnK0dZDo8K6+aIGGcYcX8aKjkpMfzafmll17CiSeeiBNPPBEAsHbtWpx44om47rrrEA6H8eqrr+IjH/kI5s6di8suuwyLFi3Cs88+i3g8zp/jnnvuwdFHH42zzz4b5557Lk4//XT88Ic/LN6rKiLGAZVZytD4xsljohiIH3DRfArQBMHhgKbrvRKWBjSG0QfCcU4dTpWHvWdBD2is1giz54xiOqkHcW0WP4fZrBpovVAheF6hzjzzTJ6lkPHII484PkdnZyfuvfder/+6IoTyQkk+tj2r3U54g7uA5ndiKa72jVkHMRHDPWho0jYAfccMWyBNPjTC/qQOp8oTDQe75GTuWHLI0MhKTgFcmo0XapoouFJbVJ3Q7nDAeMVA6nL/mK6+SnD0hXW6EEOGhgTBOsRDmO0rJj1SKENTlTB356BnaBjGax6ZSNgq6AkS4oVFVlVJFGwBBTQOsOOFl5yobds35Rh9oMvQZIwBDY09EFGEdD2vzdtM26YMTeUJeobGuK46lZNEHxqr5wgCRtf6DImCpVBA4wA7kFjJiZyC/WMMaEpxdSEugMmMvtOJe9BQhxPH6NtjV3IiD5rKw4aqtgQ0W+aUbZF1PTk9JgiIa2VGVfmFNVUK9NDK7oCVKJhSfd4xt2QW/38oioKOpigA4NBYUncfTdo2Y3QLtnMKbgroSbSWWD5/Ci44eQauWHZ4pTelJFi1aVv/bhYFB/EkL5bnM1kqOVlBAY0DbGHnTsHUtu2bcrVXdrfkOur2DSd0t9NgSjPGDI3mQ5O7X5+hoUCw0nQ2x/DNv1mIk2d3VnpTSoJR5Oq0ZtSNKNjY5UQlJym0sjvAHRpNGho6kLxi5fpZbLpbnQIaOjEztInbzFgvd7s0Q0MlJ6LEOJWczG3c9eFDY+pyYj40AXythUABjQPsOGLagoxhwSfc49TBUCysApoEdTmZsNTQhNj92mObaewBUWLcBDAi4ZC5yymIS7MofqYMjTUU0DhgLDkZRZOEe4xlulLVunnJacSQoaFJ2yaMXU5GYz29Dw1laIjSYu5Y8lNyCubiLI4/0ETBldyi6oN2hwPsisC04FNE45myaWicSk4kCuYwc72MKx8a2m9EafHqQ6PUiQ8NAN2kcRIFy6GAxgFjlxM5BfvHKZ1cLKwDmtybF6eSE8dKFKzNcqIMDVE+HH1oJL40ptsCerGpyR/Ih8YKCmgcMPvQUGTsF+M+K5VfhLMomA57hrHkpBo0YmIQSl1ORKlx9qExPr4+upwAoeSUFUpOdB7SQSu7AyYfmhLa9gedci08PKAxamhIFGyCZ2gyFsMpxQwN+dAQJcZ4kWM8XxtP4PUy+gAQSk4qiYKtoNOyA+wDpvnQ6G8n3FNuH5qDo0mkBLdgLgomDQ2HG+uZpsnn7icfGqKcOAl8ZRmbehh9AGgXF1nS0FhCAY0DYYsFnw4k75gWqxKtPJOaYvx9OzCiuQVTycmMWUOTu518aIhK4NWHRpahCerFpq7LiYYkS6GV3QGjD43xCpZwj1nQV7r/09USA6DX0ZAPjRmjsR750BCVxFjKd/KhCSnmi8ugnuT1XU7624gcFNA4YD36gA4kr5TTL0LT0Uzw2yhDYyZk0tDkbmcnjhBlaIgyYtbQ2GdsZMZ6QV2aWeCWzUIQBVdyi6oPWtkdEN0ZAWrbLoRyWpTL5jlpxnqUaWBEhKs+wF4UTBkaotQ4D6PU/64oChSH+U9BgXckCqLgoGaj/EIBjQMhoW4JkFNwIZTTolzWus19aEgUzBEXSUDU0OjvVxQSUxOlx1FDI/OhqZMMDb+4VjVRMF1Y66GAxgErHxoqOXmnnLVueUBDJScjRqdg1ZChYd+bomE65omSIyspibjzoQnmcSp2OZEoWA6t7A6IUTFAJadCcJrTUkxk85xo2rYZow8NC2wUQ4aGPGiIcmBcEtzMdnIKgoKCaKzHMzQBfa1+oYDGAStRMLVte6ecqeHu1gYA8pITBTQajsMp89/Jg4YoB17bthVFVsoO5tqsM9YjHxopFNA4wNoIrYzHCPcYWzJLufDISk4JmrZtwuhDYxx9wETD1OFElAOvxnq5DI39cwQFXZcTlZyk0CrlADuIjD40Qb0KKCXlzdBYi4JJ3KoRMYmC9QH7SbMmYeH0dnz8xMMqsn1EfeHkVWXqlAw5Bz1BQZ+hyd8W0NfqFwpoHFCEqBjQSk8UGXunEj40o8kMRhNpNMcjpKGRwEtO+RXS6EPT2RzDb648vSLbRtQfTuUj2RpSP6MPct/1ouAKblAVQrvDAcvhlAH90JQS89VV6XZicyyMxnzgsn8kgXQmy8sqVHLSiBhKTlRSJSqJsw+NORujGIKaoGbPZaJgurDWQyu7A5oo2LDg04HkmXKmhhVF0ZWdJtLakErK0GiEDKJgo4aGIMqJs++M/PGiODaoQlm2L8iHxhoKaBwwdjlR7dI/5Rbv6QKafLkJAOIROuwZ1hoaOr6J8uPkJm5VghIfZ2w+CArixTWJguUE9K0vHkYfGnIK9k+5xXuiFw0LaOKRUGBT0n4IM2O9jFH0XrFNIuoYp4ses9Gekv9uvi1oaCUnUIbGAgpoHLAcTkkHkmeM6eNS70J9hoY8aGSYNTS52+nKj6gEXn1opBmagK7NLPNEs5ysoYDGAXYQscxMhjQGvjFdbZU6QyMpOZEgWI/RWM84+oAgyomTCNiqJCX+XVDP8brRByQKlkKruwNWomA6kLxT9pKTENAkaNK2FKOxnnE4JUGUE2PA4jj6IMS+14EoWNflpL+NyEEBjQM8oGE+NNS27RvT4lTio29KWy6g2X5glEz1LIiE5AF7UHUIRHXjffSBYnpcUI/dsCDgJx8aObQ7HDD50NCC75tyz1xZNLMTIQV4e98o3t4/CoBKTkaMwykpYCcqiankFDLer39AuJ5KTvzimmY5WUGruwPmklPudio5eaecow8AoL0pihNnTgIAPPpGHwAgTiUnHbxtO5+CJB8aopI4ZWisSlD1IQrWGlQy5IcmhQIaB/joA9blRFewvinn6APGGXO7AQAbth0AQBoaIyGThoZEwUTlcBpjYHVRJGZ7g+tDk/ueUQVRMH1OdQT0rS8eViUnWvC9Y3b9LF9Aw8cekKmeDi1Do89A0uFNVAI307VFFEnJKahyALHLifvQ0JW1DlrdHTA5BVNK3jeVmIq74LB2dDbH+O+UodHDjfWyzJaAFkqicrjNyBh/FyUAQc1a6LqcqNtWiueA5plnnsGHP/xhTJs2DYqi4IEHHtDdr6oqrrvuOkydOhWNjY1Yvnw5tmzZonvMwYMHcdFFF6GtrQ0dHR247LLLMDIyUtALKRVGHxru00GhoGfKPfoAyJ2Ylx7VxX8nUbAeY4aGnLCJSuKUxbUacKvX0JRo4yoMz9BQyckSz6v76Ogojj/+eNx6663S+2+++Wbccsst+P73v48XXngBzc3NWLlyJSYmJvhjLrroIrzxxht47LHH8OCDD+KZZ57BFVdc4f9VlBCuoSGNQcE4DZ4rFazsBFCGxoi1Dw0d30T5cfahkf9eX6MPVK1SENTozScRr3+watUqrFq1Snqfqqr47ne/i2uvvRYf/ehHAQA/+clPMGXKFDzwwAP4xCc+gb/85S94+OGH8cc//hEnn3wyAOC//uu/cO655+I//uM/MG3atAJeTvEJG0tONEPDN8ZdVq5duPQoCmisMDoF0ywnopKY27bdamjqp8tJLwqu5BZVH0XNv2/fvh19fX1Yvnw5v629vR2LFy/Ghg0bAAAbNmxAR0cHD2YAYPny5QiFQnjhhRekz5tIJDA0NKT7KhdmUXDud6pdesfKQ6LUdLfGcdxhbQBIFGxEy9BkoaoqtW0TFcW4Jrj1palbH5qgvlifFHV17+vLeX1MmTJFd/uUKVP4fX19fejp6dHdH4lE0NnZyR9j5KabbkJ7ezv/mjFjRjE32xb2gWELPbVt+6cSomDG35w0HSEFWDi9o2z/sxaI5a1GUxktmAEooCEqg9uuJgY31hNFwQFdnHmGJkvifStq4nJ13bp1GBwc5F/vvPNO2f43+wBlyCm4YCohCmZ8+v1z8PpXV2L5/CnOD64j4nmRdDKd5cc2QAE7URmcytJWRnv1MPpArBaQKFhOUQOa3t5eAMDevXt1t+/du5ff19vbi/7+ft396XQaBw8e5I8xEo/H0dbWpvsqF5YlJzqQPKMoSkXFe00xz5KxwBPPl+AS6Qw/toHgnhSI6sapLG3V1l0XJSehy4kyNHKKGtDMmTMHvb29eOKJJ/htQ0NDeOGFF7BkyRIAwJIlSzAwMIBNmzbxxzz55JPIZrNYvHhxMTenKJhKTtS2XRD1IN6rJeL5YZ0JytAQVYDb2U3Gx9fDuqKftk0ZGhmeL1lHRkawdetW/vv27dvxyiuvoLOzEzNnzsRVV12Ff//3f8dRRx2FOXPm4Mtf/jKmTZuGj33sYwCAY445Bueccw4uv/xyfP/730cqlcKVV16JT3ziE1XX4QRoHxhq2y4OIQXI5H+mSbGVh2doUlmdhiaoOgSiuvGqoWH360YfBPTQlU/bDuiL9YnngOall17CBz7wAf772rVrAQCXXnop7rrrLvzLv/wLRkdHccUVV2BgYACnn346Hn74YTQ0NPC/ueeee3DllVfi7LPPRigUwurVq3HLLbcU4eUUH+Msp0xuhh8FND7J7U/SIVULTEOTKzmJGRp6b4jyY/KhMWVs5L/T6AMC8BHQnHnmmdxNVIaiKLjhhhtwww03WD6ms7MT9957r9d/XRGMGhqVMjQFoa910z6sNFYlJ3priErgOPogJM/YhOuhy4mXnIBs/sKaSk56KOnvQJhraAwlJ9pzvqgHi/JaQhMFZ3WiYAo2iUrgdnaT8fH1UXLKfRdFwVS210O7wwFzyYkyNIVQD+K9WoJnaFIZXeaV3huiEjhlaMwaGvPfBbbklH9dW/qHsX8kAYA+p0aoj9UBnubjJafc7UFNa5Yafdt25baDyKFpaIwZmgptEFHXOM9ykouC6+FCKZ4f2/KHrQdMtxE5KKBxwKih4f3/wfzMlBxxsaGgsPKwklM6qyLFFO8I7lUuUd149qHh07atHxMUPnrCNPxlzxCGJtIAgGntDVg8p7PCW1VdUEDjAPvAGH1oaMH3hxjEBPVKqpZgJScAmEjlGuqDekIgqh9HUbBlySn4F0rTJzXhvz95UqU3o6ohDY0D7HPCfWhIXV4Q9XAlVUvEhGGd4zygoTeGqAxWow2sfpeVnOhis36hgMYB9kHJGp2C6UPjC4UWnqoiHFIQDefeh7EkBTREZTFq7KyM9IyPF7tO6UKpfqGAxgHzLCdq2y4E8qGpPljZaSIf0NDbQlQKJ3FvPYuCCWfotOyA0YeGnIILQ1/rruCGEBwmDKaSE1FpnHyq6tmHhnCGTikOGH1oyCm4MKjWXX2YA5pKbg1Rz4iZb9n6YOVDExYzv3QA1y0U0Dhg9KHJkkNjQShUcqo6mJfFOGloiArjOUMTopIToUGnZQfYB0grOVHbdiHQ6IPqg2VoWNs2HdpEpfCroaGSEwFQQOMIuwJg7drcKZhWfV+QD031YSo50RmBqBDioSdbY619aLTb6GKzfqGAxgHuQ2NyCqYPjR9o9EH1wbqcxpO5qJ2CdaJS6G0dzPcbu0upy4kQoYDGASsfGvrM+KMeHD1rDTbPaZyXnOh9ISqDztZBsj6QDw1hBwU0Dhg1NFkaTlkQ5ENTfRg1NHRoE5WiGD40tDbXLxTQOKBlaNjoAyo5FQKJgqsPreREXU5EZfHrQ0N2EARAAY0jlqMPaM/5gkYfVB/kQ0NUC3qNnXsfGpoRRwAU0Dgijj5QVZUHNnQV6w8qOVUfpKEhqgWvGRpFkqGhdaV+oYDGAd62raq8ZRugD41faPRB9cFnOfG27UpuDVHP6MW99hoaUStDPjQEQAGNI3z0QVYrNwHU2uoX8ouoPnjJiTQ0RIXxIgrWedY4BEJEfUABjQNiySkjBDQK7TlfhMhYr+qg4ZREtaBv2zbfr1jMeqKSEwFQQOOIKAoWS06UofEHdTlVH3yWE40+ICqMVZAiu80q20sl0/qF3noHRB8aNscpdzut+n4gUXD1wX1oqOREVBjnkpPVY7XbqZRdv1BA4wDX0KiqTkNDnxl/OFmbE+WHBTRj1LZNVBh9YCK737nMRAF5/UIBjQNhoeSUFUtOtOr7wmn4HFF+yFiPqBacAhOrWXDkQ0MAFNA4wuqxWVXlLsEALfp+0S1YtPJUBcyHJpHODaeklD1RKayCFO02i6yM8GC6UKpfKKBxIGRRcqJzsT9IFFx9sJITg94XolKEHbogrdYPGn1AABTQOCL60GSESdv0ofGHk7U5UX5YyYlB2UeiUjgFJnrvGavgpiSbRtQAFNA4oB99wG6jT4xfnK7AiPJDGRqiWlB0AYvsfoU/xtKHhg7guoUCGgfYB0VVNadgqtH6R2ddTvuxKmAaGgadEIhK4aZbSZuwrd1Gow8IgAIaR3ROwVmt5ET4w6ktkyg/VHIiqgU3WhhtwrY410n+HER9QQGNA6IPDSs5Ucu2f5ycQInyQyUnolpwo4VxmrBN60r9QgGNA+LoA5ahoQ+Mf5xmtRDlx5ihIbE2USncXPCwNcSqwYDW5/qFTikOsFSmKrRt0+fFP3QlVX2YNDT0thAVwk2GJiTN0Gj307JSv1BA4wCL/DOqyp2CqeTkH/KhqT7MJSd6Y4jK4E5DYxYF04USAVBA4wgvOWW1Lif6wPhHsViEiMpBomCiWnBzwcMeErLyoaGzWt1S9Lf+K1/5St4rQPs6+uij+f0TExNYs2YNJk+ejJaWFqxevRp79+4t9mYUDbHLiQKawqErqeojZsjQ0NtCVAq9D41ThoZGHxB6ShLLHnvssdizZw//eu655/h9X/ziF/Hb3/4W9913H9avX4/du3fj/PPPL8VmFAXRh0YTBVdyi2obMtarPsIhBdEwvS9E5XHnQ6P/bnwsidrrl0hJnjQSQW9vr+n2wcFB3HHHHbj33ntx1llnAQDuvPNOHHPMMdi4cSNOPfXUUmxOQShChoacggvHalouUVnikTBSmTQACtiJymFllqd/jL0omI7f+qUkGZotW7Zg2rRpOPzww3HRRRdh165dAIBNmzYhlUph+fLl/LFHH300Zs6ciQ0bNlg+XyKRwNDQkO6rXMiGU5Io2D9kUV6diMJgCtiJSuFOQ6Povpv/jo7feqXoAc3ixYtx11134eGHH8btt9+O7du3Y+nSpRgeHkZfXx9isRg6Ojp0fzNlyhT09fVZPudNN92E9vZ2/jVjxoxib7YlspITfV78oxsuRzuyahADGkrZE5XCTdOArOREPjQEUIKS06pVq/jPCxcuxOLFizFr1iz88pe/RGNjo6/nXLduHdauXct/HxoaKltQoxcF536mDI1/qG27OolHtU4nel+ISsGGT6qqNx+asBgIUZdT3VLyt76jowNz587F1q1b0dvbi2QyiYGBAd1j9u7dK9XcMOLxONra2nRf5YKVRbIqtW0XA4XEe1UJlZyIaiEkKSnp79d/B4wt3HT81islD2hGRkawbds2TJ06FYsWLUI0GsUTTzzB79+8eTN27dqFJUuWlHpTfME+HJmsiiyVnAqGxHvViS6goStcooKEeQZGfr9MQ0MlJwIoQcnpn//5n/HhD38Ys2bNwu7du3H99dcjHA7jwgsvRHt7Oy677DKsXbsWnZ2daGtrwxe+8AUsWbKkKjucAO1DpYolJ/rA+IbEe9WJaK5HmTOiknDjPKsMTT7g1ltAQPozUV8UPaB59913ceGFF+LAgQPo7u7G6aefjo0bN6K7uxsA8J3vfAehUAirV69GIpHAypUrcdtttxV7M4qGOJySSk6FQz401Yk4z4kCdqKScI2MRWQiy+CQDw0BlCCg+fnPf257f0NDA2699Vbceuutxf7XJUH0oeEBDV0C+EbXxUCljapBr6Gp4IYQdU/IKUMjKTmJQTg1bdQvdEpxQMzQkFNw4VDJqToRS070vhCVRDZ8UkQrSZlvs/s7IvhQQOOA5kNDTsHFwCpNTFQW8qEhqgVHDY3UKZhKTgQFNI6IPjSpTBYApTQLQb/wVHBDCB0xKjkRVQIr6VutD/LhlOL9Jds0osqhgMYB0Ydm98A4AKC3raGSm1TTUHtldUI+NES1IAtYRNjNVq7CdPzWLxTQOMA1NFkVOw6MAQBmdTVVcpNqGt3oA7qUqhp0TsG0KhAVRGacp7/fHPDQhRIBUEDjiFhy2nlgFAAwe3JzBbeotqHRB9UJaWiIakFxyNCwgNtqLhwF5PULvfUOiF1OO1mGZjJlaPxiNVCOqCzUtk1UCzxDY3EgsjXZ2liPDuB6hQIaB9hnI53N4p1DuYCGMjT+YYsUnTSrC2rbJqoF57ZtGn1AyCm6sV7QYB+OVCbXsx2LhEgUXABOgj+iMohOwfTeEJXEaY2QDqckHxoClKFxxPihmtXZRE7BBeDkAkpUBr2GpoIbQtQ95END+IUCGgeMscssKjcVBBf80ZFXVVDJiagWtNEGVvfrHwdoehrqnKxv6LTigDHan02C4IKgklN1QqJgolpwyuIqkoBHNg6BqD8ooHHAGPHP6qIMTSFQyak6IQ0NUS04iYJla4hsYCVRf1BA44DxQ0UZmsJwSicTlUEsOdFJgagk7jU09rcR9QcFNA6YS06UoSkEp8WKqAxUciKqBZYVtwqsefAi8aGhdaW+obZtB8TFPRpWMLWdWrYLgcR71YmYoaH3hqgkmnGexf3cy8rc2VQrAU0mk0Eqlar0ZpSEaDSKcDjs/MASQAGNA+IHZMakJkSsPmWEKyg1XJ2IGhoqORGVxHH0gUQAHA7Vxrqiqir6+vowMDBQ6U0pKR0dHejt7S37WkIBjQPih4pGHhQOW3DopFldUMmJqBac1gi5D03+e5UfvCyY6enpQVNTU+DWQVVVMTY2hv7+fgDA1KlTy/r/KaBxQDzeyIOmcBTK0FQl5ENDVAtuu5xkow+q+djNZDI8mJk8eXKlN6dkNDY2AgD6+/vR09NT1vIT1U8cED8g1OFUOORDU51QhoaoFtz60MjGHVTzscs0M01NwT+PsNdYbp0QBTQOiAJJ8qApHOpGqE5IQ0NUC05Z3Fr3oamFbSyUSr1GCmgcED9U1LJdOFrLZYU3hNARC5OxHlEduNfQaLfx7kk6dusa0tA4oCgK/nbRdAyOpzCrM/ipwlJDPjTVSSQcQiSkIJ1VqzptTwQf52nb5mzMUVNacMqcTiye01n6DSSqFrpOdsG3/vZ4/PCSk6teQV8LhCUeEkR1wHQ09N4QlcTJh4YdnqIcIB4J45efXYIvrZhX6s2ra2699VbMnj0bDQ0NWLx4MV588cVKb5IOCmiIskKjD6qXeDTXjUDvDVFJ/Iw+IErPL37xC6xduxbXX389Xn75ZRx//PFYuXIlb9GuBiigIcoKlZyqF8rQENWAk8CXGgsqw7e//W1cfvnl+MxnPoP58+fj+9//PpqamvCjH/2o0pvGIQ0NUVZ4OpkWo6pDC2gqvCFEXcMaBqy7nGqno8kJVVUxnspU5H83RsOu92EymcSmTZuwbt06flsoFMLy5cuxYcOGUm2iZyigIcoKlZyqF2auR1oxopI4iYKDZM45nspg/nWPVOR/v3nDSjTF3IUA+/fvRyaTwZQpU3S3T5kyBX/9619LsXm+oJITUVYoXVy9MC+aIFz5ErWLHx8aggAoQ0OUGb5YUShddVDJiagG/PjQ1CqN0TDevGFlxf63W7q6uhAOh7F3717d7Xv37kVvb2+xN803FNAQZYWurqoXXnKi94aoII4+NPmLoSBkEhVFcV32qSSxWAyLFi3CE088gY997GMAgGw2iyeeeAJXXnllZTdOoPr3JBEo2hqjue8N0QpvCWGkszkGgN4borK0NeROS22N8tMTOz7ZWkKUh7Vr1+LSSy/FySefjFNOOQXf/e53MTo6is985jOV3jQOBTREWXnf7E7cdP4CnDxrUqU3hTBw9cp5eN+cTpx9TE+lN4WoY760Yh4Wze7E8mOmSO//+6WH47BJjfjYiYeVecvqmwsuuAD79u3Dddddh76+Ppxwwgl4+OGHTULhSqKoqqpWeiO8MjQ0hPb2dgwODqKtra3Sm0MQBEEQtkxMTGD79u2YM2cOGhoaKr05JcXutZby/E3STIIgCIIgah4KaAiCIAiCqHkooCEIgiAIouapaEBT7ZM7CYIgCIKoDSoW0NTC5E6CIAiCIGqDigU0tTC5kyAIgiCKSTabrfQmlJxKvcaK+NB4ndyZSCSQSCT470NDQ2XZToIgCIIoBrFYDKFQCLt370Z3dzdisVgg3I5FVFVFMpnEvn37EAqFEIvFyvr/KxLQeJ3cedNNN+GrX/1quTaPIAiCIIpKKBTCnDlzsGfPHuzevbvSm1NSmpqaMHPmTITKPLSvJpyC161bh7Vr1/Lfh4aGMGPGjApuEUEQBEF4IxaLYebMmUin08hkMpXenJIQDocRiUQqkn2qSEDjdXJnPB5HPB4v1+YRBEEQRElQFAXRaBTRKM2iKjYVEQWLkzsZbHLnkiVLKrFJBEEQBEHUMBUrOdXC5E6CIAiCIGqDigU0tTC5kyAIgiCI2qAmp20PDg6io6MD77zzDk3bJgiCIIgagTX1DAwMoL29vajPXRNdTkaGh4cBgDqdCIIgCKIGGR4eLnpAU5MZmmw2i927d6O1tbXorWEseqTsD+0LI7Q/NGhf6KH9oUH7Qg/tDw22L958803Mmzev6D41NZmhCYVCmD59ekn/R1tbW90ffAzaF3pof2jQvtBD+0OD9oUe2h8ahx12WElM9yo6bZsgCIIgCKIYUEBDEARBEETNQwGNgXg8juuvv56ciUH7wgjtDw3aF3pof2jQvtBD+0Oj1PuiJkXBBEEQBEEQIpShIQiCIAii5qGAhiAIgiCImocCGoIgCIIgah4KaAiCIAiCqHkooCEIgiAIouahgEbg1ltvxezZs9HQ0IDFixfjxRdfrPQmlZybbroJ73vf+9Da2oqenh587GMfw+bNm3WPOfPMM6Eoiu7rc5/7XIW2uLR85StfMb3Wo48+mt8/MTGBNWvWYPLkyWhpacHq1auxd+/eCm5xaZk9e7ZpfyiKgjVr1gAI9rHxzDPP4MMf/jCmTZsGRVHwwAMP6O5XVRXXXXcdpk6disbGRixfvhxbtmzRPebgwYO46KKL0NbWho6ODlx22WUYGRkp46soHnb7I5VK4ZprrsGCBQvQ3NyMadOm4ZJLLsHu3bt1zyE7nr7xjW+U+ZUUjtOx8elPf9r0Os855xzdY+rl2AAgXUMURcG3vvUt/phiHBsU0OT5xS9+gbVr1+L666/Hyy+/jOOPPx4rV65Ef39/pTetpKxfvx5r1qzBxo0b8dhjjyGVSmHFihUYHR3VPe7yyy/Hnj17+NfNN99coS0uPccee6zutT733HP8vi9+8Yv47W9/i/vuuw/r16/H7t27cf7551dwa0vLH//4R92+eOyxxwAAf/u3f8sfE9RjY3R0FMcffzxuvfVW6f0333wzbrnlFnz/+9/HCy+8gObmZqxcuRITExP8MRdddBHeeOMNPPbYY3jwwQfxzDPP4IorrijXSygqdvtjbGwML7/8Mr785S/j5Zdfxq9+9Sts3rwZH/nIR0yPveGGG3THyxe+8IVybH5RcTo2AOCcc87Rvc6f/exnuvvr5dgAoNsPe/bswY9+9CMoioLVq1frHlfwsaESqqqq6imnnKKuWbOG/57JZNRp06apN910UwW3qvz09/erANT169fz28444wz1n/7pnyq3UWXk+uuvV48//njpfQMDA2o0GlXvu+8+fttf/vIXFYC6YcOGMm1hZfmnf/on9YgjjlCz2ayqqvVzbABQ77//fv57NptVe3t71W9961v8toGBATUej6s/+9nPVFVV1TfffFMFoP7xj3/kj3nooYdURVHU9957r2zbXgqM+0PGiy++qAJQd+7cyW+bNWuW+p3vfKe0G1dmZPvi0ksvVT/60Y9a/k29Hxsf/ehH1bPOOkt3WzGODcrQAEgmk9i0aROWL1/ObwuFQli+fDk2bNhQwS0rP4ODgwCAzs5O3e333HMPurq6cNxxx2HdunUYGxurxOaVhS1btmDatGk4/PDDcdFFF2HXrl0AgE2bNiGVSumOk6OPPhozZ86si+MkmUzi7rvvxv/5P/9HN+W+no4Nxvbt29HX16c7Ftrb27F48WJ+LGzYsAEdHR04+eST+WOWL1+OUCiEF154oezbXG4GBwehKAo6Ojp0t3/jG9/A5MmTceKJJ+Jb3/oW0ul0ZTawxDz99NPo6enBvHnz8PnPfx4HDhzg99XzsbF371787ne/w2WXXWa6r9BjoyanbReb/fv3I5PJYMqUKbrbp0yZgr/+9a8V2qryk81mcdVVV+H9738/jjvuOH77Jz/5ScyaNQvTpk3Dq6++imuuuQabN2/Gr371qwpubWlYvHgx7rrrLsybNw979uzBV7/6VSxduhSvv/46+vr6EIvFTAv0lClT0NfXV5kNLiMPPPAABgYG8OlPf5rfVk/Hhgh7v2VrBruvr68PPT09uvsjkQg6OzsDf7xMTEzgmmuuwYUXXqibMP2P//iPOOmkk9DZ2Ynnn38e69atw549e/Dtb3+7gltbfM455xycf/75mDNnDrZt24Z/+7d/w6pVq7BhwwaEw+G6PjZ+/OMfo7W11VSqL8axQQENwVmzZg1ef/11nWYEgK6uu2DBAkydOhVnn302tm3bhiOOOKLcm1lSVq1axX9euHAhFi9ejFmzZuGXv/wlGhsbK7hlleeOO+7AqlWrMG3aNH5bPR0bhDtSqRT+7u/+Dqqq4vbbb9fdt3btWv7zwoULEYvF8NnPfhY33XRToGYdfeITn+A/L1iwAAsXLsQRRxyBp59+GmeffXYFt6zy/OhHP8JFF12EhoYG3e3FODao5ASgq6sL4XDY1K2yd+9e9Pb2VmirysuVV16JBx98EE899RSmT59u+9jFixcDALZu3VqOTasoHR0dmDt3LrZu3Yre3l4kk0kMDAzoHlMPx8nOnTvx+OOP4+///u9tH1cvxwZ7v+3WjN7eXlNTQTqdxsGDBwN7vLBgZufOnXjsscd02RkZixcvRjqdxo4dO8qzgRXi8MMPR1dXF/9c1OOxAQDPPvssNm/e7LiOAP6ODQpoAMRiMSxatAhPPPEEvy2bzeKJJ57AkiVLKrhlpUdVVVx55ZW4//778eSTT2LOnDmOf/PKK68AAKZOnVriras8IyMj2LZtG6ZOnYpFixYhGo3qjpPNmzdj165dgT9O7rzzTvT09OC8886zfVy9HBtz5sxBb2+v7lgYGhrCCy+8wI+FJUuWYGBgAJs2beKPefLJJ5HNZnngFyRYMLNlyxY8/vjjmDx5suPfvPLKKwiFQqbyS9B49913ceDAAf65qLdjg3HHHXdg0aJFOP744x0f6+vYKEhSHCB+/vOfq/F4XL3rrrvUN998U73iiivUjo4Ota+vr9KbVlI+//nPq+3t7erTTz+t7tmzh3+NjY2pqqqqW7duVW+44Qb1pZdeUrdv367++te/Vg8//HB12bJlFd7y0vClL31Jffrpp9Xt27erf/jDH9Tly5erXV1dan9/v6qqqvq5z31OnTlzpvrkk0+qL730krpkyRJ1yZIlFd7q0pLJZNSZM2eq11xzje72oB8bw8PD6p/+9Cf1T3/6kwpA/fa3v63+6U9/4l073/jGN9SOjg7117/+tfrqq6+qH/3oR9U5c+ao4+Pj/DnOOecc9cQTT1RfeOEF9bnnnlOPOuoo9cILL6zUSyoIu/2RTCbVj3zkI+r06dPVV155RbeWJBIJVVVV9fnnn1e/853vqK+88oq6bds29e6771a7u7vVSy65pMKvzDt2+2J4eFj953/+Z3XDhg3q9u3b1ccff1w96aST1KOOOkqdmJjgz1EvxwZjcHBQbWpqUm+//XbT3xfr2KCARuC//uu/1JkzZ6qxWEw95ZRT1I0bN1Z6k0oOAOnXnXfeqaqqqu7atUtdtmyZ2tnZqcbjcfXII49Ur776anVwcLCyG14iLrjgAnXq1KlqLBZTDzvsMPWCCy5Qt27dyu8fHx9X/+Ef/kGdNGmS2tTUpH784x9X9+zZU8EtLj2PPPKICkDdvHmz7vagHxtPPfWU9LNx6aWXqqqaa93+8pe/rE6ZMkWNx+Pq2WefbdpHBw4cUC+88EK1paVFbWtrUz/zmc+ow8PDFXg1hWO3P7Zv3265ljz11FOqqqrqpk2b1MWLF6vt7e1qQ0ODeswxx6hf//rXdSf5WsFuX4yNjakrVqxQu7u71Wg0qs6aNUu9/PLLTRfH9XJsMH7wgx+ojY2N6sDAgOnvi3VsKKqqqu7zOQRBEARBENUHaWgIgiAIgqh5KKAhCIIgCKLmoYCGIAiCIIiahwIagiAIgiBqHgpoCIIgCIKoeSigIQiCIAii5qGAhiAIgiCImocCGoIgCIIgah4KaAiCIAiCqHkooCEIgiAIouahgIYgCIIgiJrn/wf4mYl42I4x1wAAAABJRU5ErkJggg=="
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": "",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGzCAYAAAASZnxRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACdJElEQVR4nO29d5gcV5n2fVfnCT0zGkkTZI1kOck5Y60XJyyBMQYDJhhjFmPAhJXfxXjZzyt2F5Yos+xrzLuAjcGBxSzYLDkZnOUcZBsnLCRbyfIEzUiTp3N9f3SfU6dOV3VXVVd3dVc9v+uaS5ru6p7q6lPnPOd+kqKqqgqCIAiCIAgPCHl9AgRBEARBBBcyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAiCIAiC8AwyRAjCR5x11lk466yzmv49m4X77rsPiqLgvvvu8/pUCCKwkCFCEARBEIRnRLw+AYIg3ONPf/qT16dAEARhCzJECMJHxGIxr0+BIAjCFuSaIYgm49lnn4WiKPj1r3/NH9u8eTMURcGJJ56oO/bcc8/FmjVr+O9yPAeLgbj99tvxla98BcuXL0cikcDatWuxbdu2sr99ww034OCDD0ZbWxtOOeUUPPDAA5bP+84778Rpp52Gnp4edHZ2YvXq1fjsZz9bdi633XYbPvvZz2JgYAAdHR04//zzsXv37rL3e+yxx/DmN78Z3d3daG9vx5lnnomHHnqo7Lg9e/bgwx/+MPr7+xGPx3HUUUfhpptuKjvu1VdfxTve8Q50dHSgr68Pn/70p5FOpy1/PoIg6gMpIgTRZBx99NHo6enBpk2bcP755wMAHnjgAYRCIfz5z3/G9PQ0urq6UCgU8PDDD+NjH/tY1fe8+uqrEQqF8JnPfAZTU1P4j//4D1x88cV47LHH+DE33ngjPv7xj+Nv//ZvccUVV+CVV17B+eefj97eXgwNDVV8/xdeeAFvfetbceyxx+KLX/wi4vE4tm3bZmg4fOUrX4GiKLjqqqswNjaGa6+9FuvWrcMzzzyDtrY2AMA999yDc889FyeddBI+//nPIxQK4eabb8bZZ5+NBx54AKeccgoAYHR0FH/zN38DRVFw+eWXY+nSpfjDH/6Aj3zkI5iensYVV1wBAFhYWMDatWuxa9cu/MM//AOWLVuGH/7wh7jnnnssfScEQdQRlSCIpuO8885TTznlFP77BRdcoF5wwQVqOBxW//CHP6iqqqpPPfWUCkD91a9+xY8788wz1TPPPJP/fu+996oA1COOOEJNp9P88W9+85sqAPW5555TVVVVM5mM2tfXpx5//PG642644QYVgO49jfjGN76hAlD37t1regw7lwMOOECdnp7mj99+++0qAPWb3/ymqqqqWigU1EMPPVQ955xz1EKhwI+bn59XV61apb7xjW/kj33kIx9RBwcH1fHxcd3fet/73qd2d3er8/Pzqqqq6rXXXqsCUG+//XZ+zNzcnHrIIYeoANR777234ucjCKJ+kGuGIJqQ008/HU899RTm5uYAAA8++CDe8pa34Pjjj+fukgceeACKouC0006r+n6XXnqpLn7k9NNPBwC88sorAIAnn3wSY2Nj+MQnPqE77kMf+hC6u7urvn9PTw8A4Fe/+hUKhULFYz/4wQ8imUzy39/97ndjcHAQv//97wEAzzzzDLZu3Yr3v//9mJiYwPj4OMbHxzE3N4e1a9di06ZNKBQKUFUVP/vZz/C2t70Nqqry48bHx3HOOedgamoKTz31FADg97//PQYHB/Hud7+b/9329nZLahJBEPWFXDME0YScfvrpyOVyeOSRRzA0NISxsTGcfvrpeOGFF3SGyJFHHone3t6q77dixQrd74sWLQIA7N+/HwCwc+dOAMChhx6qOy4ajeKggw6q+v4XXnghvv/97+OjH/0o/vmf/xlr167FBRdcgHe/+90IhfT7HflvKIqCQw45BDt27AAAbN26FQBwySWXmP69qakpZLNZTE5O4oYbbsANN9xgeNzY2Bj/fIcccggURdE9v3r16qqfjSCI+kKGCEE0ISeffDISiQQ2bdqEFStWoK+vD4cddhhOP/10fOc730E6ncYDDzyAd77znZbeLxwOGz6uqqor59vW1oZNmzbh3nvvxe9+9zvccccduO2223D22WfjT3/6k+nfN4IpKl//+tdx/PHHGx7T2dmJiYkJAMAHPvABU6Pl2GOPtfdBCIJoOGSIEEQTEovFeNbKihUruCvl9NNPRzqdxo9+9COMjo7ijDPOcOXvrVy5EkBRjTj77LP549lsFtu3b8dxxx1X9T1CoRDWrl2LtWvX4pprrsFXv/pV/Mu//AvuvfderFu3jh/HFA+GqqrYtm0bNxoOPvhgAEBXV5fudTJLly5FMplEPp+veBz7fM8//zxUVdWpIlu2bKn6uQiCqC8UI0IQTcrpp5+Oxx57DPfeey83RJYsWYIjjjgCX/va1/gxbnDyySdj6dKluP7665HJZPjjt9xyCyYnJ6u+ft++fWWPMTVDTpH97//+b8zMzPDf//d//xfDw8M499xzAQAnnXQSDj74YPznf/4nZmdny9537969AIoqz7ve9S787Gc/w/PPP296HAC85S1vwWuvvYb//d//5Y/Nz8+bunQIgmgcpIgQRJNy+umn4ytf+Qp2796tMzjOOOMMfPe738WBBx6I5cuXu/K3otEovvzlL+PjH/84zj77bFx44YXYvn07br75ZksxIl/84hexadMmnHfeeVi5ciXGxsbwne98B8uXLy8Lpu3t7cVpp52GSy+9FKOjo7j22mtxyCGH4LLLLgNQVFa+//3v49xzz8VRRx2FSy+9FAcccAD27NmDe++9F11dXfjNb34DoJiWfO+992LNmjW47LLLcOSRR2Lfvn146qmncNddd3ED6bLLLsO3vvUtfPCDH8TmzZsxODiIH/7wh2hvb3fl+hEEUQOe5uwQBGHK9PS0Gg6H1WQyqeZyOf74rbfeqgJQ/+7v/q7sNWbpuz/96U91x23fvl0FoN588826x7/zne+oq1atUuPxuHryySermzZtKntPI+6++2717W9/u7ps2TI1Foupy5YtUy+66CL1r3/9a9m5/PjHP1Y3bNig9vX1qW1tbep5552n7ty5s+w9n376afWCCy5QFy9erMbjcXXlypXqe9/7XvXuu+/WHTc6OqquX79eHRoaUqPRqDowMKCuXbtWveGGG3TH7dy5Uz3//PPV9vZ2dcmSJeqnPvUp9Y477qD0XYLwGEVVXYpWIwiCqMB9992HN7zhDfjpT3+qS6MlCCLYUIwIQRAEQRCeQYYIQRAEQRCeQYYIQRAEQRCeQTEiBEEQBEF4BikiBEEQBEF4hi1D5MADD4SiKGU/69evr9f5EQRBEAThY2wVNHviiSeQz+f5788//zze+MY34j3veY/l9ygUCnjttdeQTCbLGlARBEEQBNGcqKqKmZkZLFu2rKyZZS3UFCNyxRVX4Le//S22bt1qalSk02ldiec9e/bgyCOPdPonCYIgCILwkN27d7tW1RmoocR7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Cn75y1/qnldVFZ/73OcwODiItrY2rFu3Dlu3btUds2/fPlx88cXo6upCT08PPvKRj2B2draBn8IdKl2LbDaLq666Cscccww6OjqwbNkyfPCDH8Rrr72mew+j8XT11Vc3+JO4Q7Wx8aEPfajss775zW/WHROEsQHAcA5RFAVf//rX+TFujA1fGCK33XYbrrzySnz+85/HU089heOOOw7nnHMOxsbGvD61unL//fdj/fr1ePTRR3HnnXcim83iTW96E+bm5nTHXXbZZRgeHuY///Ef/+HRGdeXo446Svc5H3zwQf7cpz/9afzmN7/BT3/6U9x///147bXXcMEFF3h4tvXliSee0F2LO++8EwDwnve8hx/j53ExNzeH4447Dt/+9rcNn/+P//gP/L//9/9w/fXX47HHHkNHRwfOOeccpFIpfszFF1+MF154AXfeeSd++9vfYtOmTfjYxz7WqI/gGpWuxfz8PJ566in827/9G5566in8/Oc/x5YtW3D++eeXHfvFL35RN17+z//5P404fdepNjYA4M1vfrPus/74xz/WPR+EsQFAdw2Gh4dx0003QVEUvOtd79IdV/PYUH3AKaecoq5fv57/ns/n1WXLlqkbN2708Kwaz9jYmApAvf/++/ljZ555pvqpT33Ku5NqEJ///OfV4447zvC5yclJNRqNqj/96U/5Y3/5y19UAOojjzzSoDP0lk996lPqwQcfrBYKBVVVgzMuVFVVAai/+MUv+O+FQkEdGBhQv/71r/PHJicn1Xg8rv74xz9WVVVVX3zxRRWA+sQTT/Bj/vCHP6iKoqh79uxp2Lm7jXwtjHj88cdVAOrOnTv5YytXrlS/8Y1v1PfkPMDoelxyySXq29/+dtPXBHlsvP3tb1fPPvts3WNujI2WV0QymQw2b96MdevW8cdCoRDWrVuHRx55xMMzazxTU1MAgN7eXt3jP/rRj7BkyRIcffTR2LBhA+bn5704vbqzdetWLFu2DAcddBAuvvhi7Nq1CwCwefNmZLNZ3Rg5/PDDsWLFikCMkUwmg1tvvRUf/vCHdR2vgzIuZLZv346RkRHdeOju7saaNWv4eHjkkUfQ09ODk08+mR+zbt06hEIhPPbYYw0/50YyNTUFRVHQ09Oje/zqq6/G4sWLccIJJ+DrX/86crmcNyfYAO677z709fVh9erV+OQnP4mJiQn+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"
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from matplotlib import pyplot as plt\n",
+ "pd.DataFrame(features[1, 0, :]).plot(title='air temperature')\n",
+ "pd.DataFrame(features[1, 1, :]).plot(title='dew temperature')\n",
+ "pd.DataFrame(features[1, 2, :]).plot(title='wind direction')\n",
+ "pd.DataFrame(features[1, 3, :]).plot(title='wind speed')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Next steps are quite straightforward. We need to fit the model and then predict the values for the test data just like for any other model in sklearn.\n",
+ "\n",
+ "At the `fit` stage FedotIndustrial will transform initial time series data into features dataframe and will train regression model."
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "ExecuteTime": {
+ "start_time": "2023-08-28T10:35:27.965798Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-05 12:28:47,939 - Initialising experiment setup\n",
+ "2024-04-05 12:28:47,945 - Initialising Industrial Repository\n",
+ "2024-04-05 12:28:49,424 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-05 12:28:51,241 - To route to workers diagnostics web server please install jupyter-server-proxy: python -m pip install jupyter-server-proxy\n",
+ "2024-04-05 12:28:51,306 - State start\n",
+ "2024-04-05 12:28:52,549 - Scheduler at: inproc://10.64.4.217/16120/1\n",
+ "2024-04-05 12:28:52,550 - dashboard at: http://10.64.4.217:59060/status\n",
+ "2024-04-05 12:28:52,551 - Registering Worker plugin shuffle\n",
+ "2024-04-05 12:28:53,818 - Start worker at: inproc://10.64.4.217/16120/4\n",
+ "2024-04-05 12:28:53,819 - Listening to: inproc10.64.4.217\n",
+ "2024-04-05 12:28:53,819 - Worker name: 0\n",
+ "2024-04-05 12:28:53,821 - dashboard at: 10.64.4.217:59062\n",
+ "2024-04-05 12:28:53,821 - Waiting to connect to: inproc://10.64.4.217/16120/1\n",
+ "2024-04-05 12:28:53,822 - -------------------------------------------------\n",
+ "2024-04-05 12:28:53,823 - Threads: 8\n",
+ "2024-04-05 12:28:53,823 - Memory: 31.95 GiB\n",
+ "2024-04-05 12:28:53,824 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-z6bcxv2k\n",
+ "2024-04-05 12:28:53,824 - -------------------------------------------------\n",
+ "2024-04-05 12:28:53,847 - Register worker \n",
+ "2024-04-05 12:28:53,849 - Starting worker compute stream, inproc://10.64.4.217/16120/4\n",
+ "2024-04-05 12:28:53,850 - Starting established connection to inproc://10.64.4.217/16120/5\n",
+ "2024-04-05 12:28:53,851 - Starting Worker plugin shuffle\n",
+ "2024-04-05 12:28:53,852 - Registered to: inproc://10.64.4.217/16120/1\n",
+ "2024-04-05 12:28:53,852 - -------------------------------------------------\n",
+ "2024-04-05 12:28:53,853 - Starting established connection to inproc://10.64.4.217/16120/1\n",
+ "2024-04-05 12:28:53,857 - Receive client connection: Client-eb6789f5-f32e-11ee-bef8-b42e99a00ea1\n",
+ "2024-04-05 12:28:53,859 - Starting established connection to inproc://10.64.4.217/16120/6\n",
+ "2024-04-05 12:28:53,860 - LinK Dask Server - http://10.64.4.217:59060/status\n",
+ "2024-04-05 12:28:53,860 - Initialising solver\n",
+ "2024-04-05 12:28:53,963 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-05 12:28:53,964 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-05 12:28:53,968 - SequentialTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-05 12:29:01,932 - SequentialTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {}\n",
+ "quantile_extractor - {} \n",
+ "Initial metric: [1236.897]\n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-05 12:29:01,938 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:29:01,938 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:15<25:22, 15.38s/trial, best loss: 1340.036998880037]2024-04-05 12:29:17,319 - build_posterior_wrapper took 0.001001 seconds\n",
+ "2024-04-05 12:29:17,320 - TPE using 1/1 trials with best loss 1340.036999\n",
+ " 2%|▏ | 2/100 [00:17<12:17, 7.52s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:19,338 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:29:19,339 - TPE using 2/2 trials with best loss 1215.795081\n",
+ " 3%|▎ | 3/100 [00:20<09:05, 5.62s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:22,693 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:29:22,694 - TPE using 3/3 trials with best loss 1215.795081\n",
+ " 4%|▍ | 4/100 [00:24<07:49, 4.89s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:26,470 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:29:26,471 - TPE using 4/4 trials with best loss 1215.795081\n",
+ " 5%|▌ | 5/100 [00:27<06:26, 4.07s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:29,072 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:29:29,073 - TPE using 5/5 trials with best loss 1215.795081\n",
+ " 6%|▌ | 6/100 [00:36<09:19, 5.95s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:38,692 - build_posterior_wrapper took 0.001002 seconds\n",
+ "2024-04-05 12:29:38,693 - TPE using 6/6 trials with best loss 1215.795081\n",
+ " 7%|▋ | 7/100 [00:39<07:43, 4.98s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:41,681 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:29:41,682 - TPE using 7/7 trials with best loss 1215.795081\n",
+ " 8%|▊ | 8/100 [00:49<09:45, 6.36s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:50,983 - build_posterior_wrapper took 0.001969 seconds\n",
+ "2024-04-05 12:29:50,984 - TPE using 8/8 trials with best loss 1215.795081\n",
+ " 9%|▉ | 9/100 [00:54<09:24, 6.20s/trial, best loss: 1215.7950813099355]2024-04-05 12:29:56,843 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:29:56,844 - TPE using 9/9 trials with best loss 1215.795081\n",
+ " 10%|█ | 10/100 [00:58<08:11, 5.46s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:00,633 - build_posterior_wrapper took 0.000965 seconds\n",
+ "2024-04-05 12:30:00,633 - TPE using 10/10 trials with best loss 1215.795081\n",
+ " 11%|█ | 11/100 [01:01<06:52, 4.63s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:03,399 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:03,400 - TPE using 11/11 trials with best loss 1215.795081\n",
+ " 12%|█▏ | 12/100 [01:04<06:00, 4.10s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:06,275 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:06,275 - TPE using 12/12 trials with best loss 1215.795081\n",
+ " 13%|█▎ | 13/100 [01:07<05:37, 3.88s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:09,641 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:30:09,642 - TPE using 13/13 trials with best loss 1215.795081\n",
+ " 14%|█▍ | 14/100 [01:11<05:40, 3.95s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:13,773 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:13,774 - TPE using 14/14 trials with best loss 1215.795081\n",
+ " 15%|█▌ | 15/100 [01:13<04:38, 3.28s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:15,482 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:30:15,482 - TPE using 15/15 trials with best loss 1215.795081\n",
+ " 16%|█▌ | 16/100 [01:15<03:58, 2.84s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:17,290 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:30:17,291 - TPE using 16/16 trials with best loss 1215.795081\n",
+ " 17%|█▋ | 17/100 [01:19<04:31, 3.27s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:21,587 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:30:21,588 - TPE using 17/17 trials with best loss 1215.795081\n",
+ " 18%|█▊ | 18/100 [01:23<04:34, 3.34s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:25,095 - build_posterior_wrapper took 0.001025 seconds\n",
+ "2024-04-05 12:30:25,096 - TPE using 18/18 trials with best loss 1215.795081\n",
+ " 19%|█▉ | 19/100 [01:26<04:37, 3.43s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:28,724 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:28,724 - TPE using 19/19 trials with best loss 1215.795081\n",
+ " 20%|██ | 20/100 [01:33<05:52, 4.40s/trial, best loss: 1215.7950813099355]2024-04-05 12:30:35,394 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:35,395 - TPE using 20/20 trials with best loss 1215.795081\n",
+ " 21%|██ | 21/100 [01:35<04:43, 3.59s/trial, best loss: 1211.9937944469905]2024-04-05 12:30:37,104 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:30:37,104 - TPE using 21/21 trials with best loss 1211.993794\n",
+ " 22%|██▏ | 22/100 [01:36<03:56, 3.03s/trial, best loss: 1208.394176418132] 2024-04-05 12:30:38,825 - build_posterior_wrapper took 0.001024 seconds\n",
+ "2024-04-05 12:30:38,825 - TPE using 22/22 trials with best loss 1208.394176\n",
+ " 23%|██▎ | 23/100 [01:51<08:11, 6.39s/trial, best loss: 1208.394176418132]2024-04-05 12:30:53,043 - build_posterior_wrapper took 0.001001 seconds\n",
+ "2024-04-05 12:30:53,044 - TPE using 23/23 trials with best loss 1208.394176\n",
+ " 24%|██▍ | 24/100 [02:06<11:42, 9.24s/trial, best loss: 1208.394176418132]2024-04-05 12:31:08,927 - build_posterior_wrapper took 0.000961 seconds\n",
+ "2024-04-05 12:31:08,927 - TPE using 24/24 trials with best loss 1208.394176\n",
+ " 25%|██▌ | 25/100 [02:22<13:51, 11.08s/trial, best loss: 1208.394176418132]2024-04-05 12:31:24,306 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:31:24,306 - TPE using 25/25 trials with best loss 1208.394176\n",
+ " 26%|██▌ | 26/100 [02:33<07:15, 5.89s/trial, best loss: 1208.394176418132]\n",
+ " 0%| | 0/100 [00:00, ?trial/s, best loss=?]2024-04-05 12:31:35,016 - build_posterior_wrapper took 0.001027 seconds\n",
+ "2024-04-05 12:31:35,016 - TPE using 0 trials\n",
+ " 1%| | 1/100 [00:01<02:46, 1.68s/trial, best loss: 1488.8422162848592]2024-04-05 12:31:36,696 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:36,697 - TPE using 1/1 trials with best loss 1488.842216\n",
+ " 2%|▏ | 2/100 [00:03<02:45, 1.68s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:38,385 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:38,385 - TPE using 2/2 trials with best loss 1232.656857\n",
+ " 3%|▎ | 3/100 [00:05<02:42, 1.67s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:40,045 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:31:40,046 - TPE using 3/3 trials with best loss 1232.656857\n",
+ " 4%|▍ | 4/100 [00:06<02:39, 1.66s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:41,696 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:41,697 - TPE using 4/4 trials with best loss 1232.656857\n",
+ " 5%|▌ | 5/100 [00:08<02:38, 1.67s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:43,384 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:43,384 - TPE using 5/5 trials with best loss 1232.656857\n",
+ " 6%|▌ | 6/100 [00:10<02:38, 1.68s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:45,084 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:31:45,084 - TPE using 6/6 trials with best loss 1232.656857\n",
+ " 7%|▋ | 7/100 [00:11<02:36, 1.68s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:46,769 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:46,770 - TPE using 7/7 trials with best loss 1232.656857\n",
+ " 8%|▊ | 8/100 [00:13<02:36, 1.70s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:48,506 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:48,507 - TPE using 8/8 trials with best loss 1232.656857\n",
+ " 9%|▉ | 9/100 [00:15<02:35, 1.71s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:50,233 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:50,234 - TPE using 9/9 trials with best loss 1232.656857\n",
+ " 10%|█ | 10/100 [00:16<02:34, 1.72s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:51,975 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:31:51,976 - TPE using 10/10 trials with best loss 1232.656857\n",
+ " 11%|█ | 11/100 [00:18<02:31, 1.70s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:53,647 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:53,648 - TPE using 11/11 trials with best loss 1232.656857\n",
+ " 12%|█▏ | 12/100 [00:20<02:30, 1.71s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:55,364 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:55,364 - TPE using 12/12 trials with best loss 1232.656857\n",
+ " 13%|█▎ | 13/100 [00:22<02:30, 1.73s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:57,141 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:57,142 - TPE using 13/13 trials with best loss 1232.656857\n",
+ " 14%|█▍ | 14/100 [00:23<02:29, 1.74s/trial, best loss: 1232.6568566883327]2024-04-05 12:31:58,912 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:31:58,913 - TPE using 14/14 trials with best loss 1232.656857\n",
+ " 15%|█▌ | 15/100 [00:25<02:31, 1.79s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:00,808 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:00,809 - TPE using 15/15 trials with best loss 1232.656857\n",
+ " 16%|█▌ | 16/100 [00:27<02:32, 1.81s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:02,680 - build_posterior_wrapper took 0.000999 seconds\n",
+ "2024-04-05 12:32:02,680 - TPE using 16/16 trials with best loss 1232.656857\n",
+ " 17%|█▋ | 17/100 [00:29<02:30, 1.81s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:04,485 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:32:04,486 - TPE using 17/17 trials with best loss 1232.656857\n",
+ " 18%|█▊ | 18/100 [00:31<02:28, 1.81s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:06,288 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:06,288 - TPE using 18/18 trials with best loss 1232.656857\n",
+ " 19%|█▉ | 19/100 [00:33<02:25, 1.80s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:08,067 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:08,068 - TPE using 19/19 trials with best loss 1232.656857\n",
+ " 20%|██ | 20/100 [00:34<02:23, 1.79s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:09,834 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:32:09,835 - TPE using 20/20 trials with best loss 1232.656857\n",
+ " 21%|██ | 21/100 [00:36<02:20, 1.78s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:11,586 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:32:11,587 - TPE using 21/21 trials with best loss 1232.656857\n",
+ " 22%|██▏ | 22/100 [00:38<02:21, 1.82s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:13,498 - build_posterior_wrapper took 0.000987 seconds\n",
+ "2024-04-05 12:32:13,499 - TPE using 22/22 trials with best loss 1232.656857\n",
+ " 23%|██▎ | 23/100 [00:40<02:24, 1.87s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:15,505 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:15,506 - TPE using 23/23 trials with best loss 1232.656857\n",
+ " 24%|██▍ | 24/100 [00:42<02:19, 1.83s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:17,229 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:17,230 - TPE using 24/24 trials with best loss 1232.656857\n",
+ " 25%|██▌ | 25/100 [00:43<02:15, 1.81s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:18,991 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:18,992 - TPE using 25/25 trials with best loss 1232.656857\n",
+ " 26%|██▌ | 26/100 [00:46<02:19, 1.88s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:21,048 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:21,049 - TPE using 26/26 trials with best loss 1232.656857\n",
+ " 27%|██▋ | 27/100 [00:47<02:14, 1.84s/trial, best loss: 1232.6568566883327]2024-04-05 12:32:22,777 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:32:22,778 - TPE using 27/27 trials with best loss 1232.656857\n",
+ " 28%|██▊ | 28/100 [00:49<02:12, 1.84s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:24,615 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:24,615 - TPE using 28/28 trials with best loss 1210.842504\n",
+ " 29%|██▉ | 29/100 [00:51<02:10, 1.83s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:26,440 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:26,440 - TPE using 29/29 trials with best loss 1210.842504\n",
+ " 30%|███ | 30/100 [00:53<02:08, 1.83s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:28,268 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:28,269 - TPE using 30/30 trials with best loss 1210.842504\n",
+ " 31%|███ | 31/100 [00:55<02:05, 1.82s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:30,064 - build_posterior_wrapper took 0.000999 seconds\n",
+ "2024-04-05 12:32:30,064 - TPE using 31/31 trials with best loss 1210.842504\n",
+ " 32%|███▏ | 32/100 [00:56<02:02, 1.80s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:31,817 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:31,818 - TPE using 32/32 trials with best loss 1210.842504\n",
+ " 33%|███▎ | 33/100 [00:58<01:59, 1.78s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:33,564 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:33,564 - TPE using 33/33 trials with best loss 1210.842504\n",
+ " 34%|███▍ | 34/100 [01:00<01:56, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:35,293 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:35,294 - TPE using 34/34 trials with best loss 1210.842504\n",
+ " 35%|███▌ | 35/100 [01:02<02:00, 1.85s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:37,350 - build_posterior_wrapper took 0.000970 seconds\n",
+ "2024-04-05 12:32:37,351 - TPE using 35/35 trials with best loss 1210.842504\n",
+ " 36%|███▌ | 36/100 [01:04<01:57, 1.83s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:39,133 - build_posterior_wrapper took 0.000968 seconds\n",
+ "2024-04-05 12:32:39,133 - TPE using 36/36 trials with best loss 1210.842504\n",
+ " 37%|███▋ | 37/100 [01:05<01:54, 1.82s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:40,915 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:40,916 - TPE using 37/37 trials with best loss 1210.842504\n",
+ " 38%|███▊ | 38/100 [01:07<01:51, 1.80s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:42,672 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:42,673 - TPE using 38/38 trials with best loss 1210.842504\n",
+ " 39%|███▉ | 39/100 [01:09<01:49, 1.79s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:44,456 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:44,456 - TPE using 39/39 trials with best loss 1210.842504\n",
+ " 40%|████ | 40/100 [01:11<01:46, 1.78s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:46,189 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:46,190 - TPE using 40/40 trials with best loss 1210.842504\n",
+ " 41%|████ | 41/100 [01:12<01:44, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:47,937 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:47,937 - TPE using 41/41 trials with best loss 1210.842504\n",
+ " 42%|████▏ | 42/100 [01:14<01:42, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:49,727 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:49,728 - TPE using 42/42 trials with best loss 1210.842504\n",
+ " 43%|████▎ | 43/100 [01:16<01:41, 1.78s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:51,533 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:51,534 - TPE using 43/43 trials with best loss 1210.842504\n",
+ " 44%|████▍ | 44/100 [01:18<01:39, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:53,272 - build_posterior_wrapper took 0.000992 seconds\n",
+ "2024-04-05 12:32:53,272 - TPE using 44/44 trials with best loss 1210.842504\n",
+ " 45%|████▌ | 45/100 [01:20<01:37, 1.78s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:55,062 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:32:55,063 - TPE using 45/45 trials with best loss 1210.842504\n",
+ " 46%|████▌ | 46/100 [01:21<01:35, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:56,820 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:56,820 - TPE using 46/46 trials with best loss 1210.842504\n",
+ " 47%|████▋ | 47/100 [01:23<01:33, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:32:58,590 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:32:58,590 - TPE using 47/47 trials with best loss 1210.842504\n",
+ " 48%|████▊ | 48/100 [01:25<01:31, 1.76s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:00,323 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:00,323 - TPE using 48/48 trials with best loss 1210.842504\n",
+ " 49%|████▉ | 49/100 [01:27<01:29, 1.76s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:02,070 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:02,070 - TPE using 49/49 trials with best loss 1210.842504\n",
+ " 50%|█████ | 50/100 [01:28<01:27, 1.74s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:03,787 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:03,788 - TPE using 50/50 trials with best loss 1210.842504\n",
+ " 51%|█████ | 51/100 [01:30<01:25, 1.75s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:05,552 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:05,552 - TPE using 51/51 trials with best loss 1210.842504\n",
+ " 52%|█████▏ | 52/100 [01:32<01:23, 1.75s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:07,290 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:07,290 - TPE using 52/52 trials with best loss 1210.842504\n",
+ " 53%|█████▎ | 53/100 [01:34<01:21, 1.74s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:09,027 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:09,027 - TPE using 53/53 trials with best loss 1210.842504\n",
+ " 54%|█████▍ | 54/100 [01:35<01:19, 1.73s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:10,737 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:33:10,738 - TPE using 54/54 trials with best loss 1210.842504\n",
+ " 55%|█████▌ | 55/100 [01:37<01:18, 1.75s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:12,525 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:33:12,526 - TPE using 55/55 trials with best loss 1210.842504\n",
+ " 56%|█████▌ | 56/100 [01:39<01:16, 1.74s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:14,235 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:14,236 - TPE using 56/56 trials with best loss 1210.842504\n",
+ " 57%|█████▋ | 57/100 [01:40<01:15, 1.75s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:15,999 - build_posterior_wrapper took 0.001026 seconds\n",
+ "2024-04-05 12:33:15,999 - TPE using 57/57 trials with best loss 1210.842504\n",
+ " 58%|█████▊ | 58/100 [01:42<01:12, 1.74s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:17,711 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:17,712 - TPE using 58/58 trials with best loss 1210.842504\n",
+ " 59%|█████▉ | 59/100 [01:44<01:14, 1.81s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:19,684 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:19,685 - TPE using 59/59 trials with best loss 1210.842504\n",
+ " 60%|██████ | 60/100 [01:46<01:11, 1.79s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:21,448 - build_posterior_wrapper took 0.000968 seconds\n",
+ "2024-04-05 12:33:21,448 - TPE using 60/60 trials with best loss 1210.842504\n",
+ " 61%|██████ | 61/100 [01:48<01:09, 1.77s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:23,177 - build_posterior_wrapper took 0.000992 seconds\n",
+ "2024-04-05 12:33:23,178 - TPE using 61/61 trials with best loss 1210.842504\n",
+ " 62%|██████▏ | 62/100 [01:49<01:06, 1.76s/trial, best loss: 1210.8425039763615]2024-04-05 12:33:24,913 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:24,913 - TPE using 62/62 trials with best loss 1210.842504\n",
+ " 63%|██████▎ | 63/100 [01:51<01:04, 1.75s/trial, best loss: 1207.617222498783] 2024-04-05 12:33:26,632 - build_posterior_wrapper took 0.000000 seconds\n",
+ "2024-04-05 12:33:26,633 - TPE using 63/63 trials with best loss 1207.617222\n",
+ " 64%|██████▍ | 64/100 [01:53<01:02, 1.74s/trial, best loss: 1207.617222498783]2024-04-05 12:33:28,340 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:28,341 - TPE using 64/64 trials with best loss 1207.617222\n",
+ " 65%|██████▌ | 65/100 [01:55<01:00, 1.74s/trial, best loss: 1207.617222498783]2024-04-05 12:33:30,080 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:30,080 - TPE using 65/65 trials with best loss 1207.617222\n",
+ " 66%|██████▌ | 66/100 [01:56<00:59, 1.74s/trial, best loss: 1207.617222498783]2024-04-05 12:33:31,830 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:31,831 - TPE using 66/66 trials with best loss 1207.617222\n",
+ " 67%|██████▋ | 67/100 [01:58<00:57, 1.74s/trial, best loss: 1207.538982108422]2024-04-05 12:33:33,574 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:33,574 - TPE using 67/67 trials with best loss 1207.538982\n",
+ " 68%|██████▊ | 68/100 [02:00<00:55, 1.74s/trial, best loss: 1207.538982108422]2024-04-05 12:33:35,308 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:35,309 - TPE using 68/68 trials with best loss 1207.538982\n",
+ " 69%|██████▉ | 69/100 [02:02<00:54, 1.76s/trial, best loss: 1206.069873824481]2024-04-05 12:33:37,122 - build_posterior_wrapper took 0.000993 seconds\n",
+ "2024-04-05 12:33:37,123 - TPE using 69/69 trials with best loss 1206.069874\n",
+ " 70%|███████ | 70/100 [02:03<00:52, 1.75s/trial, best loss: 1206.069873824481]2024-04-05 12:33:38,846 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:38,847 - TPE using 70/70 trials with best loss 1206.069874\n",
+ " 71%|███████ | 71/100 [02:05<00:50, 1.75s/trial, best loss: 1206.069873824481]2024-04-05 12:33:40,597 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:40,598 - TPE using 71/71 trials with best loss 1206.069874\n",
+ " 72%|███████▏ | 72/100 [02:07<00:48, 1.75s/trial, best loss: 1206.069873824481]2024-04-05 12:33:42,330 - build_posterior_wrapper took 0.000969 seconds\n",
+ "2024-04-05 12:33:42,331 - TPE using 72/72 trials with best loss 1206.069874\n",
+ " 73%|███████▎ | 73/100 [02:09<00:47, 1.75s/trial, best loss: 1206.069873824481]2024-04-05 12:33:44,104 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:44,105 - TPE using 73/73 trials with best loss 1206.069874\n",
+ " 74%|███████▍ | 74/100 [02:10<00:46, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:46,017 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:46,018 - TPE using 74/74 trials with best loss 1206.069874\n",
+ " 75%|███████▌ | 75/100 [02:12<00:45, 1.82s/trial, best loss: 1206.069873824481]2024-04-05 12:33:47,872 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:47,872 - TPE using 75/75 trials with best loss 1206.069874\n",
+ " 76%|███████▌ | 76/100 [02:14<00:43, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:49,615 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:49,617 - TPE using 76/76 trials with best loss 1206.069874\n",
+ " 77%|███████▋ | 77/100 [02:16<00:41, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:51,443 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:51,444 - TPE using 77/77 trials with best loss 1206.069874\n",
+ " 78%|███████▊ | 78/100 [02:18<00:39, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:53,226 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:53,227 - TPE using 78/78 trials with best loss 1206.069874\n",
+ " 79%|███████▉ | 79/100 [02:20<00:37, 1.81s/trial, best loss: 1206.069873824481]2024-04-05 12:33:55,052 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:33:55,053 - TPE using 79/79 trials with best loss 1206.069874\n",
+ " 80%|████████ | 80/100 [02:21<00:36, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:56,838 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:33:56,839 - TPE using 80/80 trials with best loss 1206.069874\n",
+ " 81%|████████ | 81/100 [02:23<00:34, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:33:58,624 - build_posterior_wrapper took 0.000992 seconds\n",
+ "2024-04-05 12:33:58,625 - TPE using 81/81 trials with best loss 1206.069874\n",
+ " 82%|████████▏ | 82/100 [02:25<00:32, 1.81s/trial, best loss: 1206.069873824481]2024-04-05 12:34:00,470 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:34:00,470 - TPE using 82/82 trials with best loss 1206.069874\n",
+ " 83%|████████▎ | 83/100 [02:27<00:30, 1.79s/trial, best loss: 1206.069873824481]2024-04-05 12:34:02,204 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:34:02,205 - TPE using 83/83 trials with best loss 1206.069874\n",
+ " 84%|████████▍ | 84/100 [02:29<00:28, 1.80s/trial, best loss: 1206.069873824481]2024-04-05 12:34:04,032 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:34:04,032 - TPE using 84/84 trials with best loss 1206.069874\n",
+ " 85%|████████▌ | 85/100 [02:30<00:26, 1.77s/trial, best loss: 1206.069873824481]\n",
+ "2024-04-05 12:34:05,786 - SequentialTuner - Hyperparameters optimization finished\n",
+ "2024-04-05 12:34:07,550 - SequentialTuner - Return tuned graph due to the fact that obtained metric 1200.789 equal or better than initial (+ 0.05% deviation) 1236.279\n",
+ "2024-04-05 12:34:07,551 - SequentialTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.8830326407951724, 'min_samples_leaf': 4, 'min_samples_split': 7}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 0}\n",
+ "2024-04-05 12:34:07,551 - SequentialTuner - Final metric: 1200.789\n",
+ "2024-04-05 12:34:09,430 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-05 12:34:09,431 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-05 12:34:09,435 - SimultaneousTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-05 12:34:11,206 - SimultaneousTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.8830326407951724, 'min_samples_leaf': 4, 'min_samples_split': 7}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 0} \n",
+ "Initial metric: [1207.122]\n",
+ " 0%| | 0/1 [00:00, ?trial/s, best loss=?]2024-04-05 12:34:11,213 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:34:11,214 - TPE using 0 trials\n",
+ "100%|██████████| 1/1 [00:01<00:00, 1.72s/trial, best loss: 1204.9098387167567]\n",
+ " 0%| | 1/200 [00:00, ?trial/s, best loss=?]2024-04-05 12:34:12,935 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:34:12,936 - TPE using 1/1 trials with best loss 1204.909839\n",
+ " 1%| | 2/200 [00:03<10:45, 3.26s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:16,198 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:34:16,199 - TPE using 2/2 trials with best loss 1204.909839\n",
+ " 2%|▏ | 3/200 [00:07<13:12, 4.02s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:20,753 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:34:20,753 - TPE using 3/3 trials with best loss 1204.909839\n",
+ " 2%|▏ | 4/200 [00:14<17:30, 5.36s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:27,709 - build_posterior_wrapper took 0.001967 seconds\n",
+ "2024-04-05 12:34:27,710 - TPE using 4/4 trials with best loss 1204.909839\n",
+ " 2%|▎ | 5/200 [00:17<14:26, 4.44s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:30,740 - build_posterior_wrapper took 0.001997 seconds\n",
+ "2024-04-05 12:34:30,740 - TPE using 5/5 trials with best loss 1204.909839\n",
+ " 3%|▎ | 6/200 [00:21<13:56, 4.31s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:34,828 - build_posterior_wrapper took 0.000998 seconds\n",
+ "2024-04-05 12:34:34,828 - TPE using 6/6 trials with best loss 1204.909839\n",
+ " 4%|▎ | 7/200 [00:25<12:43, 3.96s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:38,088 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:34:38,089 - TPE using 7/7 trials with best loss 1204.909839\n",
+ " 4%|▍ | 8/200 [00:26<10:21, 3.24s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:39,851 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:34:39,852 - TPE using 8/8 trials with best loss 1204.909839\n",
+ " 4%|▍ | 9/200 [00:29<09:43, 3.06s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:42,516 - build_posterior_wrapper took 0.001016 seconds\n",
+ "2024-04-05 12:34:42,517 - TPE using 9/9 trials with best loss 1204.909839\n",
+ " 5%|▌ | 10/200 [00:33<10:45, 3.40s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:46,668 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:34:46,668 - TPE using 10/10 trials with best loss 1204.909839\n",
+ " 6%|▌ | 11/200 [00:42<15:31, 4.93s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:55,030 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:34:55,030 - TPE using 11/11 trials with best loss 1204.909839\n",
+ " 6%|▌ | 12/200 [00:44<13:09, 4.20s/trial, best loss: 1204.9098387167567]2024-04-05 12:34:57,575 - build_posterior_wrapper took 0.001957 seconds\n",
+ "2024-04-05 12:34:57,575 - TPE using 12/12 trials with best loss 1204.909839\n",
+ " 6%|▋ | 13/200 [00:48<12:43, 4.08s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:01,390 - build_posterior_wrapper took 0.001033 seconds\n",
+ "2024-04-05 12:35:01,391 - TPE using 13/13 trials with best loss 1204.909839\n",
+ " 7%|▋ | 14/200 [00:52<12:12, 3.94s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:04,989 - build_posterior_wrapper took 0.002024 seconds\n",
+ "2024-04-05 12:35:04,990 - TPE using 14/14 trials with best loss 1204.909839\n",
+ " 8%|▊ | 15/200 [00:53<10:05, 3.27s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:06,723 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:06,723 - TPE using 15/15 trials with best loss 1204.909839\n",
+ " 8%|▊ | 16/200 [00:57<10:08, 3.30s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:10,105 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:10,105 - TPE using 16/16 trials with best loss 1204.909839\n",
+ " 8%|▊ | 17/200 [01:00<10:07, 3.32s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:13,465 - build_posterior_wrapper took 0.001967 seconds\n",
+ "2024-04-05 12:35:13,465 - TPE using 17/17 trials with best loss 1204.909839\n",
+ " 9%|▉ | 18/200 [01:03<10:06, 3.34s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:16,832 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:35:16,832 - TPE using 18/18 trials with best loss 1204.909839\n",
+ " 10%|▉ | 19/200 [01:09<12:23, 4.11s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:22,735 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:22,736 - TPE using 19/19 trials with best loss 1204.909839\n",
+ " 10%|█ | 20/200 [01:18<16:03, 5.35s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:30,994 - build_posterior_wrapper took 0.002024 seconds\n",
+ "2024-04-05 12:35:30,995 - TPE using 20/20 trials with best loss 1204.909839\n",
+ " 10%|█ | 21/200 [01:20<13:39, 4.58s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:33,761 - build_posterior_wrapper took 0.002993 seconds\n",
+ "2024-04-05 12:35:33,762 - TPE using 21/21 trials with best loss 1204.909839\n",
+ " 11%|█ | 22/200 [01:23<11:58, 4.04s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:36,536 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:36,537 - TPE using 22/22 trials with best loss 1204.909839\n",
+ " 12%|█▏ | 23/200 [01:26<11:15, 3.82s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:39,843 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:39,844 - TPE using 23/23 trials with best loss 1204.909839\n",
+ " 12%|█▏ | 24/200 [01:29<10:24, 3.55s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:42,758 - build_posterior_wrapper took 0.001968 seconds\n",
+ "2024-04-05 12:35:42,758 - TPE using 24/24 trials with best loss 1204.909839\n",
+ " 12%|█▎ | 25/200 [01:32<09:47, 3.36s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:45,681 - build_posterior_wrapper took 0.002993 seconds\n",
+ "2024-04-05 12:35:45,681 - TPE using 25/25 trials with best loss 1204.909839\n",
+ " 13%|█▎ | 26/200 [01:35<09:15, 3.19s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:48,476 - build_posterior_wrapper took 0.001679 seconds\n",
+ "2024-04-05 12:35:48,477 - TPE using 26/26 trials with best loss 1204.909839\n",
+ " 14%|█▎ | 27/200 [01:38<08:48, 3.06s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:51,222 - build_posterior_wrapper took 0.001993 seconds\n",
+ "2024-04-05 12:35:51,222 - TPE using 27/27 trials with best loss 1204.909839\n",
+ " 14%|█▍ | 28/200 [01:44<11:09, 3.89s/trial, best loss: 1204.9098387167567]2024-04-05 12:35:57,069 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:35:57,070 - TPE using 28/28 trials with best loss 1204.909839\n",
+ " 14%|█▍ | 29/200 [01:58<19:43, 6.92s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:11,054 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:36:11,057 - TPE using 29/29 trials with best loss 1204.909839\n",
+ " 15%|█▌ | 30/200 [02:00<16:10, 5.71s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:13,933 - build_posterior_wrapper took 0.002029 seconds\n",
+ "2024-04-05 12:36:13,934 - TPE using 30/30 trials with best loss 1204.909839\n",
+ " 16%|█▌ | 31/200 [02:05<15:03, 5.35s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:18,430 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:36:18,431 - TPE using 31/31 trials with best loss 1204.909839\n",
+ " 16%|█▌ | 32/200 [02:08<12:59, 4.64s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:21,432 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:36:21,432 - TPE using 32/32 trials with best loss 1204.909839\n",
+ " 16%|█▋ | 33/200 [02:11<11:25, 4.10s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:24,278 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:36:24,279 - TPE using 33/33 trials with best loss 1204.909839\n",
+ " 17%|█▋ | 34/200 [02:14<10:23, 3.76s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:27,234 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:36:27,235 - TPE using 34/34 trials with best loss 1204.909839\n",
+ " 18%|█▊ | 35/200 [02:29<20:01, 7.28s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:42,735 - build_posterior_wrapper took 0.001987 seconds\n",
+ "2024-04-05 12:36:42,736 - TPE using 35/35 trials with best loss 1204.909839\n",
+ " 18%|█▊ | 36/200 [02:33<16:59, 6.22s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:46,463 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:36:46,464 - TPE using 36/36 trials with best loss 1204.909839\n",
+ " 18%|█▊ | 37/200 [02:39<16:42, 6.15s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:52,453 - build_posterior_wrapper took 0.001015 seconds\n",
+ "2024-04-05 12:36:52,454 - TPE using 37/37 trials with best loss 1204.909839\n",
+ " 19%|█▉ | 38/200 [02:43<14:39, 5.43s/trial, best loss: 1204.9098387167567]2024-04-05 12:36:56,212 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:36:56,213 - TPE using 38/38 trials with best loss 1204.909839\n",
+ " 20%|█▉ | 39/200 [02:47<13:24, 5.00s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:00,204 - build_posterior_wrapper took 0.001991 seconds\n",
+ "2024-04-05 12:37:00,205 - TPE using 39/39 trials with best loss 1204.909839\n",
+ " 20%|██ | 40/200 [02:55<16:02, 6.01s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:08,582 - build_posterior_wrapper took 0.001996 seconds\n",
+ "2024-04-05 12:37:08,583 - TPE using 40/40 trials with best loss 1204.909839\n",
+ " 20%|██ | 41/200 [02:58<13:41, 5.17s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:11,774 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:37:11,775 - TPE using 41/41 trials with best loss 1204.909839\n",
+ " 21%|██ | 42/200 [03:02<12:03, 4.58s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:14,977 - build_posterior_wrapper took 0.002361 seconds\n",
+ "2024-04-05 12:37:14,978 - TPE using 42/42 trials with best loss 1204.909839\n",
+ " 22%|██▏ | 43/200 [03:15<18:44, 7.16s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:28,176 - build_posterior_wrapper took 0.001935 seconds\n",
+ "2024-04-05 12:37:28,177 - TPE using 43/43 trials with best loss 1204.909839\n",
+ " 22%|██▏ | 44/200 [03:18<15:19, 5.90s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:31,111 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:37:31,112 - TPE using 44/44 trials with best loss 1204.909839\n",
+ " 22%|██▎ | 45/200 [03:21<13:24, 5.19s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:34,652 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:37:34,653 - TPE using 45/45 trials with best loss 1204.909839\n",
+ " 23%|██▎ | 46/200 [03:23<10:54, 4.25s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:36,700 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:37:36,701 - TPE using 46/46 trials with best loss 1204.909839\n",
+ " 24%|██▎ | 47/200 [03:25<08:55, 3.50s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:38,462 - build_posterior_wrapper took 0.002002 seconds\n",
+ "2024-04-05 12:37:38,463 - TPE using 47/47 trials with best loss 1204.909839\n",
+ " 24%|██▍ | 48/200 [03:29<08:55, 3.52s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:42,031 - build_posterior_wrapper took 0.001966 seconds\n",
+ "2024-04-05 12:37:42,032 - TPE using 48/48 trials with best loss 1204.909839\n",
+ " 24%|██▍ | 49/200 [03:30<07:33, 3.00s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:43,818 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:37:43,819 - TPE using 49/49 trials with best loss 1204.909839\n",
+ " 25%|██▌ | 50/200 [03:32<06:35, 2.64s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:45,600 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:37:45,601 - TPE using 50/50 trials with best loss 1204.909839\n",
+ " 26%|██▌ | 51/200 [03:36<07:41, 3.10s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:49,780 - build_posterior_wrapper took 0.001993 seconds\n",
+ "2024-04-05 12:37:49,781 - TPE using 51/51 trials with best loss 1204.909839\n",
+ " 26%|██▌ | 52/200 [03:45<11:33, 4.68s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:58,165 - build_posterior_wrapper took 0.002023 seconds\n",
+ "2024-04-05 12:37:58,166 - TPE using 52/52 trials with best loss 1204.909839\n",
+ " 26%|██▋ | 53/200 [03:47<09:20, 3.81s/trial, best loss: 1204.9098387167567]2024-04-05 12:37:59,942 - build_posterior_wrapper took 0.001994 seconds\n",
+ "2024-04-05 12:37:59,943 - TPE using 53/53 trials with best loss 1204.909839\n",
+ " 27%|██▋ | 54/200 [03:51<09:40, 3.98s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:04,310 - build_posterior_wrapper took 0.001972 seconds\n",
+ "2024-04-05 12:38:04,311 - TPE using 54/54 trials with best loss 1204.909839\n",
+ " 28%|██▊ | 55/200 [03:57<10:59, 4.55s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:10,197 - build_posterior_wrapper took 0.002991 seconds\n",
+ "2024-04-05 12:38:10,198 - TPE using 55/55 trials with best loss 1204.909839\n",
+ " 28%|██▊ | 56/200 [04:00<09:46, 4.08s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:13,163 - build_posterior_wrapper took 0.000997 seconds\n",
+ "2024-04-05 12:38:13,164 - TPE using 56/56 trials with best loss 1204.909839\n",
+ " 28%|██▊ | 57/200 [04:04<09:48, 4.12s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:17,375 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:38:17,376 - TPE using 57/57 trials with best loss 1204.909839\n",
+ " 29%|██▉ | 58/200 [04:08<09:30, 4.02s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:21,165 - build_posterior_wrapper took 0.001992 seconds\n",
+ "2024-04-05 12:38:21,166 - TPE using 58/58 trials with best loss 1204.909839\n",
+ " 30%|██▉ | 59/200 [04:14<10:58, 4.67s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:27,347 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:38:27,350 - TPE using 59/59 trials with best loss 1204.909839\n",
+ " 30%|███ | 60/200 [04:26<15:55, 6.83s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:39,217 - build_posterior_wrapper took 0.001999 seconds\n",
+ "2024-04-05 12:38:39,218 - TPE using 60/60 trials with best loss 1204.909839\n",
+ " 30%|███ | 61/200 [04:29<13:17, 5.73s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:42,397 - build_posterior_wrapper took 0.001007 seconds\n",
+ "2024-04-05 12:38:42,398 - TPE using 61/61 trials with best loss 1204.909839\n",
+ " 31%|███ | 62/200 [04:34<12:44, 5.54s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:47,483 - build_posterior_wrapper took 0.001988 seconds\n",
+ "2024-04-05 12:38:47,484 - TPE using 62/62 trials with best loss 1204.909839\n",
+ " 32%|███▏ | 63/200 [04:40<12:40, 5.55s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:53,064 - build_posterior_wrapper took 0.002965 seconds\n",
+ "2024-04-05 12:38:53,065 - TPE using 63/63 trials with best loss 1204.909839\n",
+ " 32%|███▏ | 64/200 [04:41<10:02, 4.43s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:54,866 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:38:54,867 - TPE using 64/64 trials with best loss 1204.909839\n",
+ " 32%|███▎ | 65/200 [04:44<08:59, 4.00s/trial, best loss: 1204.9098387167567]2024-04-05 12:38:57,855 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:38:57,856 - TPE using 65/65 trials with best loss 1204.909839\n",
+ " 33%|███▎ | 66/200 [04:47<08:05, 3.63s/trial, best loss: 1204.9098387167567]2024-04-05 12:39:00,619 - build_posterior_wrapper took 0.001997 seconds\n",
+ "2024-04-05 12:39:00,620 - TPE using 66/66 trials with best loss 1204.909839\n",
+ " 34%|███▎ | 67/200 [04:50<07:27, 3.37s/trial, best loss: 1204.9098387167567]2024-04-05 12:39:03,375 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:39:03,376 - TPE using 67/67 trials with best loss 1204.909839\n",
+ " 34%|███▍ | 68/200 [04:53<07:19, 3.33s/trial, best loss: 1204.9098387167567]2024-04-05 12:39:06,635 - build_posterior_wrapper took 0.001995 seconds\n",
+ "2024-04-05 12:39:06,636 - TPE using 68/68 trials with best loss 1204.909839\n",
+ " 34%|███▍ | 69/200 [04:56<09:31, 4.36s/trial, best loss: 1204.9098387167567]\n",
+ "2024-04-05 12:39:09,367 - SimultaneousTuner - Hyperparameters optimization finished\n",
+ "2024-04-05 12:39:11,393 - SimultaneousTuner - Return init graph due to the fact that obtained metric 1211.353 worse than initial (+ 0.05% deviation) 1206.518\n",
+ "2024-04-05 12:39:11,394 - SimultaneousTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.8830326407951724, 'min_samples_leaf': 4, 'min_samples_split': 7}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 0}\n",
+ "2024-04-05 12:39:11,395 - SimultaneousTuner - Final metric: 1207.122\n",
+ "2024-04-05 12:39:13,377 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-05 12:39:13,378 - DataSourceSplitter - Hold out validation is applied.\n",
+ "2024-04-05 12:39:13,381 - OptunaTuner - Hyperparameters optimization start: estimation of metric for initial graph\n",
+ "2024-04-05 12:39:15,194 - OptunaTuner - Initial graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.8830326407951724, 'min_samples_leaf': 4, 'min_samples_split': 7}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 0} \n",
+ "Initial metric: [1222.545]\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "[I 2024-04-05 12:39:15,194] A new study created in memory with name: no-name-29f752e9-6f19-4999-a100-37fb5b4ae81f\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": " 0%| | 0/200 [00:00, ?it/s]",
+ "application/vnd.jupyter.widget-view+json": {
+ "version_major": 2,
+ "version_minor": 0,
+ "model_id": "94c81141b2b5466caec500184db9629d"
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[I 2024-04-05 12:39:28,744] Trial 1 finished with value: 1243.4050524949241 and parameters: {'0 || treg | max_features': 0.5713754630439515, '0 || treg | min_samples_split': 18, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 1 with value: 1243.4050524949241.\n",
+ "[I 2024-04-05 12:39:28,961] Trial 4 finished with value: 1427.1990035718338 and parameters: {'0 || treg | max_features': 0.9891193733364071, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 8, '0 || treg | bootstrap': True}. Best is trial 1 with value: 1243.4050524949241.\n",
+ "[I 2024-04-05 12:39:29,009] Trial 5 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.14840544757122093, '0 || treg | min_samples_split': 17, '0 || treg | min_samples_leaf': 19, '0 || treg | bootstrap': False}. Best is trial 1 with value: 1243.4050524949241.\n",
+ "[I 2024-04-05 12:39:29,367] Trial 7 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.4122629623538629, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 15, '0 || treg | bootstrap': False}. Best is trial 1 with value: 1243.4050524949241.\n",
+ "[I 2024-04-05 12:39:29,413] Trial 3 finished with value: 1490.7613297163673 and parameters: {'0 || treg | max_features': 0.07156155686920246, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 12, '0 || treg | bootstrap': True}. Best is trial 1 with value: 1243.4050524949241.\n",
+ "[I 2024-04-05 12:39:29,543] Trial 0 finished with value: 1213.6070486610683 and parameters: {'0 || treg | max_features': 0.8830326407951724, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:29,677] Trial 2 finished with value: 1240.595642698651 and parameters: {'0 || treg | max_features': 0.6650482498817792, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:29,711] Trial 6 finished with value: 1220.2518426734057 and parameters: {'0 || treg | max_features': 0.8571884551978227, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:42,931] Trial 8 finished with value: 1407.798986338159 and parameters: {'0 || treg | max_features': 0.166531577165074, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 10, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,210] Trial 9 finished with value: 1490.9598403378884 and parameters: {'0 || treg | max_features': 0.13900636325113724, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 13, '0 || treg | bootstrap': True}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,332] Trial 10 finished with value: 1255.7515425696488 and parameters: {'0 || treg | max_features': 0.5315283740923685, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,562] Trial 11 finished with value: 1490.7239982396638 and parameters: {'0 || treg | max_features': 0.3058967350559375, '0 || treg | min_samples_split': 14, '0 || treg | min_samples_leaf': 15, '0 || treg | bootstrap': True}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,682] Trial 12 finished with value: 1272.3192128621083 and parameters: {'0 || treg | max_features': 0.34382338369981313, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,805] Trial 13 finished with value: 1470.4349495207794 and parameters: {'0 || treg | max_features': 0.2548608650622502, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 12, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:43,853] Trial 14 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.4527984531451893, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 20, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:44,167] Trial 15 finished with value: 1362.68915287214 and parameters: {'0 || treg | max_features': 0.09755108542278111, '0 || treg | min_samples_split': 12, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:57,055] Trial 16 finished with value: 1490.958574723623 and parameters: {'0 || treg | max_features': 0.9552005961225914, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 19, '0 || treg | bootstrap': True}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:57,319] Trial 17 finished with value: 1315.1235888883912 and parameters: {'0 || treg | max_features': 0.7690500179195182, '0 || treg | min_samples_split': 15, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': True}. Best is trial 0 with value: 1213.6070486610683.\n",
+ "[I 2024-04-05 12:39:57,990] Trial 18 finished with value: 1208.2385734949148 and parameters: {'0 || treg | max_features': 0.9657847439238905, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 18 with value: 1208.2385734949148.\n",
+ "[I 2024-04-05 12:39:58,098] Trial 19 finished with value: 1217.0334757745584 and parameters: {'0 || treg | max_features': 0.8982441588918323, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 18 with value: 1208.2385734949148.\n",
+ "[I 2024-04-05 12:39:58,316] Trial 20 finished with value: 1213.1291721256712 and parameters: {'0 || treg | max_features': 0.9159790593207208, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 18 with value: 1208.2385734949148.\n",
+ "[I 2024-04-05 12:39:58,364] Trial 21 finished with value: 1221.4328516979435 and parameters: {'0 || treg | max_features': 0.9418369294146409, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 18 with value: 1208.2385734949148.\n",
+ "[I 2024-04-05 12:39:58,539] Trial 22 finished with value: 1204.4121025478328 and parameters: {'0 || treg | max_features': 0.9316454102316117, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 22 with value: 1204.4121025478328.\n",
+ "[I 2024-04-05 12:39:58,880] Trial 23 finished with value: 1203.2082542562498 and parameters: {'0 || treg | max_features': 0.8826531658644571, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:11,383] Trial 24 finished with value: 1204.3308170379685 and parameters: {'0 || treg | max_features': 0.8267621230993581, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:11,508] Trial 25 finished with value: 1203.6957097663822 and parameters: {'0 || treg | max_features': 0.8520356451270724, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:11,803] Trial 26 finished with value: 1222.8619932134134 and parameters: {'0 || treg | max_features': 0.84539538140995, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:12,007] Trial 27 finished with value: 1236.3302069101744 and parameters: {'0 || treg | max_features': 0.7792783022597364, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:12,210] Trial 28 finished with value: 1239.3681301085367 and parameters: {'0 || treg | max_features': 0.7937284810591203, '0 || treg | min_samples_split': 21, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:12,255] Trial 29 finished with value: 1207.1776372199977 and parameters: {'0 || treg | max_features': 0.7995566786011339, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:12,303] Trial 30 finished with value: 1227.6426437739601 and parameters: {'0 || treg | max_features': 0.7607942974232664, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:12,711] Trial 31 finished with value: 1294.0161595524535 and parameters: {'0 || treg | max_features': 0.7582953965965922, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:25,647] Trial 32 finished with value: 1300.4007570161568 and parameters: {'0 || treg | max_features': 0.7656376218518466, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:25,938] Trial 33 finished with value: 1234.6414693113775 and parameters: {'0 || treg | max_features': 0.7589488600000178, '0 || treg | min_samples_split': 20, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:26,083] Trial 34 finished with value: 1303.0994870487289 and parameters: {'0 || treg | max_features': 0.7455885546240506, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:26,241] Trial 35 finished with value: 1309.5738755865807 and parameters: {'0 || treg | max_features': 0.7029095374470566, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:26,335] Trial 36 finished with value: 1299.6936578111938 and parameters: {'0 || treg | max_features': 0.6676077943940888, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:26,567] Trial 37 finished with value: 1290.8777583970261 and parameters: {'0 || treg | max_features': 0.695564343745736, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:26,628] Trial 38 finished with value: 1308.701962396647 and parameters: {'0 || treg | max_features': 0.6913826763254832, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 9, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:27,015] Trial 39 finished with value: 1230.7376815350299 and parameters: {'0 || treg | max_features': 0.6701961885028959, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:39,951] Trial 40 finished with value: 1206.6411289245582 and parameters: {'0 || treg | max_features': 0.6666350927116511, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,256] Trial 41 finished with value: 1224.9978656794924 and parameters: {'0 || treg | max_features': 0.6865540594663327, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,457] Trial 42 finished with value: 1244.6898911333465 and parameters: {'0 || treg | max_features': 0.6614986837466222, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,690] Trial 43 finished with value: 1241.7808427751952 and parameters: {'0 || treg | max_features': 0.6266815543657946, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,736] Trial 44 finished with value: 1261.774312609254 and parameters: {'0 || treg | max_features': 0.6014973685295641, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,939] Trial 45 finished with value: 1263.5328894069885 and parameters: {'0 || treg | max_features': 0.6008884447817702, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:40,984] Trial 46 finished with value: 1255.684325760863 and parameters: {'0 || treg | max_features': 0.6267709710105916, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:41,291] Trial 47 finished with value: 1306.0626380373283 and parameters: {'0 || treg | max_features': 0.599653625896898, '0 || treg | min_samples_split': 11, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:53,523] Trial 48 finished with value: 1249.8284125438802 and parameters: {'0 || treg | max_features': 0.6100692513775132, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:53,820] Trial 49 finished with value: 1245.6627693042565 and parameters: {'0 || treg | max_features': 0.8473869143725274, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:54,271] Trial 50 finished with value: 1230.0473513001677 and parameters: {'0 || treg | max_features': 0.5956019859164117, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:54,317] Trial 51 finished with value: 1236.0053786806193 and parameters: {'0 || treg | max_features': 0.8533600643306529, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': True}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:54,366] Trial 52 finished with value: 1235.3532069483404 and parameters: {'0 || treg | max_features': 0.8600479963574876, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:54,573] Trial 53 finished with value: 1244.8071513621796 and parameters: {'0 || treg | max_features': 0.8485683494345229, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:54,743] Trial 54 finished with value: 1236.6819545448705 and parameters: {'0 || treg | max_features': 0.8527340842550928, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:40:55,125] Trial 55 finished with value: 1242.0967037140088 and parameters: {'0 || treg | max_features': 0.8472446462842803, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:41:07,353] Trial 56 finished with value: 1254.348352591723 and parameters: {'0 || treg | max_features': 0.8498118544433947, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:41:07,723] Trial 57 finished with value: 1250.9388787757914 and parameters: {'0 || treg | max_features': 0.824842769464621, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:41:07,788] Trial 58 finished with value: 1225.5660399320554 and parameters: {'0 || treg | max_features': 0.8275916809204614, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 23 with value: 1203.2082542562498.\n",
+ "[I 2024-04-05 12:41:07,992] Trial 59 finished with value: 1203.0641828565538 and parameters: {'0 || treg | max_features': 0.8331782973755574, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:08,039] Trial 60 finished with value: 1262.3081914389563 and parameters: {'0 || treg | max_features': 0.80866303332999, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 7, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:08,088] Trial 61 finished with value: 1213.7916319044718 and parameters: {'0 || treg | max_features': 0.9903837060182121, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:08,306] Trial 62 finished with value: 1208.5188403519173 and parameters: {'0 || treg | max_features': 0.9866764434815503, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:08,678] Trial 63 finished with value: 1208.5306345195909 and parameters: {'0 || treg | max_features': 0.8999866231063034, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:20,838] Trial 64 finished with value: 1224.631282969692 and parameters: {'0 || treg | max_features': 0.9959222605064784, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:21,210] Trial 65 finished with value: 1204.0004913258413 and parameters: {'0 || treg | max_features': 0.9974292855893856, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:21,397] Trial 66 finished with value: 1229.2811436298396 and parameters: {'0 || treg | max_features': 0.9101905020222216, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:21,614] Trial 67 finished with value: 1217.6218114887156 and parameters: {'0 || treg | max_features': 0.9926569047359883, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:21,667] Trial 68 finished with value: 1227.3932892788002 and parameters: {'0 || treg | max_features': 0.9069992223665855, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:21,711] Trial 69 finished with value: 1210.8128671610766 and parameters: {'0 || treg | max_features': 0.9174172308419053, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:22,115] Trial 70 finished with value: 1214.5409154723798 and parameters: {'0 || treg | max_features': 0.9132744720320684, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:22,466] Trial 71 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.9463472557903276, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 16, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:34,470] Trial 72 finished with value: 1219.1219520556424 and parameters: {'0 || treg | max_features': 0.9228442199148551, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:34,917] Trial 73 finished with value: 1219.586893036963 and parameters: {'0 || treg | max_features': 0.937371123165921, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:34,965] Trial 74 finished with value: 1218.9053258058225 and parameters: {'0 || treg | max_features': 0.9337433233251973, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:35,005] Trial 75 finished with value: 1221.4874122408114 and parameters: {'0 || treg | max_features': 0.9319417538821935, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:35,214] Trial 76 finished with value: 1215.6143044687444 and parameters: {'0 || treg | max_features': 0.9525442150067183, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:35,261] Trial 77 finished with value: 1213.2655852952678 and parameters: {'0 || treg | max_features': 0.9348504472909014, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:35,719] Trial 78 finished with value: 1210.3632102571985 and parameters: {'0 || treg | max_features': 0.9467531268116407, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:35,838] Trial 79 finished with value: 1218.3404229441146 and parameters: {'0 || treg | max_features': 0.5143616888741729, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:48,287] Trial 80 finished with value: 1208.6808537690802 and parameters: {'0 || treg | max_features': 0.7220307560392398, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:48,488] Trial 81 finished with value: 1240.1649307738096 and parameters: {'0 || treg | max_features': 0.882361240863005, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:48,707] Trial 82 finished with value: 1229.732108241653 and parameters: {'0 || treg | max_features': 0.7328612552636823, '0 || treg | min_samples_split': 13, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:48,774] Trial 83 finished with value: 1218.0950781796196 and parameters: {'0 || treg | max_features': 0.878521327306401, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:48,961] Trial 84 finished with value: 1221.8190771345876 and parameters: {'0 || treg | max_features': 0.7265462451004667, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:49,209] Trial 85 finished with value: 1203.430099912836 and parameters: {'0 || treg | max_features': 0.8829112088615569, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:49,576] Trial 86 finished with value: 1227.6532685776756 and parameters: {'0 || treg | max_features': 0.7355380503746489, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:41:49,762] Trial 87 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.7252311531440058, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 13, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:42:02,039] Trial 88 finished with value: 1225.640591920108 and parameters: {'0 || treg | max_features': 0.8719605171151825, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 59 with value: 1203.0641828565538.\n",
+ "[I 2024-04-05 12:42:02,161] Trial 89 finished with value: 1202.9804391780965 and parameters: {'0 || treg | max_features': 0.8757424941087029, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:02,287] Trial 90 finished with value: 1224.21793517045 and parameters: {'0 || treg | max_features': 0.8783959677863032, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:02,422] Trial 91 finished with value: 1254.8967711218518 and parameters: {'0 || treg | max_features': 0.9682411358160042, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:02,545] Trial 92 finished with value: 1210.3265463382174 and parameters: {'0 || treg | max_features': 0.7933852806298733, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:02,840] Trial 93 finished with value: 1220.060510472812 and parameters: {'0 || treg | max_features': 0.8004399628762175, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:02,945] Trial 94 finished with value: 1342.0688904060978 and parameters: {'0 || treg | max_features': 0.7854249833870495, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 11, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:03,369] Trial 95 finished with value: 1210.49879375063 and parameters: {'0 || treg | max_features': 0.7831399963640469, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:15,441] Trial 96 finished with value: 1235.1059808328173 and parameters: {'0 || treg | max_features': 0.7949453453510559, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:15,743] Trial 97 finished with value: 1212.3148720257734 and parameters: {'0 || treg | max_features': 0.7854764290503102, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:15,945] Trial 98 finished with value: 1223.643423056882 and parameters: {'0 || treg | max_features': 0.7949564625902137, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:15,988] Trial 99 finished with value: 1249.7675550952783 and parameters: {'0 || treg | max_features': 0.7871544532816174, '0 || treg | min_samples_split': 6, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:16,202] Trial 100 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.8129253499719724, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 21, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:16,404] Trial 101 finished with value: 1241.6608533501362 and parameters: {'0 || treg | max_features': 0.8293646077977103, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:16,739] Trial 102 finished with value: 1234.873458112201 and parameters: {'0 || treg | max_features': 0.822331275883542, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:16,812] Trial 103 finished with value: 1235.67282359457 and parameters: {'0 || treg | max_features': 0.819354184663281, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:28,942] Trial 104 finished with value: 1246.3289702736372 and parameters: {'0 || treg | max_features': 0.8211976956450301, '0 || treg | min_samples_split': 18, '0 || treg | min_samples_leaf': 6, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,230] Trial 105 finished with value: 1220.8923687587026 and parameters: {'0 || treg | max_features': 0.8316030399729356, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,341] Trial 106 finished with value: 1243.3312893526972 and parameters: {'0 || treg | max_features': 0.8244620380372271, '0 || treg | min_samples_split': 16, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,394] Trial 107 finished with value: 1236.158152722137 and parameters: {'0 || treg | max_features': 0.821447739892813, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,592] Trial 108 finished with value: 1228.8340269961222 and parameters: {'0 || treg | max_features': 0.9757213650875491, '0 || treg | min_samples_split': 17, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,714] Trial 109 finished with value: 1208.3840711330247 and parameters: {'0 || treg | max_features': 0.9687053771115117, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:29,934] Trial 110 finished with value: 1215.294383202821 and parameters: {'0 || treg | max_features': 0.9668493651190418, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 89 with value: 1202.9804391780965.\n",
+ "[I 2024-04-05 12:42:30,155] Trial 111 finished with value: 1202.924517272211 and parameters: {'0 || treg | max_features': 0.9659897305763145, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:42,751] Trial 112 finished with value: 1206.8121085732814 and parameters: {'0 || treg | max_features': 0.9788177778954096, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:42,967] Trial 113 finished with value: 1207.0710815620525 and parameters: {'0 || treg | max_features': 0.9740392718638433, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,102] Trial 114 finished with value: 1203.3025088411073 and parameters: {'0 || treg | max_features': 0.8879283422425196, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,149] Trial 115 finished with value: 1216.5231808980047 and parameters: {'0 || treg | max_features': 0.9726384289833968, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,449] Trial 116 finished with value: 1226.2530004139596 and parameters: {'0 || treg | max_features': 0.8928615073143586, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,500] Trial 117 finished with value: 1204.5155910492258 and parameters: {'0 || treg | max_features': 0.8932321819849305, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,692] Trial 118 finished with value: 1212.0023849160725 and parameters: {'0 || treg | max_features': 0.8988166170306637, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:43,961] Trial 119 finished with value: 1210.7406697339784 and parameters: {'0 || treg | max_features': 0.8946741180450503, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:56,615] Trial 120 finished with value: 1205.4494617140126 and parameters: {'0 || treg | max_features': 0.8937121586602222, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:56,823] Trial 121 finished with value: 1222.9680827330058 and parameters: {'0 || treg | max_features': 0.8907481718443634, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:56,945] Trial 122 finished with value: 1208.3654282635548 and parameters: {'0 || treg | max_features': 0.8958710495850004, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:56,997] Trial 123 finished with value: 1265.962989455374 and parameters: {'0 || treg | max_features': 0.89095541757424, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 8, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:57,117] Trial 124 finished with value: 1225.2073570825637 and parameters: {'0 || treg | max_features': 0.904431211962508, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:57,335] Trial 125 finished with value: 1225.8943902553467 and parameters: {'0 || treg | max_features': 0.3896407023174703, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:57,566] Trial 126 finished with value: 1227.242283146359 and parameters: {'0 || treg | max_features': 0.8648509758132714, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:42:57,925] Trial 127 finished with value: 1228.8717684803655 and parameters: {'0 || treg | max_features': 0.8661193847717049, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,450] Trial 128 finished with value: 1215.2577476771075 and parameters: {'0 || treg | max_features': 0.8615965210664664, '0 || treg | min_samples_split': 9, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,574] Trial 129 finished with value: 1209.6918811300304 and parameters: {'0 || treg | max_features': 0.8591753446422031, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,714] Trial 130 finished with value: 1234.3582542228637 and parameters: {'0 || treg | max_features': 0.5273536649249034, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,762] Trial 131 finished with value: 1223.2947270214947 and parameters: {'0 || treg | max_features': 0.8657256227595644, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': True}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,810] Trial 132 finished with value: 1220.9237072156754 and parameters: {'0 || treg | max_features': 0.8651801906684651, '0 || treg | min_samples_split': 2, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:10,915] Trial 133 finished with value: 1221.585053918941 and parameters: {'0 || treg | max_features': 0.8665504230575685, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:11,132] Trial 134 finished with value: 1236.216627318237 and parameters: {'0 || treg | max_features': 0.513902552073336, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:11,320] Trial 135 finished with value: 1212.55444712043 and parameters: {'0 || treg | max_features': 0.9250634632110339, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:23,931] Trial 136 finished with value: 1224.8352148741249 and parameters: {'0 || treg | max_features': 0.5202846706811601, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,057] Trial 137 finished with value: 1212.9860646598324 and parameters: {'0 || treg | max_features': 0.9274987328761303, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,096] Trial 138 finished with value: 1221.7046217911266 and parameters: {'0 || treg | max_features': 0.9247479352230441, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,224] Trial 139 finished with value: 1219.5988980064767 and parameters: {'0 || treg | max_features': 0.9324845337908341, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,347] Trial 140 finished with value: 1210.8160580916885 and parameters: {'0 || treg | max_features': 0.9162355575857773, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,399] Trial 141 finished with value: 1227.7581830557006 and parameters: {'0 || treg | max_features': 0.9289838209704523, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,518] Trial 142 finished with value: 1230.0616032314613 and parameters: {'0 || treg | max_features': 0.9208335639038389, '0 || treg | min_samples_split': 7, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:24,724] Trial 143 finished with value: 1228.253362193808 and parameters: {'0 || treg | max_features': 0.9981111271318391, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 5, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:37,395] Trial 144 finished with value: 1208.8587117944112 and parameters: {'0 || treg | max_features': 0.9231667106740925, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:37,601] Trial 145 finished with value: 1215.2430406361727 and parameters: {'0 || treg | max_features': 0.9991530786867323, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:37,722] Trial 146 finished with value: 1205.8733853383023 and parameters: {'0 || treg | max_features': 0.9503248611763113, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:37,769] Trial 147 finished with value: 1223.0647342266077 and parameters: {'0 || treg | max_features': 0.9932152801733852, '0 || treg | min_samples_split': 10, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 111 with value: 1202.924517272211.\n",
+ "[I 2024-04-05 12:43:37,893] Trial 148 finished with value: 1201.9954813649324 and parameters: {'0 || treg | max_features': 0.9505617355760627, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:38,017] Trial 149 finished with value: 1219.5656793507114 and parameters: {'0 || treg | max_features': 0.9950219936277832, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:38,071] Trial 150 finished with value: 1207.821806788817 and parameters: {'0 || treg | max_features': 0.9534820301497028, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:38,265] Trial 151 finished with value: 1208.9813243824071 and parameters: {'0 || treg | max_features': 0.9550824041095155, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:50,936] Trial 152 finished with value: 1207.9477724282785 and parameters: {'0 || treg | max_features': 0.9518495380706311, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 4, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:51,152] Trial 153 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.9494825674818317, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 18, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:51,294] Trial 154 finished with value: 1230.031401327613 and parameters: {'0 || treg | max_features': 0.9503021225378134, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:51,346] Trial 155 finished with value: 1221.899701240901 and parameters: {'0 || treg | max_features': 0.9538410718491418, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 148 with value: 1201.9954813649324.\n",
+ "[I 2024-04-05 12:43:51,480] Trial 156 finished with value: 1192.286135875408 and parameters: {'0 || treg | max_features': 0.9529145336581082, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:43:51,589] Trial 157 finished with value: 1275.509460484617 and parameters: {'0 || treg | max_features': 0.23157097033495921, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:43:51,651] Trial 158 finished with value: 1491.1469390520735 and parameters: {'0 || treg | max_features': 0.954623030034024, '0 || treg | min_samples_split': 8, '0 || treg | min_samples_leaf': 15, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:43:51,871] Trial 159 finished with value: 1210.4799186612065 and parameters: {'0 || treg | max_features': 0.9494734029226347, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:04,788] Trial 160 finished with value: 1229.4922759640322 and parameters: {'0 || treg | max_features': 0.8435775619384167, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,007] Trial 161 finished with value: 1238.8965677319202 and parameters: {'0 || treg | max_features': 0.8451623733392856, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,149] Trial 162 finished with value: 1215.1974474381805 and parameters: {'0 || treg | max_features': 0.8426952878438219, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,199] Trial 163 finished with value: 1212.8910439583326 and parameters: {'0 || treg | max_features': 0.5634554960822545, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,425] Trial 164 finished with value: 1240.037092457239 and parameters: {'0 || treg | max_features': 0.8413593301661256, '0 || treg | min_samples_split': 3, '0 || treg | min_samples_leaf': 1, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,477] Trial 165 finished with value: 1215.2494757633008 and parameters: {'0 || treg | max_features': 0.5553325643797801, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 2, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,531] Trial 166 finished with value: 1199.377209176438 and parameters: {'0 || treg | max_features': 0.8416564451147929, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:05,732] Trial 167 finished with value: 1298.6705391290827 and parameters: {'0 || treg | max_features': 0.05293184741884294, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:18,808] Trial 168 finished with value: 1199.7042138140562 and parameters: {'0 || treg | max_features': 0.9715513119007564, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,106] Trial 169 finished with value: 1212.0641173545785 and parameters: {'0 || treg | max_features': 0.8816990224291151, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,323] Trial 170 finished with value: 1215.4370956160667 and parameters: {'0 || treg | max_features': 0.9748068862312886, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,376] Trial 171 finished with value: 1201.1881254820757 and parameters: {'0 || treg | max_features': 0.8828219478029792, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,496] Trial 172 finished with value: 1202.5843030582078 and parameters: {'0 || treg | max_features': 0.879141458825355, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,541] Trial 173 finished with value: 1211.3002363905193 and parameters: {'0 || treg | max_features': 0.88781178533652, '0 || treg | min_samples_split': 5, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,570] Trial 174 finished with value: 1213.646003101809 and parameters: {'0 || treg | max_features': 0.9064313711614869, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "[I 2024-04-05 12:44:19,616] Trial 175 finished with value: 1199.7845921771072 and parameters: {'0 || treg | max_features': 0.8896649659649789, '0 || treg | min_samples_split': 4, '0 || treg | min_samples_leaf': 3, '0 || treg | bootstrap': False}. Best is trial 156 with value: 1192.286135875408.\n",
+ "2024-04-05 12:44:19,634 - OptunaTuner - Hyperparameters optimization finished\n",
+ "2024-04-05 12:44:21,505 - OptunaTuner - Return tuned graph due to the fact that obtained metric 1217.466 equal or better than initial (+ 0.05% deviation) 1221.933\n",
+ "2024-04-05 12:44:21,506 - OptunaTuner - Final graph: {'depth': 2, 'length': 2, 'nodes': [treg, quantile_extractor]}\n",
+ "treg - {'bootstrap': False, 'max_features': 0.9529145336581082, 'min_samples_leaf': 2, 'min_samples_split': 5}\n",
+ "quantile_extractor - {'stride': 1, 'window_size': 0}\n",
+ "2024-04-05 12:44:21,507 - OptunaTuner - Final metric: 1217.466\n"
+ ]
+ }
+ ],
+ "source": [
+ "industrial_model = evaluate_loop(api_params=params, finetune=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ },
+ "source": [
+ "At the end of the experiment we can obtain the desired metric values using `calculate_regression_metric` method. Now there are five available metrics for classification task:\n",
+ "- `explained_variance_score`\n",
+ "- `max_error`\n",
+ "- `mean_absolute_error`\n",
+ "- `mean_squared_error`\n",
+ "- `d2_absolute_error_score`.\n",
+ "- `median_absolute_error`\n",
+ "- `r2_score`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2023-08-28T11:01:34.941934Z",
+ "start_time": "2023-08-28T11:01:34.928460Z"
+ },
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "labels = industrial_model.predict(test_data)\n",
+ "metrics = industrial_model.get_metrics(target=test_data[1],\n",
+ " rounding_order=3,\n",
+ " metric_names=('r2', 'rmse', 'mae'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "outputs": [
+ {
+ "data": {
+ "text/plain": " r2 rmse mae\n0 0.202 1178.575 717.016",
+ "text/html": "\n\n
\n \n \n \n r2 \n rmse \n mae \n \n \n \n \n 0 \n 0.202 \n 1178.575 \n 717.016 \n \n \n
\n
"
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "metrics"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%%\n"
+ }
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## AutoML approach"
+ ],
+ "metadata": {
+ "collapsed": false,
+ "pycharm": {
+ "name": "#%% md\n"
+ }
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-05 12:44:50,707 - Initialising experiment setup\n",
+ "2024-04-05 12:44:50,713 - Initialising Industrial Repository\n",
+ "2024-04-05 12:44:50,714 - Initialising Dask Server\n",
+ "Creating Dask Server\n",
+ "2024-04-05 12:44:50,735 - State start\n",
+ "2024-04-05 12:44:51,981 - Scheduler at: inproc://10.64.4.217/16120/9\n",
+ "2024-04-05 12:44:51,981 - dashboard at: http://10.64.4.217:59465/status\n",
+ "2024-04-05 12:44:51,982 - Registering Worker plugin shuffle\n",
+ "2024-04-05 12:44:53,252 - Start worker at: inproc://10.64.4.217/16120/12\n",
+ "2024-04-05 12:44:53,253 - Listening to: inproc10.64.4.217\n",
+ "2024-04-05 12:44:53,254 - Worker name: 0\n",
+ "2024-04-05 12:44:53,255 - dashboard at: 10.64.4.217:59468\n",
+ "2024-04-05 12:44:53,255 - Waiting to connect to: inproc://10.64.4.217/16120/9\n",
+ "2024-04-05 12:44:53,256 - -------------------------------------------------\n",
+ "2024-04-05 12:44:53,256 - Threads: 8\n",
+ "2024-04-05 12:44:53,256 - Memory: 31.95 GiB\n",
+ "2024-04-05 12:44:53,257 - Local Directory: C:\\Users\\user\\AppData\\Local\\Temp\\dask-scratch-space\\worker-8dptmyn3\n",
+ "2024-04-05 12:44:53,258 - -------------------------------------------------\n",
+ "2024-04-05 12:44:53,264 - Register worker \n",
+ "2024-04-05 12:44:53,266 - Starting worker compute stream, inproc://10.64.4.217/16120/12\n",
+ "2024-04-05 12:44:53,267 - Starting established connection to inproc://10.64.4.217/16120/13\n",
+ "2024-04-05 12:44:53,267 - Starting Worker plugin shuffle\n",
+ "2024-04-05 12:44:53,268 - Registered to: inproc://10.64.4.217/16120/9\n",
+ "2024-04-05 12:44:53,269 - -------------------------------------------------\n",
+ "2024-04-05 12:44:53,270 - Starting established connection to inproc://10.64.4.217/16120/9\n",
+ "2024-04-05 12:44:53,273 - Receive client connection: Client-2742d2f1-f331-11ee-bef8-b42e99a00ea1\n",
+ "2024-04-05 12:44:53,275 - Starting established connection to inproc://10.64.4.217/16120/14\n",
+ "2024-04-05 12:44:53,277 - LinK Dask Server - http://10.64.4.217:59465/status\n",
+ "2024-04-05 12:44:53,277 - Initialising solver\n",
+ "2024-04-05 12:44:53,325 - AssumptionsHandler - Initial pipeline fitting started\n",
+ "2024-04-05 12:44:56,205 - AssumptionsHandler - Initial pipeline was fitted successfully\n",
+ "2024-04-05 12:44:56,208 - AssumptionsHandler - Memory consumption for fitting of the initial pipeline in main session: current 4.3 MiB, max: 5.3 MiB\n",
+ "2024-04-05 12:44:56,210 - ApiComposer - Initial pipeline was fitted in 2.9 sec.\n",
+ "2024-04-05 12:44:56,211 - AssumptionsHandler - Preset was changed to best_quality due to fit time estimation for initial model.\n",
+ "2024-04-05 12:44:56,219 - ApiComposer - AutoML configured. Parameters tuning: True. Time limit: 30 min. Set of candidate models: ['xgbreg', 'sgdr', 'treg', 'ridge', 'lasso', 'dtreg', 'channel_filtration', 'eigen_basis', 'wavelet_basis', 'fourier_basis', 'quantile_extractor', 'minirocket_extractor', 'scaling', 'normalization', 'simple_imputation', 'kernel_pca'].\n",
+ "2024-04-05 12:44:56,244 - ApiComposer - Pipeline composition started.\n",
+ "2024-04-05 12:44:56,250 - DataSourceSplitter - Stratificated splitting of data is disabled.\n",
+ "2024-04-05 12:44:56,251 - DataSourceSplitter - Hold out validation is applied.\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Generations: 0%| | 0/10000 [00:00, ?gen/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-05 12:44:56,271 - IndustrialDispatcher - Number of used CPU's: 2\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Exception ignored in: .on_destroy at 0x00000289F9FFF550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791627608592\n",
+ "Exception ignored in: .on_destroy at 0x00000289F9F3E9D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791634387280\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2024-04-05 12:45:26,996 - IndustrialDispatcher - 1 individuals out of 1 in previous population were evaluated successfully.\n",
+ "2024-04-05 12:45:27,040 - IndustrialEvoOptimizer - Generation num: 1 size: 1\n",
+ "2024-04-05 12:45:27,042 - IndustrialEvoOptimizer - Best individuals: HallOfFame archive fitness (1): ['']\n",
+ "2024-04-05 12:45:28,011 - IndustrialDispatcher - Number of used CPU's: 2\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Exception ignored in: .on_destroy at 0x00000289FA351940>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791631898928\n",
+ "Exception ignored in: .on_destroy at 0x00000289FA125430>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791671405712\n",
+ "Exception ignored in: .on_destroy at 0x00000289FA6145E0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791671403792\n",
+ "Exception ignored in: .on_destroy at 0x00000289FE0D6790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791671356272\n",
+ "Exception ignored in: .on_destroy at 0x00000289FA125DC0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791671354544\n",
+ "Exception ignored in: .on_destroy at 0x00000289FC6E0310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791671449136\n",
+ "Exception ignored in: .on_destroy at 0x00000289FA4F6790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791669433424\n",
+ "Exception ignored in: .on_destroy at 0x00000289FCD88E50>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791633658576\n",
+ "Exception ignored in: .on_destroy at 0x00000289FE224550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791723567984\n",
+ "Exception ignored in: .on_destroy at 0x00000289F865D310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791726543184\n",
+ "Exception ignored in: .on_destroy at 0x0000028982083280>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789614962992\n",
+ "Exception ignored in: .on_destroy at 0x00000289FFE1CCA0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789614963568\n",
+ "Exception ignored in: .on_destroy at 0x00000289FA5548B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789615832592\n",
+ "Exception ignored in: .on_destroy at 0x00000289820639D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616209808\n",
+ "Exception ignored in: .on_destroy at 0x00000289FE2369D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789619250832\n",
+ "Exception ignored in: .on_destroy at 0x00000289FCB0B940>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791633333104\n",
+ "Exception ignored in: .on_destroy at 0x00000289FFB09D30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789619235216\n",
+ "Exception ignored in: .on_destroy at 0x0000028982063700>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789619769872\n",
+ "Exception ignored in: .on_destroy at 0x00000289FC771A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789619980112\n",
+ "Exception ignored in: .on_destroy at 0x0000028982096DC0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789620227984\n",
+ "Exception ignored in: .on_destroy at 0x00000289FC6E0A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791608443024\n",
+ "Exception ignored in: .on_destroy at 0x00000289836BB1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791694933136\n",
+ "Exception ignored in: .on_destroy at 0x00000289839410D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791695805104\n",
+ "Exception ignored in: .on_destroy at 0x00000289839E19D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789641525168\n",
+ "Exception ignored in: .on_destroy at 0x0000028982096670>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791606141360\n",
+ "Exception ignored in: .on_destroy at 0x0000028984158160>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789648497616\n",
+ "Exception ignored in: .on_destroy at 0x000002898408FD30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616861808\n",
+ "Exception ignored in: .on_destroy at 0x0000028985370CA0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789668847664\n",
+ "Exception ignored in: .on_destroy at 0x00000289FFB4F940>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616813808\n",
+ "Exception ignored in: .on_destroy at 0x0000028983978D30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791723500048\n",
+ "Exception ignored in: .on_destroy at 0x00000289841DF670>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616862000\n",
+ "Exception ignored in: .on_destroy at 0x00000289838601F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791695431024\n",
+ "Exception ignored in: .on_destroy at 0x00000289841EE1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616309808\n",
+ "Exception ignored in: .on_destroy at 0x00000289838AD790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789615914128\n",
+ "Exception ignored in: .on_destroy at 0x0000028983E73430>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789620397616\n",
+ "Exception ignored in: .on_destroy at 0x0000028A12512670>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791727732656\n",
+ "Exception ignored in: .on_destroy at 0x0000028A125124C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791727733904\n",
+ "Exception ignored in: .on_destroy at 0x0000028A1A0BB1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792190333168\n",
+ "Exception ignored in: .on_destroy at 0x0000028983FD8AF0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792435642256\n",
+ "Exception ignored in: .on_destroy at 0x0000028A4C0E0790>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793165547920\n",
+ "Exception ignored in: .on_destroy at 0x0000028A55A91A60>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793166380656\n",
+ "Exception ignored in: .on_destroy at 0x0000028A55AEF1F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793281233232\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5C9873A0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791726590544\n",
+ "Exception ignored in: .on_destroy at 0x0000028A4C0C5700>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791628166704\n",
+ "Exception ignored in: .on_destroy at 0x0000028A55A9CEE0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792034112688\n",
+ "Exception ignored in: .on_destroy at 0x0000028A1C03E4C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789618564816\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5CA4F820>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789646761008\n",
+ "Exception ignored in: .on_destroy at 0x0000028983C61160>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789614938032\n",
+ "Exception ignored in: .on_destroy at 0x0000028A78105040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791669974480\n",
+ "Exception ignored in: .on_destroy at 0x0000028A78112550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792198647216\n",
+ "Exception ignored in: .on_destroy at 0x0000028A757561F0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793699405424\n",
+ "Exception ignored in: .on_destroy at 0x0000028A32DC7B80>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791726829168\n",
+ "Exception ignored in: .on_destroy at 0x0000028A55A46310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793699295472\n",
+ "Exception ignored in: .on_destroy at 0x00000289838E49D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789616926224\n",
+ "Exception ignored in: .on_destroy at 0x0000028A45999310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791726544528\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5CA04F70>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789648497904\n",
+ "Exception ignored in: .on_destroy at 0x0000028A77E0F0D0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793740803792\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5C949550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792036413136\n",
+ "Exception ignored in: .on_destroy at 0x0000028A77E878B0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2791727689424\n",
+ "Exception ignored in: .on_destroy at 0x0000028A756F6310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793741679376\n",
+ "Exception ignored in: .on_destroy at 0x0000028A75672310>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789619362288\n",
+ "Exception ignored in: .on_destroy at 0x0000028A780E1AF0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2789650503504\n",
+ "Exception ignored in: .on_destroy at 0x0000028A7579A040>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792165535056\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5C88CD30>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2792161936656\n",
+ "Exception ignored in: .on_destroy at 0x0000028A1C03E4C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793742463888\n",
+ "Exception ignored in: .on_destroy at 0x0000028A77E87E50>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793740381904\n",
+ "Exception ignored in: .on_destroy at 0x0000028A527A6550>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793160713680\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5C88C4C0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793160653296\n",
+ "Exception ignored in: .on_destroy at 0x0000028A5553EEE0>\n",
+ "Traceback (most recent call last):\n",
+ " File \"D:\\WORK\\Repo\\Industiral\\IndustrialTS\\venv_3.9_new\\lib\\site-packages\\joblib\\_dask.py\", line 82, in on_destroy\n",
+ " del self._data[key]\n",
+ "KeyError: 2793746108016\n",
+ "Exception ignored in: