LightGBM整理
LightGBM整理
- 官网
- 安装
- 加载数据
官网
LightGBM 中文文档.
LightGBM 官网.
安装
# 可能需要的安装包
pip install setuptools wheel numpy scipy scikit-learn -U
# 安装
pip install lightgbm
加载数据
- 加载数据可以接受一下数据:
- libsvm/tsv/csv 文本文件格式。
- Numpy 2维数组, pandas 对象。
- LightGBM 二进制文件。(这种方法会使数据加载的更快)
- 加载数据和特征工程
# 加载numpy数据
data = np.random.rand(500, 10) # 500 个样本, 每一个包含 10 个特征
label = np.random.randint(2, size=500) # 二元目标变量, 0 和 1
train_data = lgb.Dataset(data, label=label)
# 加载pandas数据
pd_data_train_obj=pd.read_csv("data/happiness_train_abbr.csv")
pd_data_train_label=pd_data_train_obj['happiness']
pd_data_train_target=pd_data_train_obj.drop(['happiness','survey_time'],axis=1)
X_train, X_test, y_train, y_test = train_test_split(pd_data_train_target, pd_data_train_label, test_size=0.3, random_state=0)
trn_data=lgb.Dataset(X_train,y_train)
# 加载和保存LightGBM二进制文件
train_data = lgb.Dataset('train.svm.txt')
train_data.save_binary('train.bin')
感觉常用的pandas加载数据的方案。
因为水平不足,特征工程就不在表述了。
- 加载验证数据
test_data = train_data.create_valid('test.svm')
# 或
test_data = lgb.Dataset('test.svm', reference=train_data)
- 设置训练参数
params = {'num_leaves':3, 'max_depth':3,'learning_rate': 0.01,'objective':'regression','boosting': 'gbdt'}
训练参数有许多,可以查看官网的文档。
- 训练和预测数据
num_round=100000
clf = lgb.train(params, trn_data, num_round, valid_sets = [trn_data, val_data], verbose_eval=5000,early_stopping_rounds=10)
## 预测数据
ypred = clf.predict(pd_test_target,num_iteration=clf.best_iteration)
df=pd.DataFrame(ypred,columns=['happiness'])
这里使用了
early_stopping_rounds
预测数据时使用num_iteration=clf.best_iteration
参数。
- 个人感觉这是最简单的步骤,但其实还有很多步骤没有写,比如特征工程,参数的选取。以及完全没有提到的交叉验证和模型融合。
这里有大神的笔记可以参考。LightGBM调参笔记.
LightGBM整理相关推荐
- libsvm回归参数寻优cgp_【lightgbm/xgboost/nn代码整理二】xgboost做二分类,多分类以及回归任务...
1.简介 该部分是代码整理的第二部分,为了方便一些初学者调试代码,作者已将该部分代码打包成一个工程文件,包含简单的数据处理.xgboost配置.五折交叉训练和模型特征重要性打印四个部分.数据处理部分参 ...
- LightGBM模型_相关资料整理
LightGBM 的中文文档 比XGBOOST更快–LightGBM介绍
- 多分类 数据不平衡的处理 lightgbm
前言 数据不平衡问题在机器学习分类问题中很常见,尤其是涉及到"异常检测"类型的分类.因为异常一般指的相对不常见的现象,因此发生的机率必然要小很多.因此正常类的样本量会远远高于异常类 ...
- 基于LightGBM算法实现数据挖掘!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄雨龙,中国科学技术大学 对于回归问题,Datawhale已经梳理 ...
- 【白话机器学习】算法理论+实战之LightGBM算法
1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...
- 最常用的决策树算法(三):XGBoost 和 LightGBM
决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型.本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5.CART),第二篇介绍 Ran ...
- 智慧海洋建设TOP方案借鉴学习与整理
文章目录 数据探索与预处理 渔船作业方式的定义 渔船作业过程中的三种状态 预处理 特征工程 统计特征 表征渔船的轨迹 POI信息 基于轨迹序列绝对和相对位置的复合向量编码 表征渔船不同状态下的信息 A ...
- [机器学习] LightGBM on Spark (MMLSpark) 使用完全手册
一 Spark上训练模型优势与劣势 (1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用一般的Hadoop分布式计算框 ...
- xgboost简单介绍_好文干货|全面理解项目中最主流的集成算法XGBoost 和 LightGBM
点击上方"智能与算法之路",选择"星标"公众号 第一时间获取价值内容 本文主要介绍基于 Boosting 框架的主流集成算法,包括 XGBoost 和 Ligh ...
最新文章
- centos 7 安装wps
- jsonp跨域原理_【网站技术解读①】Javascript实现跨域请求
- Python 学习笔记12 类 - 使用类和实例
- boost::geometry::cross_product用法的测试程序
- 给后辈的一点建议,分享PDF高清版
- python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...
- 业务实时监控服务ARMS推出小程序监控支持各种小程序
- 【英语学习】【WOTD】asperity 释义/词源/示例
- 编程完数_初级编程C++题:11H1343: 完数
- 求和符号上下的值怎么打_Excel快速求和的N种方法,一网打尽
- 关联省份与学校的级联HTML,JS实现的省份级联实例代码
- 数据集(benchmark)、常用数据集的解析(cifar-10、)
- VMware虚拟机中Centos7的IP地址设置方法
- 数据挖掘导论——综合实验
- ThinkPHP5.0 查询条件where()使用
- 洛谷 P3110 [USACO14DEC]驮运Piggy Back ( spfa) 题解
- 基于SRS的视频直播服务器搭建
- FastAdmin多表联查
- sql求平均日活_SQL 统计日活、月活指标
- signal信号值对应表