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