LightGBM可用于Mac M1吗?
我的目标是学习我尝试了什么: pip install lightgbm - >它引发错误python setup.py egg_info did not run successfully. 然后,我做了pip install wheel - >现在它引发了错误python setup.py bdist_wheel did not run successfully. 然后,我做过pip install Cmake,pip install --upgrade pip setuptools,brew install libomp - >错误持续了. 完整错误 × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [80 lines of output] INFO:root:running bdist_wheel /Library/Framew
28 2024-03-02
编程技术问答社区
为回归复制 LightGBM 自定义损失函数
我想重现LightGBM的自定义损失功能.这就是我尝试的: lgb.train(params=params, train_set=dtrain, num_boost_round=num_round, fobj=default_mse_obj) 使用DEFAULT_MSE_OBJ定义为: residual = y_true - y_pred.get_label() grad = -2.0*residual hess = 2.0+(residual*0) return grad, hess 但是,与定义的自定义损耗函数相比,默认"回归"目标的评估指标是不同的.我想知道,LightGBM用于"回归"目标的默认函数是什么? 解决方案 as you can see here ,这是回归任务的默认损失函数 def default_mse_obj(y_pred, dtrain): y_true = dtrain.get_label() grad =
76 2023-12-20
编程技术问答社区
带有GridSearchCV的Python-LightGBM,正在永久运行
最近,我正在进行多个实验来比较Python XGBoost和LightGBM.看来,这种LightGBM是一种新算法,人们说它在速度和准确性上都比XGBoost更好. 这是 lightgbm github . 这是 lightgbm python api文档可以打电话.它可以直接从LightGBM模型调用,也可以由LightGBM Scikit-Learn调用. 这是 xgboost python api i使用.如您所见,它具有与上面的LightGBM Python API相似的数据结构. 这是我尝试的: 如果您在XGBoost和LightGBM中都使用train()方法,则LightGBM的工作速度更快,精度更高.但是这种方法没有交叉验证. 如果您在两种算法中尝试cv()方法,则用于交叉验证.但是,我找不到使用它的方法返回一组最佳参数. 如果您尝试使用LGBMClassifier和XGBClassifer尝试Scikit-Learn GridSearchC
38 2023-12-20
编程技术问答社区
在此Xgboost树中如何计算休假的分数?
我正在查看以下图像. 有人可以解释如何计算他们吗? 我虽然是-1的n和+1,但我却无法弄清楚小女孩的.1.但这对树2也不起作用. 解决方案 在训练过程中,XGBoost算法设计了叶元素(aka" scores") - +2,+0.1,+0.1,-1,+0.9和-0.9.在这种情况下,Xgboost模型是使用数据集训练的,该数据集比小女孩(+0.1)(+0.1)看起来"更大"的数据集(+2).如果您知道响应变量是什么,那么您可能会进一步解释/合理化这些贡献.否则,只要接受这些值. 至于得分样本,则第一个加成是由Tree1产生的,第二个加成是由Tree2产生的.对于小男孩(age
94 2023-12-20
编程技术问答社区
如果您想提前停止并使用管道转换器,LightGBM sklearn api 与 sklearn'gridsearch 的配合并不好
LightGBM的Sklearn API分类器LGBMClassifier允许您在其lgbmclassifier.fit()方法中指定早期_STOPPING_ROUNDS,eval_metric和eval_set参数.虽然很方便,但使用自定义数据处理器和Sklearn的GridSeach效果不佳.示例: ml_pipeline = Pipeline(steps=[ ('cdf',custom_data_transformer()), ('lgb',LGBMClassifier())]) # You can't throw in lgb__early_stopping_rounds here because that parameter # is used during the .fit() method, not the instantiation of the LGBMClassifier() params = {'lgb__max_depth':np.aran
18 2023-10-21
编程技术问答社区
LightGBM 错误: ValueError: 对于早期停止,至少需要一个数据集和评估指标进行评估
我正在尝试通过GridSearch训练LightGBM,当我尝试训练模型时,我会出现以下错误. ValueError: For early stopping, at least one dataset and eval metric is required for evaluation 我提供了验证数据集和评估指标.不知道为什么我仍然会遇到这个问题.这是我的代码. train_data = rtotal[rtotal['train_Y'] == 1] test_data = rtotal[rtotal['train_Y'] == 0] trainData, validData = train_test_split(train_data, test_size=0.007, random_state = 123) #train data prep X_train = trainData.iloc[:,2:71] y_train = trainData.loc[:,[
6 2023-08-21
编程技术问答社区
轻量级gbm-python API与Scikit-learn API的比较
我正在尝试应用LightGBM并通过Python Api 训练API和Scikit-Learn API是否有区别?我们可以使用两个API来解决相同问题的结果吗? 解决方案 简短的答案:是的,如果您以相同的方式配置它们,它们将提供相同的结果. 原因是Sklearn API只是围绕"本地训练" API的包装,而后端C ++库周围是包装纸.最后,这是您的选择.我个人会建议支持Sklearn API.两个主要优点是: 您可以使用完整的Sklearn Toolkit(具有数据预处理,超参数优化,模型评估等) ) 您可以以无痛的方式在不同的模型之间切换,即您的输入数据具有相同的格式(pd.DataFrame或np.ndarray),Trainign接口相同,您可以在Sklearn型号,LightGBM,XGBOOST,CATBOOST之间切换或通过简单地实例化不同的对象并通过相同的步骤,或者vowpal wabbit.
12 2023-08-21
编程技术问答社区
如何使用lightgbm.cv进行回归?
我想使用 lgb.dataset 对LightGBM模型进行交叉验证,并使用早期_Stopping_Rounds .以下方法与XGBoost的 xgboost.cv 无问题.我宁愿不使用GridSearchCV使用Scikit Learn的方法,因为它不支持早期停止或LGB.Dataset. import lightgbm as lgb from sklearn.metrics import mean_absolute_error dftrainLGB = lgb.Dataset(data = dftrain, label = ytrain, feature_name = list(dftrain)) params = {'objective': 'regression'} cv_results = lgb.cv( params, dftrainLGB, num_boost_round=100, nfold
34 2023-08-06
编程技术问答社区
如何保存 Tidymodels Lightgbm 模型以供重复使用
我有以下代码,用于创建使用lightgbm模型创建tidymodels工作流程.但是,当我尝试将其保存到.rds对象中并预测 时,存在一些问题 library(AmesHousing) library(treesnip) library(lightgbm) library(tidymodels) tidymodels_prefer() ### Model ### # data data % janitor::clean_names() data
30 2023-07-27
编程技术问答社区
访问 LightGBM 模型参数
有时我保存了一个LightGBM模型,然后在重新加载时,想访问有关该模型的构建方式的一些细节.有没有办法恢复objective = "regression",例如? 为方便起见,这是以下简短的代码: library(lightgbm) data(agaricus.train, package = "lightgbm") train
26 2023-07-27
编程技术问答社区
从LightGBM模型中访问树和结点
在Sci-kit学习中,可以访问整个树结构,即树的每个节点.这允许探索在树的每个拆分处使用的属性,以及用于测试的值 The binary tree structure has 5 nodes and has the following tree structure: node=0 test node: go to node 1 if X[:, 3]
56 2023-07-24
编程技术问答社区
为什么 LightGBM Python-package 在回归任务中的预测结果很差?
我有一个示例时间序列数据集(23,208),这是某些用户的24小时计数的枢轴表计数;我正在尝试从Sklearn的不同回归器进行实验(除 我曾经尝试过的代码: import pandas as pd dff = pd.read_csv('ex_data2.csv',sep=',') dff.set_index("timestamp",inplace=True) print(dff.shape) from sklearn.model_selection import train_test_split trainingSetf, testSetf = train_test_split(dff, #target_attribute, test_size=0.2,
18 2023-07-22
编程技术问答社区
什么是 Python LightGBM 中的 leaf_values?
我正在使用LightGBM软件包. 我已经成功地使用了" create_tree_digraph"创建了一棵新树,但是我会遇到一些麻烦. 叶子节点中有"叶value".我不知道这意味着什么.拜托,有人帮助我理解这一点.谢谢. :) 我从这里使用了此示例代码: https://www.analyticsvidhya.com/blog/2017/06/which-algorithm-takes-takes-the--crown-the-crown-the-crown-light-gbm-vs-vs-xgboost/ #importing standard libraries import numpy as np import pandas as pd from pandas import Series, DataFrame import graphviz import lightgbm as lgb #loading our training dataset
16 2023-07-21
编程技术问答社区
Lightgbm 排名示例
任何人都可以与如何使用LightGBM训练排名模型的数据共享一个最小的示例?最好与Scikit-Lean API?我正在挣扎的是如何传递标签数据.我的数据是页面印象,看起来像这样: X: user1, feature1, ... user2, feature1, ... y: user1, page1, 10 impressions user1, page2, 6 impressions user2, page1, 9 impressions 到目前为止,我想我已经弄清楚 我的培训数据的长度必须是上述y(3):每行(用户,页面)组. scikit-klearn api中的参数group(标准API中的set_group())是长度set(user_ids)的列表,其中每个条目都是本用户访问的不同页面的数量.在上面的示例中,THAAT为(2,1).此列表的总和将等于我的训练集的长度. 但是,如何给出用户1的信息,访问page1的频率比第2页? ? 解决方案
4 2023-07-21
编程技术问答社区
Lightgbm 预测问题 TypeError: 未知参数类型:boosting_type, 得到:dict
问题 在纽约出租车持续时间数据集上使用LightGBM构建预测精度模型. [kaggle型号:https://www.kaggle.com/code/mobilematthew/newyorkcitytaxidurationprediction/edit/run/123885887 用一组参数设置光梯度提升,两种模型,1)用于lgbmclassifier拟合/预测,2)到lightgb train/predict. 测试2)LightGB火车/预测和此代码有效.添加1)LGBMCLASSIFIER拟合/预测具有完全相同的参数应效果很好,但是拟合会引起错误. 2)模型在此问题之前进行训练.问题是当我尝试从LightGBM进行预测1)LGBMClassifier拟合模型.这是错误:从lightgbm.fit()函数提出的" typeError". y是一个维度. X_Train具有多个功能,所有功能都通过重要性降低.分析这个numpy.ndarray的2个维度.
452 2023-07-17
编程技术问答社区
有约束条件的产品特征优化
我已经培训了一个学习数据集的LightGBM模型.该模型可以预测样本的相关性评分.因此,预测越高.现在,该模型已经学会了我想找到一些能够为我提供最高预测分数的最佳值. 所以,可以说我有功能u,v,w,x,y,z,我想优化的功能是x,y,z. maximize f(u,v,w,x,y,z) w.r.t features x,y,z where f is a lightgbm model subject to constraints : y = Ax + b z = 4 if y = thresh_b else 4-0.3 thresh_m
18 2023-07-14
编程技术问答社区
在Mac上安装具有OpenMP依赖性的Lightgbm
我是Python的新手,想安装../anaconda/envs/python3/lib/python3.6/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error) 342 343 if handle is None: --> 344 self._handle = _dlopen(self._name, mode) 345 else: 346 self._handle = handle OSError: dlopen(../anaconda/envs/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, 6): Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib Referenced from: ../anaconda/envs/py
46 2023-07-14
编程技术问答社区
docker中的Lightgbm libgomp.so.1: 无法打开共享对象文件
我在Mac中安装了LightGBM,并早些时候测试了一个不同的项目. 现在,我在Mac上的Python 3.6的码头码器中.一旦我在烧瓶应用程序中添加import lightgbm as lgbm,我就会获得错误 OSError: libgomp.so.1: cannot open shared object file: No such file or directory 发生了什么事?有人可以建议吗? 解决方案 这对我有用,将其包括在您的Dockerfile 中 RUN apt-get update && apt-get install -y --no-install-recommends apt-utils RUN apt-get -y install curl RUN apt-get install libgomp1 来源:/2223#ISSUECOMMENT-499788066 其他解决方案 根据图像的不同,您可能还需要一个C ++编译器,
14 2023-07-02
编程技术问答社区
在Google Collab上为LightGBM安装GPU支持
任何人试图使用那里的笔记本在Google Joparanc上安装lightgbm的GPU支持? 解决方案 非常简单:只需运行 !pip install lightgbm --install-option=--gpu 或 pip install lightgbm --install-option=--gpu --install-option="--opencl-include-dir=/usr/local/cuda/include/" --install-option="--opencl-library=/usr/local/cuda/lib64/libOpenCL.so" 记住要在笔记本中启用GPU支持,然后在LightGBM设置中添加'device':'gpu'.而且不要忘记卸载不支持GPU版本的LightGBM版本. 其他解决方案 确保正确遵循安装步骤 !git clone --recursive https://github.com/Mic
36 2023-07-02
编程技术问答社区
Python: 如何从Optuna LightGBM研究中检索出最佳模型?
我想获得以后在笔记本中使用的最佳型号,以预测使用其他测试批次. 可重现的示例(取自Optuna github): import lightgbm as lgb import numpy as np import sklearn.datasets import sklearn.metrics from sklearn.model_selection import train_test_split import optuna # FYI: Objective functions can take additional arguments # (https://optuna.readthedocs.io/en/stable/faq.html#objective-func-additional-args). def objective(trial): data, target = sklearn.datasets.load_breast_cancer(return_X_
6 2023-06-30
编程技术问答社区