In [1]:

    import sys

    sys.path.insert(0, "../utils")

In [30]:

    import sklearn.datasets as skds
    from sklearn.preprocessing import QuantileTransformer, KBinsDiscretizer, OrdinalEncoder, LabelEncoder
    import numpy as np
    import pandas as pd
    from transformation import BSplineTransformer, spline_transform_dataset
    from trainers import FFMTrainer, FMTrainer
    import math
    import optuna
    import optuna.samplers
    from typing import Callable
    from sklearn.model_selection import train_test_split
    import torch
    from torch.utils.data import TensorDataset
    from tqdm import trange

In [3]:

    if torch.cuda.is_available():
        device = torch.device("cuda:0")
    else:
        device = torch.device("cpu")
    print(device)

    cuda:0

In [4]:

    torch.manual_seed(42)
    np.random.seed(42)

In [5]:

    raw_df = pd.read_csv("../data/higgs.arff",
                          names=["Label", "pT", "eta", "phi", "missing_energy_magnitude", "missing_energy_phi","jet1pt","jet1eta","jet1phi","jet1b","jet2pt","jet2eta","jet2phi","jet2b","jet3pt","jet3eta","jet3phi","jet3b","jet4pt","jet4eta","jet4phi","jet4b","m_jj","m_jjj","m_lv","m_jlv","m_bb","m_wbb","m_wwbb"],
                          dtype={0:int, 1 :float, 2:float, 3:float, 4:float, 5:float, 6:float, 7:float, 8:float, 9:float, 10:float, 11:float, 12:float, 13:float, 14:float, 15:float, 16:float, 17:float, 18:float, 19:float, 20:float, 21:float, 22:float, 23:float, 24:float, 25:float, 26:float, 27:float, 28:float, 29:float},
                          na_values="?")  # TODO: only 3000 lines are loaded in the data

In [6]:

    raw_df = raw_df.dropna(axis=0)

In [7]:

    raw_df.sample(8)

Out[7]:

| Label | pT | eta | phi | missing_energy_magnitude | missing_energy_phi | jet1pt | jet1eta | jet1phi | jet1b | ... | jet4eta | jet4phi | jet4b | m_jj | m_jjj | m_lv | m_jlv | m_bb | m_wbb | m_wwbb
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
77204 | 1 | 0.978916 | 1.844643 | -1.422353 | 0.910926 | 1.741381 | 0.836740 | 1.038726 | 0.040076 | 2.173076 | ... | 0.509227 | 1.487003 | 0.000000 | 0.815551 | 1.017818 | 0.981035 | 1.173383 | 0.978406 | 0.987195 | 0.843390
38305 | 0 | 0.785475 | 0.947617 | 1.601191 | 1.730936 | -1.300155 | 0.898392 | 0.655507 | 1.034625 | 2.173076 | ... | -0.129548 | -0.258853 | 0.000000 | 1.666249 | 1.403631 | 0.986471 | 1.152768 | 1.342005 | 1.134370 | 1.092319
68013 | 1 | 0.572818 | -1.231151 | -1.497259 | 0.557409 | 1.587439 | 2.817746 | 0.714921 | -0.137981 | 1.086538 | ... | -0.510981 | 1.181246 | 3.101961 | 2.894233 | 1.823246 | 0.998267 | 1.867427 | 2.785220 | 2.321026 | 1.750416
31266 | 0 | 0.548844 | 2.153391 | -0.562318 | 1.489274 | 0.248050 | 1.791746 | -0.108951 | 1.369468 | 0.000000 | ... | -0.621747 | 1.301107 | 3.101961 | 0.934149 | 0.871509 | 0.985588 | 0.821194 | 1.113907 | 1.328275 | 1.810306
94357 | 1 | 0.846600 | -0.158811 | -1.235365 | 0.728787 | -0.783034 | 1.155717 | -0.462463 | -0.844258 | 1.086538 | ... | -1.235538 | 1.066934 | 0.000000 | 0.440971 | 0.965494 | 0.985530 | 1.133286 | 1.747692 | 0.984962 | 0.814022
40265 | 0 | 0.522125 | -1.027591 | 0.597447 | 1.804414 | -0.801832 | 0.361024 | 0.048496 | -1.564392 | 0.000000 | ... | 1.336221 | 1.379905 | 0.000000 | 0.793973 | 1.153002 | 1.280278 | 0.912474 | 0.859079 | 0.891584 | 0.928110
58128 | 0 | 1.776103 | 0.709969 | 0.825495 | 1.859818 | 0.553562 | 0.699329 | -0.858555 | -0.895261 | 2.173076 | ... | -0.374398 | -0.301581 | 0.000000 | 1.151344 | 0.976257 | 1.001275 | 1.987672 | 0.858882 | 1.263109 | 1.232239
14660 | 0 | 1.368359 | 0.191818 | 0.169094 | 1.411127 | 0.573316 | 1.964517 | 0.410920 | -0.842041 | 2.173076 | ... | -2.119163 | 1.737823 | 0.000000 | 1.077456 | 1.392801 | 0.974027 | 0.940942 | 3.311254 | 1.679857 | 1.371441

8 rows × 29 columns

In [8]:

    raw_df.shape

Out[8]:

    (98049, 29)

In [9]:

    raw_df.columns

Out[9]:

    Index(['Label', 'pT', 'eta', 'phi', 'missing_energy_magnitude',
           'missing_energy_phi', 'jet1pt', 'jet1eta', 'jet1phi', 'jet1b', 'jet2pt',
           'jet2eta', 'jet2phi', 'jet2b', 'jet3pt', 'jet3eta', 'jet3phi', 'jet3b',
           'jet4pt', 'jet4eta', 'jet4phi', 'jet4b', 'm_jj', 'm_jjj', 'm_lv',
           'm_jlv', 'm_bb', 'm_wbb', 'm_wwbb'],
          dtype='object')

