LightGBM 警告:没有有意义的特征,因为所有特征值都是常数

2024-03-05

我尝试过以下简单的代码:

import lightgbm, pandas
params = {'objective': 'multiclass', 'num_classes': 4}
train_df = pandas.DataFrame({'f0': [0, 1, 2, 3] * 5, 'f1': [0, 0, 1] * 6 + [1, 2]}, dtype=float)
train_target = pandas.Series([0, 1, 2, 3] * 5)
train_set = lightgbm.Dataset(train_df, train_target)
model = lightgbm.train(params=params, train_set=train_set)

输出如下:

[LightGBM] [警告] 没有有意义的特征,因为所有特征 值是恒定的。

[LightGBM] [信息] 总 bin 0

[LightGBM] [Info] 数据数量:20,使用的特征数量:0

[LightGBM] [Info] 从分数-1.386294开始训练

[LightGBM] [Info] 从分数-1.386294开始训练

[LightGBM] [Info] 从分数-1.386294开始训练

[LightGBM] [Info] 从分数-1.386294开始训练

[LightGBM] [警告] 由于没有更多叶子而停止训练 满足分割要求的

我的特征显然不是一成不变的。

怎么了?

我在 Ubuntu 16.04 上运行 Python 3.5.2。


我想到了。

问题是默认值min_data_in_leaf是20,我没有改变它。

我的数据只有 20 行。因此,LightGBM 报告称无法对其进行分割,因为每次分割的最小样本数为 20。

(事实上​​,它不需要分割它,因为解决方案是一棵树只有一片叶子。但显然 LightGBM 无论如何都在检查分割的可能性。)

我增加了行数,LightGBM 训练得很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LightGBM 警告:没有有意义的特征,因为所有特征值都是常数 的相关文章

  • 【机器学习】lightGBM是什么?

    梯度提升法 Gradient Boosting Machine 简记 GBM 以非参数方法 不假设函数形式 估计基函数 并在 函数空间 使用 梯度下降 进行近似求解 非参数方法包括K近邻法 决策树 以及基于决策树的装袋法 随机森林与提升法等
  • 【LightGBM】feature_importance获取特征重要性

    使用LightGBM feature importance 函数给训练完毕的LightGBM模型的各特征进行重要性排序 feature importance 61 pd DataFrame feature importance 39 fea
  • LightGBM的黑科技--plot函数

    本教程教萌新如何使用lightgbm里面可视化函数 作者 JasonChen 文章内容概览 保留训练结果 plot metric 函数的使用 重要 plot importance 函数的使用 重要 plot tree 函数的使用 可选 cr
  • 机器学习-GBDT

    GBDT gbdt是一种以CART树 通常 为基分类器的boosting算法 大家可以仔细查一下boosting的介绍 这里不再赘述 gbdt通过多轮迭代 每轮迭代产生一个弱分类器 每个分类器在上一轮分类器的残差基础上进行训练 对弱分类器的
  • Lightgbm 直方图优化算法深入理解

    一 概述 在之前的介绍Xgboost的众多博文中 已经介绍过 在树分裂计算分裂特征的增益时 xgboost 采用了预排序的方法来处理节点分裂 这样计算的分裂点比较精确 但是 也造成了很大的时间开销 为了解决这个问题 Lightgbm 选择了
  • 从 LightGBM 模型访问树和节点

    在sci kit learn中 可以访问整个树结构 即树的每个节点 这允许探索树的每个分割所使用的属性以及用于测试的值 The binary tree structure has 5 nodes and has the following
  • light gbm - python API 与 Scikit-learn API

    我正在尝试应用 LightGBM 并已经完成了 Python API文档 Training API 和 Scikit learn API 有什么区别吗 我们可以使用这两个 API 来针对同一问题获得相同的结果吗 简短的回答 是的 如果您以相
  • 在 Google Colaboratory 上使用 GPU 运行 LightGBM/ LGBM

    我经常在 Google Colabatory 上运行 LGBM 我刚刚发现这个页面说 LGBM 默认设置为 CPU 所以你需要先设置 https medium com am sharma lgbm on colab with gpu c1c
  • 安装后无法导入lightgbm

    我的操作系统是 macOS Sierra 10 12 5 我使用的是 Anaconda 和 python 2 7 安装后 当我尝试时 将 lightgbm 导入为 lgb 我收到以下消息 OSError Traceback most rec
  • LightGBM错误:ValueError:为了提前停止,至少需要一个数据集和评估指标进行评估

    我正在尝试使用 gridsearch 训练 LightGBM 当我尝试训练模型时出现以下错误 ValueError For early stopping at least one dataset and eval metric is req
  • Python:如何从 Optuna LightGBM 研究中检索最佳模型?

    我希望获得稍后在笔记本中使用的最佳模型 以使用不同的测试批次进行预测 可重现的示例 取自 Optuna Github import lightgbm as lgb import numpy as np import sklearn data
  • Python - LightGBM 与 GridSearchCV,永远运行

    最近 我正在做多个实验来比较Python XgBoost和LightGBM 看来这个LightGBM是一种新算法 人们说它在速度和准确性上都比XGBoost更好 This is LightGBM GitHub https github co
  • 如何保存 Tidymodels Lightgbm 模型以供重复使用

    我有以下代码用于创建tidymodels工作流程与lightgbm模型 但是 当我尝试保存到 rds对象和预测 library AmesHousing library treesnip library lightgbm library ti
  • 如何使用lightgbm.cv进行回归?

    我想对 LightGBM 模型进行交叉验证lgb 数据集并使用提前停止回合 以下方法对于 XGBoost 来说没有问题xgboost cv 我不喜欢将 Scikit Learn 的方法与 GridSearchCV 一起使用 因为它不支持提前
  • Lightgbm 中“is_unbalance”参数的使用

    I am trying to use the is unbalance parameter in my model training for a binary classification problem where the positiv
  • LightGBM 警告:没有有意义的特征,因为所有特征值都是常数

    我尝试过以下简单的代码 import lightgbm pandas params objective multiclass num classes 4 train df pandas DataFrame f0 0 1 2 3 5 f1 0
  • 为什么 LightGBM 中的 R2 分数为零?

    import numpy as np import pandas as pd import lightgbm from sklearn metrics import r2 score mean squared error as MSE da
  • 使用 LightGBM 进行多类分类

    我正在尝试使用 Python 中的 LightGBM 为多类分类问题 3 类 建模分类器 我使用了以下参数 params task train boosting type gbdt objective multiclass num clas
  • LightGBM:继续训练模型

    我正在使用交叉验证来训练模型 如下所示 classifier lgb Booster params params train set lgb train set result lgb cv init model classifier par
  • Python LightGBM 中的 leaf_values 是什么?

    我正在使用 LightGBM 包 我已经使用 create tree digraph 成功创建了一棵新树 但在理解结果时遇到一些困难 叶节点中有 leaf value 我不知道这意味着什么 请有人帮助我理解这一点 谢谢 我使用了这里的示例代

随机推荐