什么'使用这两种方法进行轻量级gbm分类器之间的区别是什么



我想正确使用一些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

最新更新