2023 LIGHTGBM 深度学习方法使用简易教程 入坑向

2023-11-18

一、需求背景及问题

项目要求使用LIGHTGBM进行本地数据的回归处理预测并要求做出Factors Importance的可视化处理

二、使用详情

1. LIGHTGBM框架使用目的

  • 使用LIGHTGBM处理factors数据并作出regression预测

  • 通过LIGHTGBM的python的接口查看在训练过程中factors的单个重要性

2. 环境配置

  • 安装教程

    • 先决条件:

      • Visual Studio 2022 或 2019

      • Python 3.9

    • Python配置库:

      • Lightgbm

      • Pands

      • Matplotlib

      • Sklearn

# coding: utf-8
from pathlib import Path

import pandas as pd
from sklearn.model_selection import train_test_split
import lightgbm as lgb

if lgb.compat.MATPLOTLIB_INSTALLED:
    import matplotlib.pyplot as plt
else:
    raise ImportError('You need to install matplotlib and restart your session for plot_example.py.')

三、现有框架结构及功能

1. 数据读取

本地保存为csv格式train文档

带有headers的columns

代码:

# load or create your dataset

print('Loading data...')

regression_example_dir = Path(__file__).absolute().parents[1] / 'regression'

df_train = pd.read_csv(regression_example_dir/'train.csv')

# obtain the factors names list

factors_col = [f for f in df_train.columns if f not in ['Label']]

print('Data loading complete')

2. 转换数据

将数据按照50%比例分为训练集和测试集

代码

# seperate factors and label

X=df_train2.loc[:,factors_col]

y=df_train2.loc[:,'Label']

# split the data to train and test data

X_train , X_test, y_train, y_test = train_test_split(X,y,test_size = 0.5)

X_train.shape, X_test.shape, y_train.shape, y_test.shape

train_data = lgb.Dataset(X_train,label = y_train)

test_data = lgb.Dataset(X_test,label = y_test)

3. 配置LightGBM方法参数

参考lightgbmcontrol.csv

Parameters,Value

NumberOfIterations,500

LearningRate,0.05

NumberOfLeaves,160

MinimumExampleCountPerLeaf,300

L2Regularization,0

L1Regularization,0.005


# specify your configurations as a dict
params = {
    'num_leaves': 160,
    'MinimumExampleCountPerLeaf':300,
    'L2Regularization': 0,
    'num_iterations': 1000,
    'L1Regularization':0.005,
    'leaning_rate':0.05
}

4. 模型训练

测试回合数:500

gbm = lgb.train(

params,

train_data,

num_boost_round=500,

valid_sets=[train_data, test_data],

feature_name=[f'{i}' for i in factors_col],

categorical_feature=[30]

)

5. 评估模型

查看与评估结果的标准差‘l1’

evals_result = {} # to record eval results for plotting

callbacks=[

lgb.log_evaluation(30),

lgb.record_evaluation(evals_result)

]

print('Plotting metrics recorded during training...')

ax = lgb.plot_metric(evals_result)

plt.show()

6.查看模型预测中的factors importance

 

print('Plotting feature importances...')

ax = lgb.plot_importance(gbm, max_num_features=30)

plt.show()

四、后续补充以及调参方向

 哎先写到这里吧 有人看我再补充如何优化和调参

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023 LIGHTGBM 深度学习方法使用简易教程 入坑向 的相关文章

