#AI夏令营 #Datawhale
Datawhale第二期的“机器学习”方向是基于讯飞开放平台“电力需求预测挑战赛”开展的实践学习,本帖将记录一个AI小白在7天夏令营内外学习中所见所学所为,欢迎大家交流讨论。
TASK1
第一个任务就是根据Datawhale的给的文档跑通Baseline。在飞书上他们把每一步的步骤都列出来了,跟着做就好。
文档在这里 link1.
照着做完后就得到了自己的第一个分数。
TASK2
第二个任务是使用进阶的机器学习模型lightgbm解决本次问题,以达到更好的预测效果。
一般的使用机器学习模型解决问题的主要步骤为探索性数据分析、数据预处理、提取特征、切分训练集与验证集、训练模型、预测结果。
官方文档link2.有讲的LightGBM等一些概念我不再赘述,我主要就第二次进阶的机器学习代码做注释
在此之前,我先讲一些准备工作:因为task1是在飞桨上跑的,感觉还挺好用,就沿用了。针对初学者,可以到飞桨的官方帮助文档link3.了解一下基本的使用方法,比如下载第三方库就是新建一个单元格如下图运行。
代码和解释部分
# 首先就是导入一些七七八八的需要用到的库
import numpy as np
import pandas as pd
import lightgbm as lgb
import tqdm
import sys
import os
import gc
import argparse
import warnings
warnings.filterwarnings('ignore')
#以下几行和Datawhale文档有区别是因为lightgbm版本的原因,可以参考下这篇文章
#https://blog.csdn.net/weixin_51723388/article/details/124578560
from lightgbm import log_evaluation, early_stopping
callbacks = [log_evaluation(period=100), early_stopping(stopping_rounds=30)]
from sklearn.metrics import mean_squared_log_error, mean_absolute_error, mean_squared_error
# 读取训练集和测试集
train = pd.read_csv('./data/data283931/train.csv')
test = pd.read_csv('./data/data283931/test.csv')
# 合并训练数据和测试数据,并进行排序
data = pd.concat([test, train], axis=0, ignore_index=True)
data = data.sort_values(['id','dt'], ascending=False).