Task3_特种工程(学习打卡)

主要学习内容

  1. 异常处理:

    • 删除异常值:箱线图;3-Sigma

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      def outliers_proc(data, col_name, scale=3):
      """
      用于清洗异常值,默认用 box_plot(scale=3)进行清洗
      :param data: 接收 pandas 数据格式
      :param col_name: pandas 列名
      :param scale: 尺度
      :return:
      """

      def box_plot_outliers(data_ser, box_scale):
      """
      利用箱线图去除异常值
      :param data_ser: 接收 pandas.Series 数据格式
      :param box_scale: 箱线图尺度,
      :return:
      """

      image-20200328163018012

    • 处理有偏分布:BOX-COX 转换

    • 长尾截断

  2. 归一化/标准化:标准正态;[0,1]区间;幂律分布

    1
    2
    3
    4
    5
    6
    # 取 log,做归一化
    from sklearn import preprocessing
    min_max_scaler = preprocessing.MinMaxScaler()
    data['power'] = np.log(data['power'] + 1)
    data['power'] = ((data['power'] - np.min(data['power'])) / (np.max(data['power']) - np.min(data['power'])))
    data['power'].plot.hist()

    image-20200328163821458image-20200328163830133

  3. 数据分桶

    优点:

    • 离散后稀疏向量内积乘法运算速度更快,计算结果也方便存储,容易扩展;

    • 离散后的特征对异常值更具鲁棒性

    • LR 属于广义线性模型,表达能力有限,经过离散化后,每个变量有单独的权重,相当于引入了非线性,能够提升模型的表达能力,加大拟合;

    • 离散后特征可以进行特征交叉,提升表达能力

    • 特征离散后模型更稳定

  4. 缺失值处理:

    • 不处理(针对类似 XGBoost 等树模型);
    • 删除(缺失太多)
    • 插值补全
    • 分箱,缺失值一个箱
  5. 特征构造

  6. 特征筛选:

    • 过滤式(filter):先对数据进行特征选择,然后在训练学习器,常见的方法有 Relief/方差选择发/相关系 数法/卡方检验法/互信息法;

      image-20200328164358998

    • 包裹式(wrapper):直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有 LVM(Las Vegas Wrapper) ;

    • 嵌入式(embedding):结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有 lasso 回归;

  7. 数据降维

本文标题:Task3_特种工程(学习打卡)

文章作者:ZQ Liu

发布时间:2020年03月28日 - 10:27:11

最后更新:2020年07月27日 - 09:58:04

原始链接:http://yoursite.com/2020/03/28/Task3-%E7%89%B9%E7%A7%8D%E5%B7%A5%E7%A8%8B/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道