4.5 Booster API 转换
从
LGBMModel
转换到Booster
:通过.booster_
属性来获取底层的Booster
。源码:
@property
def booster_(self):
"""Get the underlying lightgbm Booster of this model."""
if self._Booster is None:
raise LGBMNotFittedError('No booster found. Need to call fit beforehand.')
return self._Booster
- 用途:当使用
scikit-learn API
学习到一个模型之后,需要保存模型。则需要先转换成Booster
对象,再调用其.save_model()
方法。
使用
Booster
来预测分类的概率:因为
Booster
仅仅提供了predict
接口,而未提供predict_proba
接口。因此需要使用这种转换在
LGBMClassifier
的predict_proba
方法中的源码:class_probs = self.booster_.predict(X, raw_score=raw_score, num_iteration=num_iteration)
if self._n_classes > 2:return class_probs
else:return np.vstack((1. - class_probs, class_probs)).transpose()