我想正确使用一些Light gbm函数。
这是标准的方法,它与sklearn:中的任何其他分类器都没有什么不同
- 定义X,y
- 列车_测试_拆分
- 创建分类器
- 适合列车
- 测试预测
-
比较
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25) #here maybe DecisionTreeClassifier(), RandomForestClassifier() etc model = lgb.LGBMClassifier() model.fit(X_train, y_train) predicted_y = model.predict(X_test) print(metrics.classification_report())
但light-gbm有自己的功能,就像lgb一样。数据集,Booster。
然而,在这个kaggle笔记本中,它根本没有调用LightGBMClassifier!为什么?
以lgbm的方式调用lgbm函数和训练模型的标准顺序是什么?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)
#why need this Dataset wrapper around x_train,y_train?
d_train = lgbm.Dataset(X_train, y_train)
#where is light gbm classifier()?
bst = lgbm.train(params, d_train, 50, early_stopping_rounds=100)
preds = bst.predict(y_test)
为什么它马上就训练?
LightGBM有几个不同的API,具有不同的方法名称(LGBMClassifier、Booster、train等(、参数,有时还有不同类型的数据,这就是为什么train方法不需要调用LGBMClassfier,而是需要另一种类型的数据集。没有正确/错误/标准的方法——如果使用得当,所有方法都是好的。https://lightgbm.readthedocs.io/en/latest/Python-API.html#training-api