In [10]:

    train, test = train_test_split(raw_df, test_size=0.2, random_state=42)

In [11]:

    tr_feats = train.drop("Label", axis=1)
    tr_target = train["Label"]
    te_feats = test.drop("Label", axis=1)
    te_target = test["Label"]

In [12]:

    quant_transform = QuantileTransformer(output_distribution='uniform',
                                          n_quantiles=10000,
                                          subsample=len(tr_feats),
                                          random_state=42)
    X_train_qs = quant_transform.fit_transform(tr_feats)
    X_test_qs = quant_transform.transform(te_feats)

In [13]:

    def train_spline_fm(embedding_dim: int, step_size: float, batch_size: int, num_knots: int, num_epochs: int,
                         callback: Callable[[int, float], None]=None):
        bs = BSplineTransformer(num_knots, 3)
        tr_indices, tr_weights, tr_offsets, tr_fields = spline_transform_dataset(X_train_qs, bs)
        te_indices, te_weights, te_offsets, te_fields = spline_transform_dataset(X_test_qs, bs)

        num_fields = X_train_qs.shape[1]
        num_embeddings = int(max(np.max(tr_indices), np.max(te_indices)) + 1)

        train_ds = TensorDataset(
            torch.tensor(tr_indices, dtype=torch.int64),
            torch.tensor(tr_weights, dtype=torch.float32),
            torch.tensor(tr_offsets, dtype=torch.int64),
            torch.tensor(tr_fields, dtype=torch.int64),
            torch.tensor(tr_target.values, dtype=torch.float32))

        test_ds = TensorDataset(
            torch.tensor(te_indices, dtype=torch.int64),
            torch.tensor(te_weights, dtype=torch.float32),
            torch.tensor(te_offsets, dtype=torch.int64),
            torch.tensor(te_fields, dtype=torch.int64),
            torch.tensor(te_target.values, dtype=torch.float32))

        trainer = FMTrainer(embedding_dim, step_size, batch_size, num_epochs, callback)
        return trainer.train(num_fields, num_embeddings, train_ds, test_ds, torch.nn.BCEWithLogitsLoss(), device)

In [14]:

    def train_spline_objective(trial: optuna.Trial):
        embedding_dim = trial.suggest_int('embedding_dim', 1, 10)
        step_size = trial.suggest_float('step_size', 1e-2, 0.5, log=True)
        batch_size = trial.suggest_int('batch_size', 2, 32)
        num_knots = trial.suggest_int('num_knots', 3, 48)
        num_epochs = trial.suggest_int('num_epochs', 5, 15)

        def callback(epoch: int, loss: float):
            trial.report(loss, epoch)
            if trial.should_prune():
                raise optuna.TrialPruned()

        return train_spline_fm(embedding_dim, step_size, batch_size, num_knots, num_epochs,
                               callback=callback)

