fs_scheme : "local",
verbose : false,

data {
    train {
        data_path : "demo/data/ytklearn/machine.train.ytklearn",
        max_error_tol : 0
    },

    test {
        data_path : "demo/data/ytklearn/machine.test.ytklearn",
        max_error_tol : 0
    },

    delim {
        x_delim : "###",
        y_delim : ",",
        features_delim : ",",
        feature_name_val_delim : ":"
    },

    // ["0@0.1","1@0.5",...]
    y_sampling : [],
    assigned : false,
    unassigned_mode : "lines_avg" // "files_avg"
},

feature {
    feature_hash {
        need_feature_hash : false,
        bucket_size : 1000000,
        seed : 39916801,
        feature_prefix : "hash_"
    },

    transform {
        switch_on : false,
        // "standardization", "scale_range"
        mode : "standardization",
        scale_range {
            min : -1,
            max : 1
        },

        include_features : [],
        exclude_features : []
    },

    filter_threshold : 0
},

model {
    data_path : "demo/win/gbhmlr/regression/gbhmlr.model",
    delim : ",",
    need_dict : false,
    dict_path : "",
    dump_freq : 50,
    need_bias : true,
    bias_feature_name : "_bias_",
    continue_train : false
},

loss {
    loss_function : "l2",
    evaluate_metric : ["rmse"],
    just_evaluate : false,
    regularization : {
        l1 : [5.28e-9],
        l2 : [5.28e-7]
    }
},

optimization {
    optimizer : "line_search",

    line_search {

        mode : "wolfe",

        backtracking : {
            step_decr : 0.5,
            step_incr : 2.1,
            max_iter : 55,
            min_step : 1e-16,
            max_step : 1e18,
            c1 : 1e-4,
            c2 : 0.9
        }

        lbfgs {
            m : 12,
            convergence : {
                max_iter : 100,
                eps : 1e-3
            }
        }
    }

},

hyper {
    switch_on : false,
    restart : true,
    mode : "hoag",

    hoag {
        init_step : 1.0,
        step_decr_factor : 0.7,
        test_loss_reduce_limit : 1e-5,
        outer_iter : 10,
        l1 : [0.0],
        l2 : [5.28e-7]
    },

    grid {
        l1 : [1e-9, 1e-6, 5],
        l2 : [1e-8, 1e-5, 5]
    }

},

random {
    mode : "normal",
    seed : 111111,
    normal {
        mean : 0.0,
        std : 0.01
    },

    uniform {
        range_start : -0.01,
        range_end : 0.01
    },
},

k : 16,
instance_sample_rate : 1.0,
feature_sample_rate : 1.0,
uniform_base_prediction : 0.5,
sample_dependent_base_prediction : false,
tree_num : 1,
learning_rate : 1.0,
type : "gradient_boosting" // random_forest

