赛题相关信息
网址: 电力需求预测挑战赛
跑通baseline
训练数据
包含4个参数:id(房屋id)、 dt(日标识)、type(房屋类型)、target(实际电力消耗)
提交参考数据
包含 3 个参数,没有展示房屋类型
参考代码
# 1. 导入需要用到的相关库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np
# 2. 读取训练集和测试集
# 使用 read_csv() 函数从文件中读取训练集数据,文件名为 'train.csv'
train = pd.read_csv('train.csv')
# 使用 read_csv() 函数从文件中读取测试集数据,文件名为 'train.csv'
test = pd.read_csv('test.csv')
# 3. 计算训练数据最近11-20单位时间内对应id的目标均值
target_mean = train[train['dt']<=20].groupby(['id'])['target'].mean().reset_index()
# 4. 将target_mean作为测试集结果进行合并
test = test.merge(target_mean, on=['id'], how='left')
# 5. 保存结果文件到本地
test[['id','dt','target']].to_csv('submit.csv', index=None)
数据
将提供的数据导入本地环境进行分析,采用 jupyter lab
提交样本的基本信息
训练数据房屋的编号
训练数据
提交数据
测试数据
按照 房屋类型 进行分组统计,发现不同房屋类型
分布非常不平衡
个人思考
每个房屋的的数据量总数相同,但是不同房屋可能属于不同的类型, 房屋类型总共有19种。因此,在所提供的数据中考虑房屋电费的影响因素:
对于不同的房屋,由于住户的生活习惯和方式不同,房屋的类型不同,用电量也会有很大的差异,所以对于不同的房屋需要尽可能的建立各自的预测方案,精确性才可能相对的更高。
对于同一个房屋,住户在不同的日期用电需求不同,由此也会导致用电量的差异。
在理想情况下,似乎应该分别给每一个房屋根据日期建立一个独立的模型,这样才能综合以上所有因素预测效果达到最好。但是实际情况下,数据量很可能不能满足要求导致模型过拟合实际预测效果可能不是很好,而且数据量确实比较大,消耗的计算资源比较多,比较难以实现。
因此一般情况下,为了降低任务的难度,可以舍弃一些不重要的影响因素。比如假设不同房屋的用户用电习惯基本相同,那么只需要考虑房屋类型和日期对用电量的影响,这种情况下就无需训练很多个模型,因为此刻所有房屋的用户为抽象理想同一的不存在区别,工作效率便能够大大提高。
ML初学者,文章若存在漏洞,请各位批评指正 ~