In [15]:

    study = optuna.create_study(study_name='splines',
                                direction='minimize',
                                sampler=optuna.samplers.TPESampler(seed=42))
    study.optimize(train_spline_objective, n_trials=100)

    [I 2023-05-16 13:19:07,876] A new study created in memory with name: splines
    [I 2023-05-16 13:20:21,677] Trial 0 finished with value: 0.5853611826896667 and parameters: {'embedding_dim': 4, 'step_size': 0.4123206532618726, 'batch_size': 24, 'num_knots': 30, 'num_epochs': 6}. Best is trial 0 with value: 0.5853611826896667.
    [I 2023-05-16 13:22:19,259] Trial 1 finished with value: 0.5886282324790955 and parameters: {'embedding_dim': 2, 'step_size': 0.012551115172973842, 'batch_size': 28, 'num_knots': 30, 'num_epochs': 12}. Best is trial 0 with value: 0.5853611826896667.
    [I 2023-05-16 13:23:30,027] Trial 2 finished with value: 0.5681326389312744 and parameters: {'embedding_dim': 1, 'step_size': 0.44447541666908114, 'batch_size': 27, 'num_knots': 12, 'num_epochs': 7}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:25:25,524] Trial 3 finished with value: 0.5769233107566833 and parameters: {'embedding_dim': 2, 'step_size': 0.0328774741399112, 'batch_size': 18, 'num_knots': 22, 'num_epochs': 8}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:29:14,309] Trial 4 finished with value: 0.5728297829627991 and parameters: {'embedding_dim': 7, 'step_size': 0.017258215396625, 'batch_size': 11, 'num_knots': 19, 'num_epochs': 10}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:30:31,919] Trial 5 finished with value: 0.5776219964027405 and parameters: {'embedding_dim': 8, 'step_size': 0.021839352923182977, 'batch_size': 17, 'num_knots': 30, 'num_epochs': 5}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:31:33,813] Trial 6 pruned.
    [I 2023-05-16 13:38:46,544] Trial 7 finished with value: 0.5728002190589905 and parameters: {'embedding_dim': 9, 'step_size': 0.032925293631105246, 'batch_size': 5, 'num_knots': 34, 'num_epochs': 9}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:40:07,138] Trial 8 pruned.
    [I 2023-05-16 13:41:49,171] Trial 9 finished with value: 0.5740929841995239 and parameters: {'embedding_dim': 7, 'step_size': 0.033852267834519785, 'batch_size': 18, 'num_knots': 28, 'num_epochs': 7}. Best is trial 2 with value: 0.5681326389312744.
    [I 2023-05-16 13:43:34,371] Trial 10 finished with value: 0.5552852749824524 and parameters: {'embedding_dim': 4, 'step_size': 0.3842866425436879, 'batch_size': 32, 'num_knots': 4, 'num_epochs': 12}. Best is trial 10 with value: 0.5552852749824524.
    [I 2023-05-16 13:45:18,740] Trial 11 finished with value: 0.5561715364456177 and parameters: {'embedding_dim': 4, 'step_size': 0.4704728757907224, 'batch_size': 32, 'num_knots': 4, 'num_epochs': 12}. Best is trial 10 with value: 0.5552852749824524.
    [I 2023-05-16 13:47:11,570] Trial 12 finished with value: 0.5524122714996338 and parameters: {'embedding_dim': 4, 'step_size': 0.21245096251364723, 'batch_size': 32, 'num_knots': 4, 'num_epochs': 13}. Best is trial 12 with value: 0.5524122714996338.
    [I 2023-05-16 13:49:05,210] Trial 13 finished with value: 0.552092969417572 and parameters: {'embedding_dim': 5, 'step_size': 0.2131057309318617, 'batch_size': 32, 'num_knots': 3, 'num_epochs': 13}. Best is trial 13 with value: 0.552092969417572.
    [I 2023-05-16 13:51:36,277] Trial 14 pruned.
    [I 2023-05-16 13:53:18,104] Trial 15 pruned.
    [I 2023-05-16 13:56:09,510] Trial 16 finished with value: 0.55061936378479 and parameters: {'embedding_dim': 10, 'step_size': 0.1635034161619764, 'batch_size': 22, 'num_knots': 8, 'num_epochs': 14}. Best is trial 16 with value: 0.55061936378479.
    [I 2023-05-16 13:58:45,534] Trial 17 pruned.
    [I 2023-05-16 14:01:05,038] Trial 18 finished with value: 0.5474377870559692 and parameters: {'embedding_dim': 10, 'step_size': 0.09757145989527705, 'batch_size': 21, 'num_knots': 8, 'num_epochs': 11}. Best is trial 18 with value: 0.5474377870559692.
    [I 2023-05-16 14:03:13,349] Trial 19 finished with value: 0.5504580140113831 and parameters: {'embedding_dim': 10, 'step_size': 0.07451188845188934, 'batch_size': 21, 'num_knots': 10, 'num_epochs': 10}. Best is trial 18 with value: 0.5474377870559692.
    [I 2023-05-16 14:05:30,764] Trial 20 pruned.
    [I 2023-05-16 14:07:51,313] Trial 21 finished with value: 0.5504915118217468 and parameters: {'embedding_dim': 10, 'step_size': 0.09127880283109413, 'batch_size': 21, 'num_knots': 9, 'num_epochs': 11}. Best is trial 18 with value: 0.5474377870559692.
    [I 2023-05-16 14:12:01,758] Trial 24 pruned.
    [I 2023-05-16 14:14:01,872] Trial 25 finished with value: 0.5533891320228577 and parameters: {'embedding_dim': 8, 'step_size': 0.04751520803612312, 'batch_size': 25, 'num_knots': 7, 'num_epochs': 11}. Best is trial 18 with value: 0.5474377870559692.
    [I 2023-05-16 14:14:31,830] Trial 26 pruned.
    [I 2023-05-16 14:16:31,624] Trial 27 pruned.
    [I 2023-05-16 14:17:23,984] Trial 28 pruned.
    [I 2023-05-16 14:18:51,356] Trial 29 finished with value: 0.5457538962364197 and parameters: {'embedding_dim': 8, 'step_size': 0.13211122832046326, 'batch_size': 25, 'num_knots': 7, 'num_epochs': 8}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:19:04,338] Trial 30 pruned.
    [I 2023-05-16 14:20:58,053] Trial 31 finished with value: 0.5471680760383606 and parameters: {'embedding_dim': 9, 'step_size': 0.12051766993729413, 'batch_size': 24, 'num_knots': 7, 'num_epochs': 10}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:22:28,943] Trial 32 finished with value: 0.5484800934791565 and parameters: {'embedding_dim': 9, 'step_size': 0.1350120045520072, 'batch_size': 24, 'num_knots': 7, 'num_epochs': 8}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:23:45,819] Trial 33 finished with value: 0.5470632314682007 and parameters: {'embedding_dim': 8, 'step_size': 0.14023891747931272, 'batch_size': 29, 'num_knots': 6, 'num_epochs': 8}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:24:45,267] Trial 34 finished with value: 0.5472076535224915 and parameters: {'embedding_dim': 8, 'step_size': 0.13117200797554532, 'batch_size': 28, 'num_knots': 6, 'num_epochs': 6}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:25:41,412] Trial 35 finished with value: 0.5481413006782532 and parameters: {'embedding_dim': 8, 'step_size': 0.12787847077760797, 'batch_size': 30, 'num_knots': 6, 'num_epochs': 6}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:25:52,282] Trial 36 pruned.
    [I 2023-05-16 14:26:13,702] Trial 37 pruned.
    [I 2023-05-16 14:26:24,767] Trial 38 pruned.
    [I 2023-05-16 14:26:46,242] Trial 39 pruned.
    [I 2023-05-16 14:26:58,833] Trial 40 pruned.
    [I 2023-05-16 14:28:44,142] Trial 41 finished with value: 0.5478605031967163 and parameters: {'embedding_dim': 9, 'step_size': 0.10991139878687864, 'batch_size': 23, 'num_knots': 6, 'num_epochs': 9}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:28:55,803] Trial 42 pruned.
    [I 2023-05-16 14:29:42,913] Trial 43 pruned.
    [I 2023-05-16 14:29:53,219] Trial 44 pruned.
    [I 2023-05-16 14:32:12,767] Trial 45 finished with value: 0.5510103702545166 and parameters: {'embedding_dim': 8, 'step_size': 0.13294787666551827, 'batch_size': 19, 'num_knots': 8, 'num_epochs': 10}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:32:25,770] Trial 46 pruned.
    [I 2023-05-16 14:33:05,893] Trial 47 pruned.
    [I 2023-05-16 14:33:17,972] Trial 48 pruned.
    [I 2023-05-16 14:33:27,999] Trial 49 pruned.
    [I 2023-05-16 14:34:58,939] Trial 50 finished with value: 0.548008918762207 and parameters: {'embedding_dim': 7, 'step_size': 0.1188385833141742, 'batch_size': 24, 'num_knots': 5, 'num_epochs': 8}. Best is trial 29 with value: 0.5457538962364197.
    [I 2023-05-16 14:36:44,330] Trial 51 finished with value: 0.5456315875053406 and parameters: {'embedding_dim': 9, 'step_size': 0.10349576742944284, 'batch_size': 23, 'num_knots': 6, 'num_epochs': 9}. Best is trial 51 with value: 0.5456315875053406.
    [I 2023-05-16 14:38:34,265] Trial 52 finished with value: 0.5477826595306396 and parameters: {'embedding_dim': 9, 'step_size': 0.08255405684622294, 'batch_size': 22, 'num_knots': 8, 'num_epochs': 9}. Best is trial 51 with value: 0.5456315875053406.
    [I 2023-05-16 14:38:45,968] Trial 53 pruned.
    [I 2023-05-16 14:41:11,552] Trial 54 finished with value: 0.5464255809783936 and parameters: {'embedding_dim': 9, 'step_size': 0.15220435604755156, 'batch_size': 18, 'num_knots': 5, 'num_epochs': 10}. Best is trial 51 with value: 0.5456315875053406.
    [I 2023-05-16 14:41:58,299] Trial 55 pruned.
    [I 2023-05-16 14:42:13,632] Trial 56 pruned.
    [I 2023-05-16 14:42:24,865] Trial 57 pruned.
    [I 2023-05-16 14:42:36,089] Trial 58 pruned.
    [I 2023-05-16 14:46:21,727] Trial 59 finished with value: 0.5469729900360107 and parameters: {'embedding_dim': 8, 'step_size': 0.11974443062383662, 'batch_size': 10, 'num_knots': 7, 'num_epochs': 9}. Best is trial 51 with value: 0.5456315875053406.
    [I 2023-05-16 14:47:03,519] Trial 60 pruned.
    [I 2023-05-16 14:47:31,881] Trial 61 pruned.
    [I 2023-05-16 14:47:50,088] Trial 62 pruned.
    [I 2023-05-16 14:48:12,140] Trial 63 pruned.
    [I 2023-05-16 14:53:58,366] Trial 64 finished with value: 0.54804927110672 and parameters: {'embedding_dim': 8, 'step_size': 0.12109008616830022, 'batch_size': 7, 'num_knots': 7, 'num_epochs': 10}. Best is trial 51 with value: 0.5456315875053406.
    [I 2023-05-16 14:54:11,199] Trial 65 pruned.
    [I 2023-05-16 14:54:29,273] Trial 66 pruned.
    [I 2023-05-16 14:54:55,176] Trial 67 pruned.
    [I 2023-05-16 14:56:54,073] Trial 68 pruned.
    [I 2023-05-16 14:57:04,121] Trial 69 pruned.
    [I 2023-05-16 14:57:17,006] Trial 70 pruned.
    [I 2023-05-16 14:57:59,526] Trial 71 pruned.
    [I 2023-05-16 15:00:31,045] Trial 72 finished with value: 0.5448167324066162 and parameters: {'embedding_dim': 10, 'step_size': 0.12348839219144747, 'batch_size': 21, 'num_knots': 4, 'num_epochs': 12}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:00:59,047] Trial 73 pruned.
    [I 2023-05-16 15:01:12,108] Trial 74 pruned.
    [I 2023-05-16 15:01:25,507] Trial 75 pruned.
    [I 2023-05-16 15:01:40,910] Trial 76 pruned.
    [I 2023-05-16 15:01:52,602] Trial 77 pruned.
    [I 2023-05-16 15:02:03,786] Trial 78 pruned.
    [I 2023-05-16 15:02:17,834] Trial 79 pruned.
    [I 2023-05-16 15:02:31,560] Trial 80 pruned.
    [I 2023-05-16 15:05:11,754] Trial 81 finished with value: 0.5505939722061157 and parameters: {'embedding_dim': 10, 'step_size': 0.09693637532253328, 'batch_size': 18, 'num_knots': 8, 'num_epochs': 11}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:07:31,855] Trial 82 finished with value: 0.5452252626419067 and parameters: {'embedding_dim': 10, 'step_size': 0.10736798488072687, 'batch_size': 21, 'num_knots': 5, 'num_epochs': 11}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:10:11,985] Trial 83 finished with value: 0.5455586910247803 and parameters: {'embedding_dim': 10, 'step_size': 0.11029341867793249, 'batch_size': 20, 'num_knots': 5, 'num_epochs': 12}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:12:45,041] Trial 84 finished with value: 0.5451682806015015 and parameters: {'embedding_dim': 10, 'step_size': 0.11064724698745025, 'batch_size': 21, 'num_knots': 5, 'num_epochs': 12}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:15:37,670] Trial 85 finished with value: 0.5449997186660767 and parameters: {'embedding_dim': 10, 'step_size': 0.10999072001976948, 'batch_size': 20, 'num_knots': 5, 'num_epochs': 13}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:18:30,467] Trial 86 finished with value: 0.544962465763092 and parameters: {'embedding_dim': 10, 'step_size': 0.10910249007003223, 'batch_size': 20, 'num_knots': 5, 'num_epochs': 13}. Best is trial 72 with value: 0.5448167324066162.
    [I 2023-05-16 15:21:22,493] Trial 87 finished with value: 0.5443105697631836 and parameters: {'embedding_dim': 10, 'step_size': 0.10968446514533971, 'batch_size': 20, 'num_knots': 5, 'num_epochs': 13}. Best is trial 87 with value: 0.5443105697631836.
    [I 2023-05-16 15:21:37,229] Trial 88 pruned.
    [I 2023-05-16 15:24:22,859] Trial 89 finished with value: 0.5452568531036377 and parameters: {'embedding_dim': 10, 'step_size': 0.10563663288646509, 'batch_size': 21, 'num_knots': 4, 'num_epochs': 13}. Best is trial 87 with value: 0.5443105697631836.
    [I 2023-05-16 15:24:36,545] Trial 90 pruned.
    [I 2023-05-16 15:27:15,270] Trial 91 pruned.
    [I 2023-05-16 15:27:28,395] Trial 92 pruned.
    [I 2023-05-16 15:27:44,715] Trial 93 pruned.
    [I 2023-05-16 15:29:09,166] Trial 94 pruned.
    [I 2023-05-16 15:29:48,571] Trial 95 pruned.
    [I 2023-05-16 15:30:13,401] Trial 96 pruned.
    [I 2023-05-16 15:30:38,577] Trial 97 pruned.
    [I 2023-05-16 15:30:52,502] Trial 98 pruned.
    [I 2023-05-16 15:31:08,150] Trial 99 pruned.

