首页 > 解决方案 > LightGBM:持续训练 Sklearn 界面

问题描述

我试图弄清楚如何使用 LightGBM Sklearn 界面来继续训练分类器。文档清楚地表明我需要为 fit 方法提供“init_score”输入。这应该是一个类似数组的形状 [n_samples],所以在行级别。不幸的是,该文档没有解释如何从先前拟合的树中计算该 init_score。我可以看到没有明显的方法来计算这个分数。例如,predict 方法默认生成标签,如果我要求 raw_scores,我会得到一个形状为 [n_samples, n_labels] 的 ndarray。我浏览了 LightGBM 代码,但看不到如何为 init_score 创建适当的值。有人可以帮忙吗?

标签: scikit-learnlightgbm

解决方案


这是对我有用的代码。

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)

推荐阅读