【问题标题】:Lightgbm, Force use of all featuresLightgbm,强制使用所有功能
【发布时间】:2019-02-16 17:04:45
【问题描述】:

我正在使用 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

【问题讨论】:

  • 迪诺,你好。你有没有找到一种工作方式?我需要评估所有功能的增益。

标签: lightgbm


【解决方案1】:

LightGBM 将自动禁用无法拆分的功能,例如几乎所有值都为零(或相同)的功能。

【讨论】:

    【解决方案2】:

    数据数是数据的行数,特征数是数据的列数。如果您的数据是 83390*5937 形状的二维数组或数据框,则 lgbm 正在使用您的所有数据。

    【讨论】:

    • 好的,但是我的 features 数组应该是 7125 而不是 5937 的数组,这意味着有些列因为相似而被忽略?
    • 它忽略了所有不能用于改进分类的特征。
    【解决方案3】:

    正如@yanqi 所说,LightGBM 将自动禁用无法拆分的功能。因此,如果您强制使用所有功能,这些功能不会对模型性能产生任何影响。所以最好不要使用这些功能来节省计算资源。

    【讨论】:

      猜你喜欢
      • 2013-10-18
      • 2012-05-27
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2016-06-02
      • 2013-11-12
      • 1970-01-01
      • 2018-02-26
      相关资源
      最近更新 更多