我正在使用lightgbm对一些二进制文件进行分类,经过大量搜索之后,我仍然无法找到一种方法来强制lightgbm使用我从数据集中提供的所有数据。当培训开始时,它说我有83390个数据(在我的例子中是文件),但是只使用了5XXX特性。我试图改变一些参数,如"min_data_in_leaf“,但它并没有真正改变。
有人能解释一下如何调优Lightgbm,使其使用我所有的数据吗?
2019-02-16 17:02:03,969 Train model
[LightGBM] [Warning] Starting from the 2.1.2 version, default value for the "boost_from_average" parameter in "binary" objective is true.
This may cause significantly different results comparing to the previous versions of LightGBM.
Try to set boost_from_average=false, if your old models produce bad results
[LightGBM] [Info] Number of positive: 41695, number of negative: 41695
[LightGBM] [Info] Total Bins 494351
[LightGBM] [Info] Number of data: 83390, number of used features: 5937
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.500000 -> initscore=0.000000发布于 2019-03-27 08:58:04
LightGBM将自动禁用不能拆分的功能,就像几乎所有值都为零(或相同)的特性一样。
发布于 2019-02-18 06:59:00
数据数是数据的行数,功能数是数据的列数。如果您的数据是一个2d数组或形状为83390*5937的数据,lgbm将使用所有数据。
发布于 2021-01-07 03:30:06
正如@yanqi所言,LightGBM将自动禁用不可分割的功能.因此,如果您强制使用所有的特性,这些特性将不会对模型性能产生任何影响。所以最好不要使用这些特性来节省计算资源。
https://stackoverflow.com/questions/54725543
复制相似问题