In [16]:

    trial = study.best_trial

    print('Test loss: {}'.format(trial.value))
    print("Best hyperparameters: {}".format(trial.params))

    Test loss: 0.5443105697631836
    Best hyperparameters: {'embedding_dim': 10, 'step_size': 0.10968446514533971, 'batch_size': 20, 'num_knots': 5, 'num_epochs': 13}

In [17]:

    study.best_params

Out[17]:

    {'embedding_dim': 10,
     'step_size': 0.10968446514533971,
     'batch_size': 20,
     'num_knots': 5,
     'num_epochs': 13}

In [18]:

    train_spline_fm(**study.best_params)

Out[18]:

    0.54607093334198

In [32]:

    spline_losses = []
    for i in trange(20):
        loss = train_spline_fm(**study.best_params)
        spline_losses.append(loss)

    100%|██████████| 20/20 [2:36:52<00:00, 470.63s/it]

In [33]:

    spline_losses

Out[33]:

    [0.5441789627075195,
     0.5446186661720276,
     0.5441141128540039,
     0.5452879667282104,
     0.5450193881988525,
     0.544367790222168,
     0.5449992418289185,
     0.5459874272346497,
     0.5445811152458191,
     0.5439596772193909,
     0.5442858338356018,
     0.5452952980995178,
     0.5440512895584106,
     0.5441167950630188,
     0.5458352565765381,
     0.5453296899795532,
     0.5457161664962769,
     0.5438892245292664,
     0.5454685688018799,
     0.5439222455024719]

