from sklearn.ensemble import HistGradientBoostingClassifier


def portfolio_hgb():
    hgb = [
        HistGradientBoostingClassifier(l2_regularization=1e-06,
                                       max_bins=255,
                                       max_iter=200,
                                       max_leaf_nodes=128,
                                       min_samples_leaf=50),
        HistGradientBoostingClassifier(l2_regularization=1.0,
                                       max_bins=64,
                                       max_depth=5,
                                       max_leaf_nodes=4),
        HistGradientBoostingClassifier(l2_regularization=1.0,
                                       max_bins=64,
                                       max_depth=18,
                                       max_iter=350,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=7),
        HistGradientBoostingClassifier(l2_regularization=1e-07,
                                       max_bins=16,
                                       max_depth=19,
                                       max_iter=500,
                                       max_leaf_nodes=8,
                                       min_samples_leaf=27),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       max_bins=255,
                                       max_depth=16,
                                       max_leaf_nodes=128,
                                       min_samples_leaf=8),
        HistGradientBoostingClassifier(l2_regularization=1e-07,
                                       max_bins=255,
                                       max_depth=16,
                                       max_iter=350,
                                       max_leaf_nodes=128,
                                       min_samples_leaf=13),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       max_bins=8,
                                       max_depth=20,
                                       max_iter=150,
                                       max_leaf_nodes=4,
                                       min_samples_leaf=13),
        HistGradientBoostingClassifier(l2_regularization=1e-07,
                                       max_bins=16,
                                       max_depth=3,
                                       max_iter=350,
                                       max_leaf_nodes=16,
                                       min_samples_leaf=14),
        HistGradientBoostingClassifier(l2_regularization=0.001,
                                       learning_rate=0.01,
                                       max_bins=64,
                                       max_depth=9,
                                       max_iter=450,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=12),
        HistGradientBoostingClassifier(l2_regularization=0.0001,
                                       max_bins=128,
                                       max_depth=20,
                                       max_iter=500,
                                       max_leaf_nodes=128,
                                       min_samples_leaf=3),
        HistGradientBoostingClassifier(l2_regularization=0.01,
                                       learning_rate=0.01,
                                       max_bins=8,
                                       max_depth=19,
                                       max_iter=350,
                                       max_leaf_nodes=4,
                                       min_samples_leaf=3),
        HistGradientBoostingClassifier(l2_regularization=0.01,
                                       learning_rate=1.0,
                                       max_bins=32,
                                       max_depth=2,
                                       max_iter=150,
                                       max_leaf_nodes=32),
        HistGradientBoostingClassifier(l2_regularization=1e-06,
                                       max_bins=128,
                                       max_depth=12,
                                       max_iter=300,
                                       max_leaf_nodes=4,
                                       min_samples_leaf=3),
        HistGradientBoostingClassifier(l2_regularization=1e-08,
                                       max_bins=8,
                                       max_depth=6,
                                       max_iter=500,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=15),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       max_bins=255,
                                       max_depth=20,
                                       max_iter=400,
                                       max_leaf_nodes=64,
                                       min_samples_leaf=5),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       learning_rate=1.0,
                                       max_bins=16,
                                       max_depth=2,
                                       max_iter=200,
                                       max_leaf_nodes=64,
                                       min_samples_leaf=2),
        HistGradientBoostingClassifier(l2_regularization=0.01,
                                       max_bins=255,
                                       max_depth=3,
                                       max_iter=400,
                                       max_leaf_nodes=16,
                                       min_samples_leaf=11),
        HistGradientBoostingClassifier(l2_regularization=100.0,
                                       max_bins=255,
                                       max_depth=11,
                                       max_iter=400,
                                       max_leaf_nodes=16,
                                       min_samples_leaf=18),
        HistGradientBoostingClassifier(l2_regularization=0.001,
                                       max_bins=64,
                                       max_depth=14,
                                       max_iter=200,
                                       max_leaf_nodes=16,
                                       min_samples_leaf=3),
        HistGradientBoostingClassifier(l2_regularization=0.01,
                                       max_bins=16,
                                       max_depth=4,
                                       max_iter=450,
                                       max_leaf_nodes=64,
                                       min_samples_leaf=19),
        HistGradientBoostingClassifier(l2_regularization=0.0001,
                                       learning_rate=0.01,
                                       max_bins=64,
                                       max_depth=19,
                                       max_iter=200,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=8),
        HistGradientBoostingClassifier(l2_regularization=1e-05,
                                       max_bins=16,
                                       max_iter=400,
                                       max_leaf_nodes=128,
                                       min_samples_leaf=48),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       max_bins=16,
                                       max_depth=4,
                                       max_iter=50,
                                       max_leaf_nodes=4,
                                       min_samples_leaf=6),
        HistGradientBoostingClassifier(l2_regularization=1.0,
                                       max_bins=128,
                                       max_depth=16,
                                       max_leaf_nodes=8,
                                       min_samples_leaf=5),
        HistGradientBoostingClassifier(l2_regularization=0.001,
                                       max_bins=255,
                                       max_depth=18,
                                       max_iter=450,
                                       max_leaf_nodes=64,
                                       min_samples_leaf=9),
        HistGradientBoostingClassifier(l2_regularization=1.0,
                                       max_bins=16,
                                       max_depth=2,
                                       max_iter=300,
                                       max_leaf_nodes=16,
                                       min_samples_leaf=8),
        HistGradientBoostingClassifier(l2_regularization=10.0,
                                       max_bins=255,
                                       max_depth=15,
                                       max_iter=200,
                                       max_leaf_nodes=64),
        HistGradientBoostingClassifier(l2_regularization=0.01,
                                       max_bins=64,
                                       max_depth=5,
                                       max_iter=450,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=15),
        HistGradientBoostingClassifier(l2_regularization=1.0,
                                       learning_rate=1.0,
                                       max_bins=128,
                                       max_depth=2,
                                       max_iter=50,
                                       max_leaf_nodes=32,
                                       min_samples_leaf=3),
        HistGradientBoostingClassifier(l2_regularization=100.0,
                                       max_bins=64,
                                       max_depth=7,
                                       max_iter=350,
                                       max_leaf_nodes=8,
                                       min_samples_leaf=5),
        HistGradientBoostingClassifier(l2_regularization=1e-05,
                                       max_bins=255,
                                       max_depth=16,
                                       max_iter=400,
                                       max_leaf_nodes=64,
                                       min_samples_leaf=10),
        HistGradientBoostingClassifier(l2_regularization=1e-10,
                                       max_bins=64,
                                       max_depth=2,
                                       max_leaf_nodes=4,
                                       min_samples_leaf=3)
    ]
    return (hgb)
