我想用lgb.dataset对LightGBM模型进行交叉验证,并使用提前停止回合。以下方法对XGBoost的XGBoost.cv没有问题。我不喜欢在GridSearchCV中使用Scikit Learn方法,因为它不支持提前停止或lgb.Dataset。
import lightgbm as lgb
from sklearn.metrics import mean_absolute_error
dftrainLGB = lgb.Dataset(data = dftrain, label = ytrain, feature_name = list(dftrain))
params = {'objective': 'regression'}
cv_results = lgb.cv(
params,
dftrainLGB,
num_boost_round=100,
nfold=3,
metrics='mae',
early_stopping_rounds=10
)
任务是执行回归,但以下代码会引发错误:
Supported target types are: ('binary', 'multiclass'). Got 'continuous' instead.
LightGBM是否支持回归,或者我是否提供了错误的参数?
默认情况下,lightgbm.cv中的stratify参数是
True
。 根据the documentation:但是stratify只处理分类问题。因此,要处理回归,需要使其为假。
现在它开始工作了。
相关问题 更多 >
编程相关推荐