In [36]:

    np.mean(spline_losses), np.std(spline_losses), 100 * np.std(spline_losses) / np.mean(spline_losses)

Out[36]:

    (0.5447512358427048, 0.0006816852086465472, 0.12513697331810766)

In [19]:

    def train_bin_fm(embedding_dim: int, step_size: float, batch_size: int,
                      num_bins: int, bin_strategy: str, num_epochs: int,
                      callback: Callable[[int, float], None]=None):
        num_fields = tr_feats.shape[1]
        num_embeddings = num_fields * num_bins
        index_offsets = np.arange(0, num_fields) * num_bins

        discretizer = KBinsDiscretizer(num_bins, encode='ordinal', strategy=bin_strategy, random_state=42)
        discretizer.fit(tr_feats)

        tr_indices = discretizer.transform(tr_feats)
        tr_indices += np.tile(index_offsets, (tr_indices.shape[0], 1))
        tr_weights = np.ones_like(tr_indices)
        tr_fields = np.tile(np.arange(0, num_fields), (tr_indices.shape[0], 1))
        tr_offsets = tr_fields.copy()

        te_indices = discretizer.transform(te_feats)
        te_indices += np.tile(index_offsets, (te_indices.shape[0], 1))
        te_weights = np.ones_like(te_indices)
        te_fields = np.tile(np.arange(0, num_fields), (te_indices.shape[0], 1))
        te_offsets = te_fields.copy()

        train_ds = TensorDataset(
            torch.tensor(tr_indices, dtype=torch.int64),
            torch.tensor(tr_weights, dtype=torch.float32),
            torch.tensor(tr_offsets, dtype=torch.int64),
            torch.tensor(tr_fields, dtype=torch.int64),
            torch.tensor(tr_target.values, dtype=torch.float32))

        test_ds = TensorDataset(
            torch.tensor(te_indices, dtype=torch.int64),
            torch.tensor(te_weights, dtype=torch.float32),
            torch.tensor(te_offsets, dtype=torch.int64),
            torch.tensor(te_fields, dtype=torch.int64),
            torch.tensor(te_target.values, dtype=torch.float32))

        trainer = FMTrainer(embedding_dim, step_size, batch_size, num_epochs, callback)
        return trainer.train(num_fields, num_embeddings, train_ds, test_ds, torch.nn.BCEWithLogitsLoss(), device)

