scikit-learn - LightGBM:持续训练 Sklearn 界面
问题描述
我试图弄清楚如何使用 LightGBM Sklearn 界面来继续训练分类器。文档清楚地表明我需要为 fit 方法提供“init_score”输入。这应该是一个类似数组的形状 [n_samples],所以在行级别。不幸的是,该文档没有解释如何从先前拟合的树中计算该 init_score。我可以看到没有明显的方法来计算这个分数。例如,predict 方法默认生成标签,如果我要求 raw_scores,我会得到一个形状为 [n_samples, n_labels] 的 ndarray。我浏览了 LightGBM 代码,但看不到如何为 init_score 创建适当的值。有人可以帮忙吗?
解决方案
这是对我有用的代码。
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)
推荐阅读
- dart - Dart 2 中的 const 何时是可选的?
- angular - Angular6:延迟加载时的引导模块组件
- c - 并行化基数排序 OpenMP C
- matlab - 如何用 quiver 绘制我的微分方程?
- python - 读入数据
- javascript - Node Requests - Would like to return path/file name once complete? Or any best practice suggestions
- ssl - Namecheap 域名不会在没有“www”的情况下重定向
- webpack - 为什么我的图像在 Webpack 中被超压缩?
- java - 多个循环与通过 switch 语句循环 [Java]
- php - PHP SQL查询不返回结果