我正在用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
答案 0 :(得分:0)
数据数是数据的行数,要素数是数据的列数。如果您的数据是二维数组或形状为83390 * 5937的数据框,则lgbm正在使用您的所有数据。
答案 1 :(得分:0)
LightGBM将自动禁用无法拆分的功能,例如几乎所有值均为零(或相同)的功能。
答案 2 :(得分:0)
正如@yanqi 所说,LightGBM 将自动禁用无法拆分的功能。因此,如果您强制使用所有功能,这些功能不会对模型性能产生任何影响。所以最好不要使用这些功能来节省计算资源。