In [20]:

    def test_bins_objective(trial: optuna.Trial):
        embedding_dim = trial.suggest_int('embedding_dim', 1, 10)
        step_size = trial.suggest_float('step_size', 1e-2, 0.5, log=True)
        batch_size = trial.suggest_int('batch_size', 2, 32)
        num_bins = trial.suggest_int('num_bins', 2, 100)
        bin_strategy = trial.suggest_categorical('bin_strategy', ['uniform', 'quantile'])
        num_epochs = trial.suggest_int('num_epochs', 5, 15)

        def callback(epoch: int, loss: float):
            trial.report(loss, epoch)
            if trial.should_prune():
                raise optuna.TrialPruned()

        return train_bin_fm(embedding_dim, step_size, batch_size, num_bins, bin_strategy, num_epochs,
                             callback=callback)

In [25]:

    study_bins = optuna.create_study(study_name='bins',
                                     direction='minimize',
                                     sampler=optuna.samplers.TPESampler(seed=42))
    study_bins.optimize(test_bins_objective, n_trials=100)

    [I 2023-05-16 17:56:07,154] A new study created in memory with name: bins
    [I 2023-05-16 17:57:02,886] Trial 0 finished with value: 0.619638204574585 and parameters: {'embedding_dim': 4, 'step_size': 0.4123206532618726, 'batch_size': 24, 'num_bins': 61, 'bin_strategy': 'uniform', 'num_epochs': 5}. Best is trial 0 with value: 0.619638204574585.
    [I 2023-05-16 17:58:24,214] Trial 1 finished with value: 0.6673367023468018 and parameters: {'embedding_dim': 9, 'step_size': 0.10502105436744279, 'batch_size': 23, 'num_bins': 4, 'bin_strategy': 'uniform', 'num_epochs': 7}. Best is trial 0 with value: 0.619638204574585.
    [I 2023-05-16 18:02:30,571] Trial 2 finished with value: 0.6010141372680664 and parameters: {'embedding_dim': 2, 'step_size': 0.020492680115417352, 'batch_size': 11, 'num_bins': 53, 'bin_strategy': 'uniform', 'num_epochs': 11}. Best is trial 2 with value: 0.6010141372680664.
    [I 2023-05-16 18:05:42,727] Trial 3 finished with value: 0.5987718105316162 and parameters: {'embedding_dim': 2, 'step_size': 0.03135775732257745, 'batch_size': 13, 'num_bins': 47, 'bin_strategy': 'uniform', 'num_epochs': 10}. Best is trial 3 with value: 0.5987718105316162.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:09:00,206] Trial 4 finished with value: 0.5832148790359497 and parameters: {'embedding_dim': 6, 'step_size': 0.011992724522955167, 'batch_size': 20, 'num_bins': 18, 'bin_strategy': 'quantile', 'num_epochs': 15}. Best is trial 4 with value: 0.5832148790359497.
    [I 2023-05-16 18:17:01,027] Trial 5 finished with value: 0.6009398698806763 and parameters: {'embedding_dim': 9, 'step_size': 0.032925293631105246, 'batch_size': 5, 'num_bins': 69, 'bin_strategy': 'uniform', 'num_epochs': 10}. Best is trial 4 with value: 0.5832148790359497.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:19:27,871] Trial 6 pruned.
    [I 2023-05-16 18:19:48,211] Trial 7 pruned.
    [I 2023-05-16 18:21:05,460] Trial 8 pruned.
    [I 2023-05-16 18:21:20,011] Trial 9 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:23:04,272] Trial 10 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:23:20,767] Trial 11 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:25:28,543] Trial 12 finished with value: 0.5801069736480713 and parameters: {'embedding_dim': 4, 'step_size': 0.054696341306600824, 'batch_size': 16, 'num_bins': 19, 'bin_strategy': 'quantile', 'num_epochs': 8}. Best is trial 12 with value: 0.5801069736480713.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:27:04,174] Trial 13 finished with value: 0.596434473991394 and parameters: {'embedding_dim': 5, 'step_size': 0.07591662279249083, 'batch_size': 19, 'num_bins': 3, 'bin_strategy': 'quantile', 'num_epochs': 7}. Best is trial 12 with value: 0.5801069736480713.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:28:44,453] Trial 14 finished with value: 0.5830127596855164 and parameters: {'embedding_dim': 7, 'step_size': 0.05229377100752715, 'batch_size': 21, 'num_bins': 24, 'bin_strategy': 'quantile', 'num_epochs': 8}. Best is trial 12 with value: 0.5801069736480713.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:30:02,155] Trial 15 finished with value: 0.585361123085022 and parameters: {'embedding_dim': 8, 'step_size': 0.05978147851218307, 'batch_size': 28, 'num_bins': 25, 'bin_strategy': 'quantile', 'num_epochs': 8}. Best is trial 12 with value: 0.5801069736480713.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:32:56,490] Trial 16 finished with value: 0.5682916045188904 and parameters: {'embedding_dim': 10, 'step_size': 0.1144071469437875, 'batch_size': 7, 'num_bins': 11, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 16 with value: 0.5682916045188904.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:36:06,747] Trial 17 finished with value: 0.5747998952865601 and parameters: {'embedding_dim': 10, 'step_size': 0.13374108744688787, 'batch_size': 7, 'num_bins': 12, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 16 with value: 0.5682916045188904.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:36:43,490] Trial 18 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:51:16,110] Trial 19 finished with value: 0.570247232913971 and parameters: {'embedding_dim': 10, 'step_size': 0.186673234206586, 'batch_size': 2, 'num_bins': 10, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 16 with value: 0.5682916045188904.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 18:53:24,258] Trial 20 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:00:42,901] Trial 21 finished with value: 0.5667562484741211 and parameters: {'embedding_dim': 10, 'step_size': 0.16203799437336638, 'batch_size': 7, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 21 with value: 0.5667562484741211.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:12:47,615] Trial 22 finished with value: 0.5725176930427551 and parameters: {'embedding_dim': 10, 'step_size': 0.22498597947092785, 'batch_size': 7, 'num_bins': 9, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 21 with value: 0.5667562484741211.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:16:57,604] Trial 23 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:22:31,218] Trial 24 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:36:56,810] Trial 25 finished with value: 0.5702816843986511 and parameters: {'embedding_dim': 10, 'step_size': 0.16630721997202083, 'batch_size': 6, 'num_bins': 11, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 21 with value: 0.5667562484741211.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 19:39:16,439] Trial 26 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 20:33:20,160] Trial 27 finished with value: 0.5745582580566406 and parameters: {'embedding_dim': 10, 'step_size': 0.29359161827819175, 'batch_size': 2, 'num_bins': 10, 'bin_strategy': 'quantile', 'num_epochs': 7}. Best is trial 21 with value: 0.5667562484741211.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 20:35:39,205] Trial 28 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 20:37:05,324] Trial 29 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 20:39:09,789] Trial 30 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 20:57:02,152] Trial 31 finished with value: 0.563521146774292 and parameters: {'embedding_dim': 10, 'step_size': 0.17664745859149553, 'batch_size': 6, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 21:16:26,866] Trial 32 finished with value: 0.5699363946914673 and parameters: {'embedding_dim': 9, 'step_size': 0.09948397411295899, 'batch_size': 4, 'num_bins': 7, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 21:33:02,243] Trial 33 finished with value: 0.5796449780464172 and parameters: {'embedding_dim': 9, 'step_size': 0.09263049444174426, 'batch_size': 5, 'num_bins': 5, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 21:34:29,613] Trial 34 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 21:39:00,619] Trial 35 pruned.
    [I 2023-05-16 21:41:04,618] Trial 36 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 22:17:20,310] Trial 37 finished with value: 0.5727415680885315 and parameters: {'embedding_dim': 8, 'step_size': 0.1358168371468552, 'batch_size': 5, 'num_bins': 16, 'bin_strategy': 'quantile', 'num_epochs': 12}. Best is trial 31 with value: 0.563521146774292.
    [I 2023-05-16 22:18:20,505] Trial 38 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 22:19:42,025] Trial 39 pruned.
    [I 2023-05-16 22:23:14,602] Trial 40 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 23:08:49,825] Trial 41 finished with value: 0.5661600232124329 and parameters: {'embedding_dim': 10, 'step_size': 0.19223072224996668, 'batch_size': 2, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 23:23:33,790] Trial 42 finished with value: 0.5786995887756348 and parameters: {'embedding_dim': 10, 'step_size': 0.18871715869883565, 'batch_size': 6, 'num_bins': 15, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-16 23:57:51,369] Trial 43 finished with value: 0.5689788460731506 and parameters: {'embedding_dim': 9, 'step_size': 0.15024261795843966, 'batch_size': 3, 'num_bins': 6, 'bin_strategy': 'quantile', 'num_epochs': 7}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:02:55,807] Trial 44 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:12:09,390] Trial 45 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:14:37,524] Trial 46 pruned.
    [I 2023-05-17 00:19:32,955] Trial 47 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:29:59,220] Trial 48 finished with value: 0.5767027139663696 and parameters: {'embedding_dim': 8, 'step_size': 0.12520705121970266, 'batch_size': 11, 'num_bins': 16, 'bin_strategy': 'quantile', 'num_epochs': 8}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:31:38,311] Trial 49 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:34:37,255] Trial 50 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 00:53:17,428] Trial 51 finished with value: 0.5676518082618713 and parameters: {'embedding_dim': 9, 'step_size': 0.11970185109001226, 'batch_size': 4, 'num_bins': 7, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:25:18,369] Trial 52 finished with value: 0.5728670358657837 and parameters: {'embedding_dim': 9, 'step_size': 0.14479851286871542, 'batch_size': 2, 'num_bins': 6, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:28:36,086] Trial 53 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:47:06,391] Trial 54 finished with value: 0.5652084946632385 and parameters: {'embedding_dim': 8, 'step_size': 0.18247074155759938, 'batch_size': 3, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:47:36,067] Trial 55 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:49:29,978] Trial 56 pruned.
    [I 2023-05-17 01:50:57,235] Trial 57 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:51:32,524] Trial 58 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:51:55,516] Trial 59 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 01:57:24,958] Trial 60 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 02:19:42,317] Trial 61 finished with value: 0.5649561882019043 and parameters: {'embedding_dim': 9, 'step_size': 0.15854853800163632, 'batch_size': 3, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 31 with value: 0.563521146774292.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 02:36:26,648] Trial 62 finished with value: 0.5633455514907837 and parameters: {'embedding_dim': 9, 'step_size': 0.13789649551190705, 'batch_size': 4, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 02:53:13,311] Trial 63 finished with value: 0.5634021162986755 and parameters: {'embedding_dim': 9, 'step_size': 0.17370147806234265, 'batch_size': 4, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 02:55:29,456] Trial 64 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 02:59:14,055] Trial 65 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:04:43,316] Trial 66 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:07:30,317] Trial 67 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:09:21,939] Trial 68 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:13:03,016] Trial 69 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:15:18,326] Trial 70 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:29:11,810] Trial 71 finished with value: 0.5728471875190735 and parameters: {'embedding_dim': 9, 'step_size': 0.16043025104423567, 'batch_size': 4, 'num_bins': 7, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:45:52,303] Trial 72 finished with value: 0.5690411329269409 and parameters: {'embedding_dim': 9, 'step_size': 0.13548610655419344, 'batch_size': 4, 'num_bins': 12, 'bin_strategy': 'quantile', 'num_epochs': 6}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:51:30,136] Trial 73 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:51:55,671] Trial 74 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 03:53:34,450] Trial 75 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:00:24,077] Trial 76 pruned.
    [I 2023-05-17 04:03:50,085] Trial 77 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:05:44,346] Trial 78 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:08:34,872] Trial 79 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:15:43,057] Trial 80 finished with value: 0.5693953633308411 and parameters: {'embedding_dim': 3, 'step_size': 0.162465843382197, 'batch_size': 8, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:23:50,679] Trial 81 finished with value: 0.5700226426124573 and parameters: {'embedding_dim': 10, 'step_size': 0.13740103063318257, 'batch_size': 7, 'num_bins': 10, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:35:00,856] Trial 82 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:36:10,725] Trial 83 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:38:28,271] Trial 84 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:40:07,390] Trial 85 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:45:46,889] Trial 86 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:46:38,603] Trial 87 pruned.
    [I 2023-05-17 04:48:24,854] Trial 88 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:49:06,506] Trial 89 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:51:22,851] Trial 90 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:55:05,171] Trial 91 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 04:57:51,707] Trial 92 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:00:38,139] Trial 93 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:18:53,640] Trial 94 finished with value: 0.5650147199630737 and parameters: {'embedding_dim': 9, 'step_size': 0.19063182460476266, 'batch_size': 3, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 5}. Best is trial 62 with value: 0.5633455514907837.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:24:19,924] Trial 95 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:28:20,617] Trial 96 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:30:47,569] Trial 97 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:31:27,953] Trial 98 pruned.
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    [I 2023-05-17 05:33:18,017] Trial 99 pruned.

