LightGBM整理

  • 官网
  • 安装
  • 加载数据

官网

LightGBM 中文文档.
LightGBM 官网.

安装

# 可能需要的安装包
pip install setuptools wheel numpy scipy scikit-learn -U
# 安装
pip install lightgbm

加载数据

  1. 加载数据可以接受一下数据:
  • libsvm/tsv/csv 文本文件格式。
  • Numpy 2维数组, pandas 对象。
  • LightGBM 二进制文件。(这种方法会使数据加载的更快)
  1. 加载数据和特征工程
# 加载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加载数据的方案。

因为水平不足,特征工程就不在表述了。

  1. 加载验证数据
test_data = train_data.create_valid('test.svm')
# 或
test_data = lgb.Dataset('test.svm', reference=train_data)
  1. 设置训练参数
params = {'num_leaves':3, 'max_depth':3,'learning_rate': 0.01,'objective':'regression','boosting': 'gbdt'}

训练参数有许多,可以查看官网的文档。

  1. 训练和预测数据
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参数。

  1. 个人感觉这是最简单的步骤,但其实还有很多步骤没有写,比如特征工程,参数的选取。以及完全没有提到的交叉验证和模型融合。
    这里有大神的笔记可以参考。LightGBM调参笔记.

LightGBM整理相关推荐

  1. libsvm回归参数寻优cgp_【lightgbm/xgboost/nn代码整理二】xgboost做二分类,多分类以及回归任务...

    1.简介 该部分是代码整理的第二部分,为了方便一些初学者调试代码,作者已将该部分代码打包成一个工程文件,包含简单的数据处理.xgboost配置.五折交叉训练和模型特征重要性打印四个部分.数据处理部分参 ...

  2. LightGBM模型_相关资料整理

    LightGBM 的中文文档 比XGBOOST更快–LightGBM介绍

  3. 多分类 数据不平衡的处理 lightgbm

    前言 数据不平衡问题在机器学习分类问题中很常见,尤其是涉及到"异常检测"类型的分类.因为异常一般指的相对不常见的现象,因此发生的机率必然要小很多.因此正常类的样本量会远远高于异常类 ...

  4. 基于LightGBM算法实现数据挖掘!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄雨龙,中国科学技术大学 对于回归问题,Datawhale已经梳理 ...

  5. 【白话机器学习】算法理论+实战之LightGBM算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支 ...

  6. 最常用的决策树算法(三):XGBoost 和 LightGBM

    决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型.本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5.CART),第二篇介绍 Ran ...

  7. 智慧海洋建设TOP方案借鉴学习与整理

    文章目录 数据探索与预处理 渔船作业方式的定义 渔船作业过程中的三种状态 预处理 特征工程 统计特征 表征渔船的轨迹 POI信息 基于轨迹序列绝对和相对位置的复合向量编码 表征渔船不同状态下的信息 A ...

  8. [机器学习] LightGBM on Spark (MMLSpark) 使用完全手册

    一 Spark上训练模型优势与劣势 (1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用一般的Hadoop分布式计算框 ...

  9. xgboost简单介绍_好文干货|全面理解项目中最主流的集成算法XGBoost 和 LightGBM

    点击上方"智能与算法之路",选择"星标"公众号 第一时间获取价值内容 本文主要介绍基于 Boosting 框架的主流集成算法,包括 XGBoost 和 Ligh ...

最新文章

  1. centos 7 安装wps
  2. jsonp跨域原理_【网站技术解读①】Javascript实现跨域请求
  3. Python 学习笔记12 类 - 使用类和实例
  4. boost::geometry::cross_product用法的测试程序
  5. 给后辈的一点建议,分享PDF高清版
  6. python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...
  7. 业务实时监控服务ARMS推出小程序监控支持各种小程序
  8. 【英语学习】【WOTD】asperity 释义/词源/示例
  9. 编程完数_初级编程C++题:11H1343: 完数
  10. 求和符号上下的值怎么打_Excel快速求和的N种方法,一网打尽
  11. 关联省份与学校的级联HTML,JS实现的省份级联实例代码
  12. 数据集(benchmark)、常用数据集的解析(cifar-10、)
  13. VMware虚拟机中Centos7的IP地址设置方法
  14. 数据挖掘导论——综合实验
  15. ThinkPHP5.0 查询条件where()使用
  16. 洛谷 P3110 [USACO14DEC]驮运Piggy Back ( spfa) 题解
  17. 基于SRS的视频直播服务器搭建
  18. FastAdmin多表联查
  19. sql求平均日活_SQL 统计日活、月活指标
  20. signal信号值对应表

热门文章

  1. 软件测试--【软件测试和bug】
  2. NetToPlcSim_PLC_西门子PLC访问DEMO
  3. 人物照片墙html模板,制作散落照片墙效果人物照片的PS教程
  4. Vue 源码解读 起步(二)
  5. 输入一个字符串,逆序并输出
  6. 十分钟了解物联网主流通信协议
  7. leetcode周赛,希望咸鱼,有一天可以薅到羊毛
  8. 模拟器客户端自动化测试实践
  9. linux如何批量操作,linux批量操作命令锦集
  10. 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题