lightGBM和XGBoost使用方法总结

it2026-06-17  9

在Python语言中LightGBM提供了两种调用方式,分为为原生的API和Scikit-learn API,两种方式都可以完成训练和验证。当然原生的API更加灵活,看个人习惯来进行选择。

1.直接import lightgbm as lgt 和import XGBoost as xgb 这种方式在做训练的时候需要把数据转换成模型所能处理的格式,刚入手的人容易犯错

lightGBM为Dataset格式: lgb_train = lgb.Dataset(train_X, train_y, free_raw_data=False) lgb_eval = lgb.Dataset(test_X, test_y, reference=lgb_train,free_raw_data=False) bst=lgb.cv(param,lgb_train, num_boost_round=1000, nfold=6, early_stopping_rounds=100)

XGBoost为DMatrix格式 dtrain = xgb.DMatrix( train_X, label=train_y) dtest = xgb.DMatrix( test_X, label=test_y) bst = xgb.train( params, dtrain, num_round )

estimators = lgb.train(param,lgb_train,num_boost_round=len(bst[‘auc-mean’]))

2.利用和Sklearn类似包处理,较简洁,与其他Sklearn一样的使用方法 如XGBoost clf = xgb.XGBClassifier(params) clf.fit(X_train, y_train, early_stopping_rounds=10, eval_metric=“auc”, eval_set=[(X_test, y_test)])

如lightGBM estimator=lgb.LGBMRegressor(n_estimators=100,boosting_type=‘gbdt’, objective=‘regression’) estimator.fit(train_X, train_y)

最新回复(0)