LightGBM: продолжение обучения Sklearn Interface - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь понять, как использовать интерфейс LightGBM Sklearn для продолжения обучения классификатора.Документация проясняет, что мне нужно предоставить вход "init_score" для метода fit.Предполагается, что это форма массива [n_samples], поэтому на уровне строк.К сожалению, документация не объясняет, как вычислить этот init_score из ранее подходящего дерева.Я не вижу очевидных методов для вычисления этой оценки.Например, метод прогнозирования создает метки по умолчанию, и если я запрашиваю raw_scores, я получаю ndarray формы [n_samples, n_labels].Я просмотрел код LightGBM и не вижу, как создать соответствующее значение для init_score.Кто-нибудь, пожалуйста, помогите?

1 Ответ

0 голосов
/ 20 октября 2018

Вот код, который работал для меня.

X_b, X_test_b, y_b, y_test_b = train_test_split(X,y)
d_train = lgb.Dataset(X_b, label=y_b)

params = {}
params['learning_rate'] = 0.03
params['boosting_type'] = 'gbdt'
params['objective'] = 'regression'
<keep going...>

lg_model = lgb.train(params, d_train, 27500)
y_pred = lg_model.predict(X_test_b)
...