LightGBM笔记
炼丹笔记:记录我们的成长轨迹
LightGBM如何保存模型?
用lgb保存模型遇到了几个坑,在这里记录一下。
在用Lightgbm.LGBMClassifier训练生成模型时,Scikit-learn 官网上建议的两种方式:
1.pickle方式
这里我写了保存和加载两种方式:
import pickle
def pkl_save(filename,file):output = open(filename, 'wb')pickle.dump(file, output)output.close()def pkl_load(filename):pkl_file = open(filename, 'rb')file = pickle.load(pkl_file) pkl_file.close()return file
2.joblib方式
from sklearn.externals import joblib
joblib.dump(model_lgb, 'dota_model.pkl')
clf = joblib.load('dota_model.pkl')
但是,使用你这两种方式遇到了一个坑,那就是sklearn版本的问题!
你可会发现这个错误“ModuleNotFoundError: No module named 'sklearn.preprocessing.label'”
产生这个的原因,是其实已经提醒我们了,
在版本大于0.21的情况下,函数发生了变化。
所以我们介绍第3中保存lightGBM的方式。
3. Booster
clf = lgb.LGBMClassifier( ... )
clf.fit(X_train, y_train, **fit_params)
clf.booster_.savemodel("dota_model.txt")
加载:
clf_loads = lgb.Booster(model_file='dota_model.txt')
probas = clf_fs.predict(test)
需要注意的是,这里的是predict而不是predict_proba,得到概率。
在Github上所述的(现已关闭) #1217问题中 ,从事该项目的Microsoft开发人员说 ,在这种情况下:
booster.predict()
实际上将返回概率
因此,不应该写predict_proba
。
LightGBM的metric有哪些?
- “None”(字符串),表示无度量,等效于na,null,custom
- l1(absolute loss),等效于mean_absolute_error,mae,regression_l1
- l2(square loss),等效于mean_squared_error,mse,regression_l2,regression
- rmse(平方根损失),等效于root_mean_squared_error,l2_root
- quantile,分位数回归
- mape(MAPE损失),等效于mean_absolute_percentage_error
- huber(huber损失)
- fair(fair损失)
- poisson,泊松回归的负对数似然
- gamma,Gamma回归的负对数似然
- gamma_deviance,Gamma回归残差
- tweedie,Tweedie回归的负对数似然
- ndcg,等效于lambdarank,rank_xendcg,xendcg,xe_ndcg,xe_ndcg_mart,xendcg_mart
- map,等效于mean_average_precision
- auc
- average_precision,平均精度得分
- binary_logloss,log loss,等效于binary
- binary_error,对于单样本,0用于正确分类,1用于错误分类
- auc_mu
- multi_logloss,多分类log loss,等效于multiclass,softmax,multiclassova,multiclass_ova,ova,ovr
- multi_error,多分类错误率
- cross_entropy,交叉熵(具有可选的线性权重),等效于xentropy
- cross_entropy_lambda,“intensity-weighted”交叉熵,等效于 xentlambda
- kullback_leibler,Kullback-Leibler散度,等效于kldiv
如何多个评价指标?
支持多个指标,使用“,”分隔。
- ‘metric’: {‘binary_logloss’, ‘auc’}
LightGBM笔记相关推荐
- 龙珠机器学习训练营-LightGBM笔记
本学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:添加链接描述 1.学习知识点概要 了解 LightGBM 的参数与相关知识: 掌握 LightGBM 的Python调用并将其运用到 ...
- 机器学习笔记-LightGBM
LightGBM 中文文档中文文档:https://lightgbm.apachecn.org/#/ 天池学习笔记:AI训练营机器学习-阿里云天池 LightGBM的介绍 LightGBM是2017年 ...
- 阿里机器学习训练营 Day 3 lightGBM 学习笔记
此笔记为阿里云天池机器学习训练营笔记,学习地址:https://tianchi.aliyun.com/s/1fc36a7e103eb9948c974f638e83a83b 感谢教程及阿里云提供平台 1 ...
- 龙珠训练营机器学习-LightGBM学习笔记
本学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:点我跳转 感谢各位的阅读 学习知识点概要 学习内容 1.LightGBM的介绍与应用 1.1 LightGBM的介绍 1.1.1 L ...
- 天池龙珠训练营-机器学习学习笔记-03 LightGBM 分类
天池龙珠训练营-机器学习学习笔记-03 LightGBM 分类 本学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:训练营 一 原理简介: 它是一款基于GBDT(梯度提升决策树)算法的 ...
- 《LightGBM: A Highly Efficient Gradient Boosting Decision Tree》论文笔记
1 简介 本文根据2017年microsoft研究所等人写的论文<LightGBM: A Highly Efficient Gradient Boosting Decision Tree> ...
- 提升算法——lightGBM原理学习笔记
中文官方文档:http://lightgbm.apachecn.org/cn/latest/Installation-Guide.html 英文官方文档:https://lightgbm.readth ...
- 影像组学视频学习笔记(14)-特征权重做图及美化、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(14)主要介绍: 特征权重做图及美化 import matplotlib.pyplot as plt %matplotlib inlin ...
- 影像组学视频学习笔记(12)-支持向量机(SVM)参数优化(代码)、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(12)主要介绍: SVM参数优化(代码) 参数优化: 自动寻找最合适的γ和C组合. 原理:遍历所有给定的参数组合,对数据进行训练,找到最 ...
最新文章
- 高并发下的秒杀系统架构设计实战!
- Linux下的查找命令
- 如何获取元素与当前可视区域顶部的距离
- ARM-Button-Driver-硬件图
- YbtOJ#20066-[NOIP2020模拟赛B组Day4]筹备计划【线段树,树状数组】
- PHP API接口GETPOST请求封装(通用)
- Android开发技术周报 Issue#17
- word2vec词向量训练及中文文本类似度计算
- [Python] L1-005. 考试座位号-PAT团体程序设计天梯赛GPLT
- 格雷码的生成详解(C++)(附格雷码对照表)
- 关于HyperLink的NavigateUrl属性的链接地址带参数出错的问题【整理】
- 接口测试一般怎么测?接口测试的流程和步骤~
- sql 语句高级用法常用合集
- windows10下whisper的安装使用和CUDA的配置
- Ansible主机清单inventory
- 超详细!如何在windows安装Hyper-V虚拟机
- android n 状态栏分析,Android N状态栏图标白底问题
- KUKA KRC4 控制器截图
- Java 实现ES批量索引
- 谷歌与Oracle:Java版权大战现在牵扯到美国总统奥巴马