#Datawhale AI 夏令营
task2 入门lightgbm 开始特征工程
基础概念入门
GBDT
GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。
GBDT不仅在工业界应用广泛,通常被用于多分类、点击率预测、搜索排序等任务;在各种数据挖掘竞赛中也是致命武器,据统计Kaggle上的比赛有一半以上的冠军方案都是基于GBDT。
LightGBM
LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。
LightGBM 框架中还包括随机森林和逻辑回归等模型。通常应用于二分类、多分类和排序等场景。
例如:在个性化商品推荐场景中,通常需要做点击预估模型。使用用户过往的行为(点击、曝光未点击、购买等)作为训练数据,来预测用户点击或购买的概率。根据用户行为和用户属性提取一些特征,包括:
类别特征(Categorical Feature):字符串类型,如性别(男/女)。
物品类型:服饰、玩具和电子等。
数值特征(Numrical Feature):整型或浮点型,如用户活跃度或商品价格等。
进阶代码详解
导入模块:
探索性数据分析(EDA)
数据简单介绍:
其中id为房屋id,
dt为日标识,训练数据dt最小为11,不同id对应序列长度不同;
type为房屋类型,通常而言不同类型的房屋整体消耗存在比较大的差异;
target为实际电力消耗,也是我们的本次比赛的预测目标。
下面进行简单的可视化分析,帮助我们对数据有个简单的了解。
不同type类型对应target的柱状图
id为00037f39cf的按dt为序列关于target的折线图
特征工程
这里主要构建了 历史平移特征和窗口统计特征
历史平移特征:通过历史平移获取上个阶段的信息;如下图所示,可以将d-1时间的信息给到d时间,d时间信息给到d+1时间,这样就实现了平移一个单位的特征构建。
窗口统计特征:窗口统计可以构建不同的窗口大小,然后基于窗口范围进统计均值、最大值、最小值、中位数、方差的信息,可以反映最近阶段数据的变化情况。如下图所示,可以将d时刻之前的三个时间单位的信息进行统计构建特征给我d时刻。
附带最后