随机推荐

  • Unity笔记-打飞碟游戏

    目的 创建一个打飞碟游戏 简陋 游戏要求 游戏要分多个 round 飞碟数量每个 round 都是 n 个 但色彩 大小 发射位置 速度 角度 每次发射数量可以变化 游戏过程中 仅能创建 n 个飞碟 且不容许初始化阶段生成任何飞碟 飞碟线路
  • windows关闭开机自启动

    如题 有时候windows软件会开机自动打开某些软件 当你不希望它开机自启动的时候 就需要进行设置不让它开机自动 下面介绍几个方法关闭开机自启动 一 通过指令集进行设置 按下电脑上的windows R 然后输入msconfig 点击确定 可
  • 虚拟机硬盘简简单单扩容

    今天写这个博客就是为了 以后各位午饭们在使用虚拟机为虚拟机硬盘扩容时 不要再走那么多弯路了 环境介绍 虚拟机 VMware Workation 8 操作系统 windows server 2008 硬盘容量 10G windows serv
  • 4.Docker--Consul

    Docker Consul 引言 Consul是HashiCorp公司推出的开源工具 Consul由Go语言开发 部署起来非常容易 只需要极少的可执行程序和配置文件 具有绿色 轻量级的特点 Consul是分布式的 高可用的 可横向扩展的用于
  • 计算机运行慢提速小技巧,教你为Win7系统加速的五个技巧

    在我们使用电脑久了之后 不少用户就会发现系统的运行速度变慢了好多 这有可能是因为电脑使用久了之后电脑里面就会残余有一些垃圾文件 过多的垃圾文件占用了系统盘就会影响电脑的运行速度 那么用户可以选择使用第三方软件对电脑进行优化之外 还可以选择对
  • Python 接口并发测试详解

    一 接口并发测试简介 1 性能测试简介 性能测试是通过自动化测试工具模拟多种正常 峰值及异常负载条件对系统的各项性能指标进行的测试 负载测试和压力测试都属于性能测试 两者可以结合进行 通过负载测试 确定在各种工作负载下系统的性能 目标是测试
  • 发现新大陆

    csdn很久没有发博客了 当发现博客园可以进行一些骚操作之后 而CSDN又存在很多限制 相比较下 毅然选择了博客园 博主博客园首页链接地址 https www cnblogs com twq46 如果有想继续看博主的分享可以访问该链接
  • python opencv卡尺测量边缘距离

    opencv 卡尺法 测量边缘距离 参考来源 https github com crackwitz metrology demo 前言 一 测量方法 二 测量步骤 1 获取直线的像素 2 高斯滤波平滑曲线 3 计算跳变幅度值 4 计算距离值
  • 赶上ChatGPT的车,百度文心一言和阿里通义千问上线

    百度 文心一言 地址 https yiyan baidu com 阿里 通义千问 地址 https tongyi aliyun com 以下介绍来自官方 一 文心一言 介绍 你好 我是文心一言 ERNIE Bot 作为一个人工智能语言模型
  • Web3领域中最值得关注的3大主题

    这是白话区块链的第1792期原创 作者 Tony编译 火火出品 白话区块链 ID hellobtc 2014年 以太坊联合创始人加文 伍德 Gavin Wood 提出Web 3 0概念 将其描述为一种全新的互联网运行模式 用户自己发布 保管
  • Default Activity not found解决方法

    项目场景 最近开始学习Android 第一次尝试建立一个空白项目 手动添加activity时出现报错 Default Activity not found 问题描述 运行时程序可以正常编译 但不能发布到AVD上 查看了几篇博文 发现这篇方法
  • 2021ccpc女生赛(山东淄博)

    G 3G网络 K 音乐游戏 D 修建道路 A 公交线路 I 驾驶卡丁车 C 连锁商店 补题链接 这一次的开题顺序有点不好 G这个最简单的题目一开始没有开出来 然后开了另一个结果题目有点一个点读漏了 然后就做的复杂了一点 虽然a了 同是五道题
  • 对象的初始化和清理(构造和析构函数)

    对象的初始化和清理 1 1 构造函数 1 1 1 没有返回值 没有void 类名相同 可以发生重载 1 2 构析函数 1 2 1 没有返回值 没有void 函数名称 类名 不可以发生重载 不可以有参数 1 3 系统会默认调用 构造函数和析构
  • Javascript 使用js文件引入其他js文件

    注 js无法像php文件引入其他php文件到当前文件那样 require b php 只能通过html的标签通过url引入到html页面 当前js文件中添加 var scripts document getElementsByTagName
  • express脚手架安装和使用,node添加跨域处理

    前言 node的脚手架 express generator 的安装和使用 安装 步骤一 全局安装脚手架 npm i express generator g cnpm i express generator g 可以运行命令 express
  • el-select el-option未回显选中或显示value值

    现象描述 el select组件在数据回显时 未选中默认值 如下图所示 问题分析 很有可能是由于数据类型不一致导致的 比如后台接口返回的字段类型为int 但前端el option设置的value为String类型 因此只需要对后台接口返回的
  • 包含函数体的 INLINE 不是一种好的实践

    前几天碰到了一个很奇怪地错误 wmemcpy 已经定义在 A obj 中 经过查看头文件 wchar h 发现是一个有函数体的 inline 函数 可以看出上面的错误 是由于 inline 编译未生效导致的 经搜索需要开启优化级别 o2 才
  • 【实践经验】pip更改源加速下载

    目录 国内镜像 临时使用国内镜像 永久更换软件镜像 pip的默认源在安装软件包的时候非常慢 因此可以考虑使用国内的镜像加速下载和安装 在使用国内镜像的时候分为两种方式 1 临时使用镜像源 2 永久切换镜像 国内镜像 国内的镜像主要有以下几个
  • ubuntu16.04cuda10.0卸载、安装、查看版本信息

    一 Ubuntu16 04查看CUDA和CUDNN版本 1 cuda一般安装在 usr local cuda 路径下 该路径下有一个version txt文档 里面记录了cuda的版本信息 cat usr local cuda versio
  • 2023 LIGHTGBM 深度学习方法使用简易教程 入坑向

    一 需求背景及问题 项目要求使用LIGHTGBM进行本地数据的回归处理预测并要求做出Factors Importance的可视化处理 二 使用详情 1 LIGHTGBM框架使用目的 使用LIGHTGBM处理factors数据并作出regre