问题标签 [lightgbm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1338 浏览

pandas - lightgbm 是否按顺序返回预测?

我有一个 lightgbm 多类分类模型,我想为其创建一个混淆矩阵。第一步,我只想在 df 上绘制预测值与实际值……我的问题是 lightgbm.predict 是否会按您给它的数据集的顺序返回预测值。

如果您遵循下面的代码,我的“预测”部分是否正确地将测试数据集行与对应的预测行匹配?

这是我创建测试和训练集的方式:

运行模型:

然后是预测:

0 投票
2 回答
1668 浏览

r - customized metric function for multi class in lightgbm

In my data, there are about 70 classes and I am using lightGBM to predict the correct class label.

In R, would like to have a customised "metric" function where I can evaluate whether top 3 predictions by lightgbm cover the true label.

The link here is inspiring to see

however I don't know the dimensionality of the arguments going to function. seems data are shuffled for some reason.

0 投票
0 回答
955 浏览

python - AttributeError:模块“lightgbm”没有属性“数据集”

我已经通过安装 lightgbmconda install -c conda-forge lightgbm并成功导入import lightgbm as lgb,但是当我尝试时train.lgm出现此错误: AttributeError: module 'lightgbm' has no attribute 'Dataset' 。我也进口了from sklearn import *。我更新了 scikit-learn 但也没有用。任何帮助,将不胜感激!

0 投票
1 回答
1840 浏览

c# - 如何在 .NET Framework 4.6.1 应用程序中预测/评分 XGBoost 或 LightGBM

LightGBM我有一个机器学习问题,我在使用和的训练/测试数据上获得了非常好的结果XGBoost。下一步是从这些模型之一获取预测到现有 C# 应用程序 (.NET Framework 4.6.1) 是否有任何库可以帮助我做到这一点?到目前为止我已经尝试过:

  • ML.NET:应该适用于LigthGBM,但由于这个错误,它仅适用于 .NET Core。
  • Windows.ML:这应该能够预测 ONNX 模型,并且我设法从我的模型创建了一个 ONNXXGBoost模型。但 Windows.ML 似乎只适用于 UWP 应用程序,至少所有示例都是 UWP。
  • SharpLearning:这个库有一个接口XGBoost。不幸的是,它不支持我所依赖的样本权重。
  • CNTK:尝试加载 ONNX 文件(类似于此示例),但得到:错误:CNTK 不支持 ONNX (TreeEnsembleClassifier)。

有什么建议,还是我必须等待 ML.NET 修复错误?

0 投票
1 回答
1782 浏览

lightgbm - 使用具有平均精确召回分数的 lightgbm

我正在使用 LightGBM,并希望使用平均精度召回作为指标。我尝试定义 feval:

其中 APS 定义为:

我得到一个错误:

TypeError:未知类型的参数:feval,得到:函数

我也尝试使用“MAP”作为指标

但出现以下错误:

“lightgbm.basic.LightGBMError:对于MAP metric,应该有查询信息”

我找不到所需的查询信息。

如何正确使用 feval 并定义“MAP”所需的查询

谢谢

0 投票
0 回答
744 浏览

python - 使用 CalibratedClassifierCV 对 lightgbm 进行概率校准

我正在尝试将 sklearn 的 CalibratedClassifierCV() 与 lightgbm 一起使用,如下所示:

但是它给我带来了错误,因为有一些分类变量,lightgbm 可以有效地处理这些变量,而不必转换为一种热编码,但 CalibratedClassifierCV 不是。

错误:ValueError: could not convert string to float: 'RC'

它正在调用sklearn的validation.py,它在步骤中抛出错误,因为在字符串对象上调用astype float:

有没有办法可以在不转换为数字变量的情况下处理这个问题?我避免将类别转换为数字,因为有超过 10000 个类别

0 投票
3 回答
2897 浏览

lightgbm - 二进制:LightGBM 中的逻辑类参数

我希望我的预测概率在 0 到 1 之间。我已经在 xgboost 中做到了,但我也想尝试 Lightgbm,但它输出可靠的预测(仅整数)。我可以在 XGBoost 中通过将 'objective' 参数设置为 binary:logistic 来做到这一点,但在 Lightgbm 中似乎没有任何类似的参数,它只有二进制并且输出 0 或 1。

0 投票
0 回答
1214 浏览

machine-learning - 从经过训练的 xgboost 模型中提取树和权重

我已经用大约 X 树训练了一个 xgboost 模型。我想用完全相同的超参数创建模型的一些副本,但修剪树的数量。例如,我想创建一个具有相同权重和参数的模型,而树的数量只有一半。是否可以使用 xgboost api 来做到这一点。

我尝试了一种简单的快速方法来反序列化经过训练的 xgboost 模型并将 booster_params['num_boost_round'] 重置为原来的一半。但这似乎并没有影响任何模型质量和预测分数,这意味着在评分/评估时不使用此参数。

剩下的唯一选择是转储文本或 pmml 文件,用树的子集将其解析回来。想知道是否可以使用 xgboost api 本身来做到这一点(比如更改会带来相同效果的参数),而无需转换为单独的表示/格式并自己解析。

0 投票
1 回答
287 浏览

nlp - 我可以解释 doc2vec 组件吗?

我正在解决公司文件的二进制文本分类问题。将长度为 100 的 Doc2Vec 嵌入与 LightGBM 一起使用会产生很好的效果。然而,对于这个项目,为至少一个组件近似一个主题含义将是非常有价值的。理想情况下,这将是一个被 LightGBM 列为高度重要的功能,并通过一些例子进行了轶事解释。

有没有人尝试过这个,或者对于这种复杂程度的高维模型,解释是否应该被排除在外?

0 投票
1 回答
313 浏览

python-3.x - 将 google ml 引擎预测用于需要额外模块的 sci-kit 学习模型

我在一个单独的文件中定义了我的管道model.py

训练和转储模型

为了加载模型,脚本需要访问model.py. 使用 google ml 引擎时我应该把这个文件放在哪里?

我试过了

model.py内部path/to/models目录。

错误

cloud.ml.prediction.prediction_utils.PredictionError:加载模型失败:无法加载模型:/path/to/the/model/model.joblib。没有名为“模型”的模块。(错误代码:0)

另一个问题是是否可以lightgbm在 ml-engine 预测中使用它?