【Datawhale AI 夏令营】电力需求预测 Task02

一.目标

完成task01最基础的跑通baseline操作后,task02的目标就是使用进阶的机器学习模型lightgbm来解决问题,以达到更好的预测效果。

通过本次学习,可以了解:

  • 用数据集绘制柱状图和折线图
  • 使用时间序列数据构建历史平移特征和窗口统计特征
  • 使用lightgbm进行训练并预测

二.基础概念

1.LightGBM

LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
LightGBM 框架中还包括随机森林和逻辑回归等模型。通常应用于二分类、多分类和排序等场景。

三.代码

本次测试主要是在飞桨AI Studio星河社区进行运行的
链接: link

1.数据集选择

当你登录(注册)好账号后,本次测试需要数据集,所以需要我们手动去选择添加对应的数据集。

  • 点击项目,选择新建项目中的Notebook 在这里插入图片描述
  • 点击添加数据集,搜索电力需求预测挑战赛-数据集
    在这里插入图片描述

2.模块导入

  • 在导入模块之前,需要先安装上LightGBM,输入下述代码,之后运行,即可安装。
pip install lightgbm==3.3.0
  • 导入所需模块
import numpy as np
import pandas as pd
import lightgbm as lgb
from sklearn.metrics import mean_squared_log_error, mean_absolute_error, mean_squared_error
import tqdm
import sys
import os
import gc
import argparse
import warnings
warnings.filterwarnings('ignore')

3.读取训练数据和测试数据

根据个人相关数据库的地址所在(可能提供的源代码的地址和你的实际地址有出入),可以对下述中的地址进行修改

train = pd.read_csv('./data/data283931/train.csv')
test = pd.read_csv('./data/data283931/test.csv')

在这里插入图片描述
数据介绍:

  • 其中id为房屋id;
  • dt为日标识,训练数据dt最小为11,不同id对应序列长度不同;
  • type为房屋类型,通常而言不同类型的房屋整体消耗存在比较大的差异;
  • target为实际电力消耗,也是我们的本次比赛的预测目标。

4.可视化分析

  • 不同type类型对应target的柱状图
import matplotlib.pyplot as plt
# 不同type类型对应target的柱状图
type_target_df = train.groupby('type')['target'].mean().reset_index()
plt.figure(figsize=(8, 4))
plt.bar(type_target_df['type'], type_target_df['target'], color=['blue', 'green'])
plt.xlabel('Type')
plt.ylabel('Average Target Value')
plt.title('Bar Chart of Target by Type')
plt.show()

在这里插入图片描述

  • id为00037f39cf的按dt为序列关于target的折线图
specific_id_df = train[train['id'] == '00037f39cf']
plt.figure
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值