美文网首页
数据建模思路(EDA&FE&Modeling)

数据建模思路(EDA&FE&Modeling)

作者: ebook_sea | 来源:发表于2020-07-08 00:54 被阅读0次

    一、探索性数据分析

    对部分数据进行分析,另外获取每个类别特征的点击分布情况判断特征效果,看分布可以有一个很好的初步验证作用。

    一)、理解数据:

    1. 数据概况:变量描述表(名称、五数统计、outliner、缺失值)

    2. 数据分布:核心变量分布图(分类变量取值情况,是否正太分布,是否多峰值,出现异常可深挖)

    二)、理解业务:

    1. 啤酒销量的影响因素:自身因素(品牌、价格、库存)、外部因素(人口分布、经济水平)

    三)、数据清洗:

    1. 修改列名

    2. 缺失值、离群值、重复值

    3. 数据类型处理

    四)、数据分析:

    1. 关联性分析:相关矩阵

    2. 组合分析:各品牌的销量(热度品牌)、时间与销量关系(购买高峰期)、各产品的销量(热度产品)、各品牌SKU数、品牌总销量与总销售额、客单价、消费趋势等(PS. 这部分要根据数据概况与关系矩阵进行调整)

    二、数据预处理(基本思路扩大可用的特征,尽可能添加有用信息、进行更细粒度的刻画)

    1. 时间数据切分(starttime)

    2. 对region、City进行,DictVectorizer 从字典类型加载特征

    https://sklearn.apachecn.org/docs/master/39.html

    三、特征工程

    特征构造

    1. 基础特征:原始特征(已经给的那些特征)+外部特征(温度)

    2. 特征编码:

    one-hot encode:讲类别变量转换成稀疏矩阵,但是在决策树中慎用,且要注意虚拟变量陷阱即变量间不独立,存在多重共线性,解决办法是删除一个虚拟变量或删除one-hot稀疏矩阵中的一列。(虚拟变量陷阱:https://www.algosome.com/articles/dummy-variable-trap-regression.html

    target encode:由于啤酒销量呈现一定的季节特征,将月度数据进行目标编码,这样可以保证月度数据包含销量的季节特点。其出发点是用概率P(y=yi|x=xi)代替属性值x, 其中x表示属性值,y该属性下的预测值的均值。

    3. 统计特征(count、ratio、mean、nunique等)

    可构造销量的相比于上月的增长率。

    产品增长率、流失率、回购率

    4. 聚合统计特征

    特征选择:选取恰当的特征选择方法(卡方检验、特征重要性等)选取重要的特征

    四、模型选择:

    1. 问题描述:根据2016年1月到2019年11月黑龙江、吉林两省的历史销售数据,产品主数据、商务计划数据和外部数据,预测2020年1月两省各产品的销量。

    2. 问题定义:产品销量为连续型变量,所以可以将其抽象为回归预测问题。

    3. 模型选择:

    梯度提升决策树(GBDT)

    DT-Decision Tree决策树,GB是Gradient Boosting,是一种学习策略,GBDT的含义就是用Gradient Boosting的策略训练出来的DT模型。模型的结果是一组回归分类树组合(CART Tree Ensemble): T_{1} ...T_{k} 。其中 T_{j}  学习的是之前 j - 1棵树预测结果的残差,这种思想就像准备考试前的复习,先做一遍习题册,然后把做错的题目挑出来,在做一次,然后把做错的题目挑出来在做一次,经过反复多轮训练,取得最好的成绩。

    而模型最后的输出,是一个样本在各个树中输出的结果的和:

    回归决策树算法(Decision Tree):决策树可以认为是 if-then 规则的集合,易于理解,可解释性强,预测速度快。同时,决策树算法相比于其他的算法需要更少的特征工程,比如可以不用做特征标准化,可以很好的处理字段缺失的数据,也可以不用关心特征间是否相互依赖等。决策树能够自动组合多个特征。

    不过,单独使用决策树算法时,有容易过拟合缺点。所以通过一些方法,抑制决策树的复杂性,降低单颗决策树的拟合能力,比如限制树的最大深度、限制叶子节点的最少样本数量、限制节点分裂时的最少样本数量、吸收 bagging 的思想对训练样本采样(subsample),在学习单颗决策树时只使用一部分训练样本、借鉴随机森林的思路在学习单颗决策树时只采样一部分特征、在目标函数中添加正则项惩罚复杂的树结构等。

    同时,再通过梯度提升的方法集成多个决策树,第一棵树建立的时候使用的是原始数据,而后每一棵树建立使用的是前n-1次的残差来拟合弱学习器。最终能够很好的解决过拟合的问题。

    由此可见,梯度提升方法和决策树学习算法可以互相取长补短,是一对完美的搭档。

    References:

    1. 数据分析实战项目整理(更新ing) - 一两赘肉无的文章 - 知乎

    https://zhuanlan.zhihu.com/p/136975705

    2. 异常值处理:https://mp.weixin.qq.com/s/x3CcddEkyKrI-qhBU_pdgw

    相关文章

      网友评论

          本文标题:数据建模思路(EDA&FE&Modeling)

          本文链接:https://www.haomeiwen.com/subject/vffzqktx.html