问题标签 [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.
pandas - lightgbm 是否按顺序返回预测?
我有一个 lightgbm 多类分类模型,我想为其创建一个混淆矩阵。第一步,我只想在 df 上绘制预测值与实际值……我的问题是 lightgbm.predict 是否会按您给它的数据集的顺序返回预测值。
如果您遵循下面的代码,我的“预测”部分是否正确地将测试数据集行与对应的预测行匹配?
这是我创建测试和训练集的方式:
运行模型:
然后是预测:
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.
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 但也没有用。任何帮助,将不胜感激!
c# - 如何在 .NET Framework 4.6.1 应用程序中预测/评分 XGBoost 或 LightGBM
LightGBM
我有一个机器学习问题,我在使用和的训练/测试数据上获得了非常好的结果XGBoost
。下一步是从这些模型之一获取预测到现有 C# 应用程序 (.NET Framework 4.6.1) 是否有任何库可以帮助我做到这一点?到目前为止我已经尝试过:
- ML.NET:应该适用于
LigthGBM
,但由于这个错误,它仅适用于 .NET Core。 - Windows.ML:这应该能够预测 ONNX 模型,并且我设法从我的模型创建了一个 ONNX
XGBoost
模型。但 Windows.ML 似乎只适用于 UWP 应用程序,至少所有示例都是 UWP。 - SharpLearning:这个库有一个接口
XGBoost
。不幸的是,它不支持我所依赖的样本权重。 - CNTK:尝试加载 ONNX 文件(类似于此示例),但得到:错误:CNTK 不支持 ONNX (TreeEnsembleClassifier)。
有什么建议,还是我必须等待 ML.NET 修复错误?
lightgbm - 使用具有平均精确召回分数的 lightgbm
我正在使用 LightGBM,并希望使用平均精度召回作为指标。我尝试定义 feval:
其中 APS 定义为:
我得到一个错误:
TypeError:未知类型的参数:feval,得到:函数
我也尝试使用“MAP”作为指标
但出现以下错误:
“lightgbm.basic.LightGBMError:对于MAP metric,应该有查询信息”
我找不到所需的查询信息。
如何正确使用 feval 并定义“MAP”所需的查询
谢谢
python - 使用 CalibratedClassifierCV 对 lightgbm 进行概率校准
我正在尝试将 sklearn 的 CalibratedClassifierCV() 与 lightgbm 一起使用,如下所示:
但是它给我带来了错误,因为有一些分类变量,lightgbm 可以有效地处理这些变量,而不必转换为一种热编码,但 CalibratedClassifierCV 不是。
错误:ValueError: could not convert string to float: 'RC'
它正在调用sklearn的validation.py,它在步骤中抛出错误,因为在字符串对象上调用astype float:
有没有办法可以在不转换为数字变量的情况下处理这个问题?我避免将类别转换为数字,因为有超过 10000 个类别
lightgbm - 二进制:LightGBM 中的逻辑类参数
我希望我的预测概率在 0 到 1 之间。我已经在 xgboost 中做到了,但我也想尝试 Lightgbm,但它输出可靠的预测(仅整数)。我可以在 XGBoost 中通过将 'objective' 参数设置为 binary:logistic 来做到这一点,但在 Lightgbm 中似乎没有任何类似的参数,它只有二进制并且输出 0 或 1。
machine-learning - 从经过训练的 xgboost 模型中提取树和权重
我已经用大约 X 树训练了一个 xgboost 模型。我想用完全相同的超参数创建模型的一些副本,但修剪树的数量。例如,我想创建一个具有相同权重和参数的模型,而树的数量只有一半。是否可以使用 xgboost api 来做到这一点。
我尝试了一种简单的快速方法来反序列化经过训练的 xgboost 模型并将 booster_params['num_boost_round'] 重置为原来的一半。但这似乎并没有影响任何模型质量和预测分数,这意味着在评分/评估时不使用此参数。
剩下的唯一选择是转储文本或 pmml 文件,用树的子集将其解析回来。想知道是否可以使用 xgboost api 本身来做到这一点(比如更改会带来相同效果的参数),而无需转换为单独的表示/格式并自己解析。
nlp - 我可以解释 doc2vec 组件吗?
我正在解决公司文件的二进制文本分类问题。将长度为 100 的 Doc2Vec 嵌入与 LightGBM 一起使用会产生很好的效果。然而,对于这个项目,为至少一个组件近似一个主题含义将是非常有价值的。理想情况下,这将是一个被 LightGBM 列为高度重要的功能,并通过一些例子进行了轶事解释。
有没有人尝试过这个,或者对于这种复杂程度的高维模型,解释是否应该被排除在外?
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 预测中使用它?