In [26]:

    study_bins.best_params

Out[26]:

    {'embedding_dim': 9,
     'step_size': 0.13789649551190705,
     'batch_size': 4,
     'num_bins': 8,
     'bin_strategy': 'quantile',
     'num_epochs': 6}

In [27]:

    trial = study_bins.best_trial

    print('Test loss: {}'.format(trial.value))
    print("Best hyperparameters: {}".format(trial.params))

    Test loss: 0.5633455514907837
    Best hyperparameters: {'embedding_dim': 9, 'step_size': 0.13789649551190705, 'batch_size': 4, 'num_bins': 8, 'bin_strategy': 'quantile', 'num_epochs': 6}

In [28]:

    train_bin_fm(**study_bins.best_params)

    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(

Out[28]:

    0.5625268816947937

In [34]:

    bin_losses = []
    for i in trange(20):
        loss = train_bin_fm(**study_bins.best_params)
        bin_losses.append(loss)

      0%|          | 0/20 [00:00<?, ?it/s]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
      5%|▌         | 1/20 [16:40<5:16:46, 1000.36s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     10%|█         | 2/20 [32:37<4:52:28, 974.94s/it] /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     15%|█▌        | 3/20 [48:53<4:36:21, 975.38s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     20%|██        | 4/20 [1:06:11<4:26:39, 1000.00s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     25%|██▌       | 5/20 [1:23:34<4:13:55, 1015.72s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     30%|███       | 6/20 [1:40:50<3:58:36, 1022.61s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     35%|███▌      | 7/20 [1:51:43<3:15:22, 901.70s/it] /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     40%|████      | 8/20 [2:02:38<2:44:38, 823.21s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     45%|████▌     | 9/20 [2:13:17<2:20:20, 765.46s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     50%|█████     | 10/20 [2:24:11<2:01:52, 731.21s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     55%|█████▌    | 11/20 [2:34:52<1:45:33, 703.67s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     60%|██████    | 12/20 [2:45:46<1:31:48, 688.54s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     65%|██████▌   | 13/20 [2:56:24<1:18:31, 673.05s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     70%|███████   | 14/20 [3:07:19<1:06:46, 667.74s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     75%|███████▌  | 15/20 [3:17:49<54:41, 656.28s/it]  /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     80%|████████  | 16/20 [3:23:46<37:45, 566.35s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     85%|████████▌ | 17/20 [3:29:42<25:08, 502.98s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     90%|█████████ | 18/20 [3:35:38<15:17, 458.70s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
     95%|█████████▌| 19/20 [3:41:33<07:07, 427.72s/it]/usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 8 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 12 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 16 are removed. Consider decreasing the number of bins.
      warnings.warn(
    /usr/local/lib64/python3.9/site-packages/sklearn/preprocessing/_discretization.py:291: UserWarning: Bins whose width are too small (i.e., <= 1e-8) in feature 20 are removed. Consider decreasing the number of bins.
      warnings.warn(
    100%|██████████| 20/20 [3:47:29<00:00, 682.50s/it]

In [35]:

    bin_losses

Out[35]:

    [0.5628558397293091,
     0.5632562637329102,
     0.5656234622001648,
     0.5647141933441162,
     0.5634582042694092,
     0.5627597570419312,
     0.5638707280158997,
     0.5648466944694519,
     0.5640009045600891,
     0.563601016998291,
     0.5659196972846985,
     0.5635817050933838,
     0.5617431402206421,
     0.5623651146888733,
     0.5654476881027222,
     0.562347412109375,
     0.5612610578536987,
     0.5633291602134705,
     0.5651400685310364,
     0.5640577077865601]

In [37]:

    np.mean(bin_losses), np.std(bin_losses), 100 * np.std(bin_losses) / np.mean(bin_losses)

Out[37]:

    (0.5637089908123016, 0.0012599007055282235, 0.22350197106360029)

In [38]:

    100 * (np.mean(spline_losses) / np.mean(bin_losses) - 1)

Out[38]:

    -3.363039312585525