Datawhale AI 夏令营——电力需求预测赛

一、赛事详情

  电力需求受到多种因素的影响,为了提高电力需求预测的准确性和可靠性,推动智能电网和可持续能源系统的发展,本场以“电力需求预测”为赛题,给定多个房屋对应电力消耗历史N天的相关序列数据等信息,预测房屋对应电力的消耗。

二、模型选择

  根据所提供的数据集以及环境要求,在demo是均值预测法的基础上,我通过查阅资料发现了一种回归模型——随机森林回归模型。该模型应用领域广泛,在金融领域、医疗领域、科学研究等领域都有着不错的反响和应用效果。

  随机森林回归模型凭借其高准确性、鲁棒性和易于实现的特点,成为了一种常用的预测模型。但是其也有局限性,模型参数不容易调整,需要经过多次调参测试,但是随着进一步优化可以解决大数据量以及变化幅度大的预测问题。

三、实践思路以及代码展示

1、思路

  首先需要提取训练集和需要预测的特征列,这里是“dt”,“type”,然后根据时间的判断条件进一步提取“target”特征列的数值,然后得到测试集对应的特征列,之后如果想要验证结果的准确性,可以从训练集里面通过train_test_split函数提取验证集以及剩下的训练集,最后对剩余的训练集应用随机森林回归模型,最终得到“target”的预测结果并生成对应格式文件。

2、代码展示

# 导入需要的库

import pandas as pd

from sklearn.ensemble import RandomForestRegressor

from sklearn.model_selection import train_test_split

from sklearn.metrics import mean_squared_error

# 读取训练集和测试集数据

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

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

# 提取用于训练和预测的特征列

features = [ 'dt', 'type']

X_train = train[train['dt']<=20][features]

y_train = train[train['dt']<=20]['target']

X_test = test[features]

train_ids = train['id']  # 保留训练集中的id  

test_ids = test['id']    # 保留测试集中的id

# 划分训练集和验证集

X_train_split, X_val, y_train_split, y_val = train_test_split(X_train, y_train, test_size=0.1, random_state=42)  

# 使用随机森林回归模型

rf = RandomForestRegressor(n_estimators=200, max_depth=5, min_samples_split=7, min_samples_leaf=5,max_features='sqrt', random_state=42)  

rf.fit(X_train_split, y_train_split)

# 进行预测

predictions = rf.predict(X_test)

# 在保存预测结果时,将test_ids与预测结果合并  

submission = pd.DataFrame({'id': test_ids, 'dt': test['dt'],'target': predictions})  

submission.to_csv('submit_rf.csv', index=False)

3、代码实现出现的问题

(1)特征列的选择

  首先是提取特征列的时候,我只选了两个,是因为官方一共提供了两个数据集——训练集和测试集。训练集里面共有4个特征列——“id”,“dt”,“type”,“target”,而测试集里面没有“target”这个特征列,代码中的features必须是两者共有的特征列。最后在应用随机森林回归模型的时候,函数rf.fit里面的内容必须是整数,但文件中“id”是字符集,因此没有选择此特征列。如果不嫌麻烦的话也可以通过其他工具重编码,将字符集转化为整数。

(2)参数的调整

  此随机森林回归模型中共有6个参数,通过不同参数配置效果也会不同,我首先用默认参数跑了一遍,然后修改参数跑了一遍,对比还是挺明显的,调参是个很困难的过程,需要多次实践测试才能找到合适的值。

4、调参前后分数展示

四、实践感受

  虽然相对于官方demo的均值预测法,随机森林回归模型最后得出的成绩并没有提升,但是随机森林回归模型具有更大的潜力,尤其是参数调整上,今天我只是浅浅地尝试了一下,参数的调整方面还有很大可能性。均值法可能是一种更简单更传统的方式,预测模型有很多种,后续我可能会采用不同的预测模型与均值法进行对比,挑选出一个更具性价比的方案进行进一步优化。

  

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值