Home 天池大赛赛题分析 机器学习篇
Post
Cancel

天池大赛赛题分析 机器学习篇

在这篇博客中,我打算整理《阿里云天池大赛赛题解析——机器学习篇》的相关理论,以及书中介绍的数据分析相关的小技巧。这本书涵盖了4道题:工业蒸汽量预测、天猫用户重复购买预测、O2O优惠券预测以及阿里云安全恶意程序检测。接下来我将逐一分析。

1. 工业蒸汽量预测

目标:这道题试图通过锅炉传感器采集的数据来预测产生的蒸汽量。

1.1 数据探索

1.1.1 变量分析

  1. 单变量分析:

  2. 双变量分析:

    • 连续性与连续性
      • 散点图
      • 计算相关性:相关性系数
    • 类别型与类别型
      • 双向表
      • 卡方检验
    • 类别型与连续型
      • 小提琴图:violin plot

1.1.2 缺失值的处理

  • 删除
  • 平均值、众数、中值
  • 预测模型填充

1.1.3 异常值的处理

  • 检测:箱线图、四分位数差(interquartile range, IQR)
  • 处理:删除、转换、填充、区别对待

1.1.4 变量转换

  • 对数变换:用于向右倾斜的分布,不能用于含零或负数的变量。
  • 取平方根或立方根
  • 变量分组
  • 生成新变量
    • 派生变量:从一个变量中的信息生成一个新的变量
    • 哑变量:one-hot encoding

1.1.5 可视化数据分布

  • 岭回归模型
  • 直方图和Q-Q图:数据的分位数和正态分布的分位数对比参照图
  • Kernel Density Estimation核密度估计
  • 计算各个特征相关性系数->相关性热力图:sns.heatmap()
  • Box-cox变换

1.2 特征工程

1.2.1 特征处理:

  1. 标准化: \(x'=\frac{x-X.mean()}{S}\)​
  2. 区间缩放法:\(x'=\frac{x-Min}{Max-Min}\)
  3. 归一化
  4. 定量特征二值化
  5. 定性特征哑编码
  6. 数据转换
    • 多项式转换
    • 指数转换
    • 对数转换

1.2.2 特征降维

  1. 过滤法:按照散发性或相关性设定阈值选择特征
    • 方差选择法:Variance Threshold
    • SelectKBest: 相关系数法、卡方检验、最大信息系数法
    • 递归消除特征法:RFE
  2. 包装法:根据目标函数选择若干特征
  3. 嵌入法:用算法或模型得到特征权值系数
    • 基于模型的特征选择法:SelectFromModel
      • 基于惩罚项的特征选择法
      • 基于树模型的特征选择法
  4. 线性降维
    • 主成分分析法
    • 线性判别分析法:Linear Discriminant Analysis, LDA

1.3 模型训练

  1. 决策树回归模型
  2. 集成学习回归模型
    • 随机森林回归模型
    • LightGBM回归模型
  3. 模型的泛化和正则化(Regularization)
    • 泛化:模型在处理训练未遇到样本的表现
    • 正则化:L1,L2,Lq 范数
  4. 岭回归和LASSO回归
    • 岭回归:拟合曲线始终是曲线
    • LASSO回归:拟合曲线会倾向于直线
  5. 模型评估
    • 平均绝对值误差
    • 均方误差
    • 均方根误差
    • R平方值
  6. 交差验证

1.4 模型融合

  1. Bagging方法和随机森林:从训练集中抽样得到每个基模型所需要的子训练集,再对预测结果进行综合。
  2. Boosting方法
    • Adaboost算法
    • 提升数
    • 梯度提升树
  3. Voting
    • 软投票:给予不同模型不同权重
  4. Averaging and Ranking
  5. Blending
  6. Stacking

回归模型:

  1. 岭回归
  2. Lasso回归
  3. ElasticNet回归
  4. SVR回归
  5. K近邻

模型融合Boosting方法:

  1. GBDT模型
  2. XGB(eXtreme Gradient Boosting)模型
  3. 随机森林模型

2. 天猫用户重复购买预测

目标:这道题试图通过用户特征预测复购率。

###2.1 数据探索

2.1.1 不均匀样本

  1. 随机欠采样
  2. 随机过采样
  3. 基于聚类的过采样

  4. 合成少数类过采样技术(SMOTE, Synthetic Minority Oversampling Technique)
  5. 基于数据清洗的SMOTE

2.1.2 常见的数据分布

  1. 伯努利分布
  2. 二项分布
  3. 泊松分布
  4. 正态分布指数分布

2.2 特征工程

2.2.1 文本表示模型

  1. 词袋模型
  2. N-gram模型
  3. 主题模型
  4. 词嵌入

2.2.2 特征提取

  1. 利用Countvector和TF-IDF提取特征
  2. Stacking特征工具包:使用lgb和xgb分类模型构造Stacking特征

2.3 模型训练

  1. 逻辑回归分类模型
  2. K近邻分类模型
  3. 高斯贝叶斯分类模型
  4. 决策树分类模型
  5. 集成学习分类模型
    • Bagging
    • Boosting
    • Major Voting
    • 随机森林
    • LightGBM
    • 极端随机树(Extra-Tree)
  6. 模型验证指标
    • 准确度
    • 查准率(Precision)和查全率(Recall)
      • 对于验钞机来说:
        • \[查准率=\frac{存起来的真钞}{存起来的真钞+存起来的假钞}\]
        • \[查全率=\frac{存起来的真钞}{存起来的真钞+误拦住的真钞}\]
    • F1值:查准律和查全率的加权调和平均
    • ROC(Receiver Operating Characteristic)
    • AUC曲线(Area Under the Curve)

3. O2O优惠券预测

目标:这道题试图通过2016年1月1号到6月30号的真实线上线下消费行为的数据预测2016年7月领取优惠券后15天内的使用情况。

本书介绍这道题的技术基本与前两题一致,在模型选择中增加XGboost模型。

4. 阿里云安全恶意程序检测

目标:这道题试图通过经过沙箱模拟运行后的API指令序列预测恶意文件类型,包括:感染型病毒、木马程序、挖矿程序、DDoS木马、勒索病毒等。

  1. pivot特征建构
  2. 内存优化技巧
    • float64->float16
    • numpy替换pandas
    • 开源工具包
      • Dask from Github:多核CPU并行处理
      • Numba
This post is licensed under CC BY 4.0 by the author.

NDSS and Oakland 2021 ML Paper Summary

Elasticsearch Related