美文网首页
机器学习 - 特征工程

机器学习 - 特征工程

作者: 郭彦超 | 来源:发表于2021-02-26 17:24 被阅读0次

数据处理

  • 缺失值处理

    行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差

    fillna:填充缺失值;连续值使用中位数,离散值使用众数填充

  • 奇异值
    通过箱式图可发现奇异值

  • 样本均衡处理

    随机欠采样:对于样本数过多的分类 采用按比例抽样的方案进行

    随机过采样:对于样本过低的分类,采用样本成倍复制的方式增加样本数量

探索数据分布

探索数据分布可快速发现奇异值、缺失值以及特征与目标的共线关系

二项分布:n次独立的伯努利分布实验中 成功次数的离散概率分布

泊松分布:在固定时间范围内 事件发生多少次的概率受平均值的影响

正态分布:数据平均值和中位数相等,对称轴的左右数据量相等


标准正态分布
  • 通过QQ图分析某一维度对预测结果的影响 ,如分析不同性别对复购率的影响:

    # 探索不同性别的复购分布
    train_data_user_info = train_data.merge(user_info,on=['user_id'],how='left')
    plt.figure(figsize=(8,8))
    plt.title('Gender VS Label')
    ax = sns.countplot('gender',hue='label',data=train_data_user_info)
     
    
  • 检查测试集用户与训练集用户的重合情况

    #查看online offline 训练集的 user_id与测试集的重合度
    off_train_user = off_train[['user_id']].copy().drop_duplicates()
    off_test_user = off_test[['user_id']].copy().drop_duplicates() 
    print('offline 训练集用户ID数量')
    print(off_train_user.user_id.count()) 
    print('offline 测试集用户ID数量')
    print(off_test_user.user_id.count())
    off_train_user['off_train_flag'] = 1
    off_merge = off_test_user.merge(off_train_user, on='user_id',
                                    how="left").reset_index().fillna(0)
    print('offline 训练集用户与测试集用户重复数量')
    print(off_merge['off_train_flag'].sum())
    print('offline 训练集用户与测试集重复用户在总测试集用户中的占比')
    print(off_merge['off_train_flag'].sum() / off_merge['off_train_flag'].count())
    
    #如果是预测用户对商品的点击,那么需要再分析下商品的重合情况
    

归一化处理

去量纲 让不同维度数据具有可比性

  • 最值归一化

  • z-score归一化, 将数据映射到均值为0,标准差为1 分布上

需要注意的是决策树这类预测模型不需要进行归一化处理

特征转换

将字符特征映射为数值特征

  • 序号编码,针对有大小关系的类别,如高、中、低,采用类别编码 分别用3、2、1表示
  • one-hot编码,处理不存在大小关系的类别,如红、黄、蓝 转换后为 (1,0,0)、(0,1,0)、(0,0,1)
  • hash编码,通常处理id类字符编码,将其映射为一个正整数
  • 决策树编码,可有效屏蔽标准化与归一化等问题,典型案例 GBDT+LR

特征降维

提升模型性能,防止过拟合

  • PCA降维
  • 特征与目标相关性分析

特征选择与特征提取

  • 特征提取,从数据中挑选需要的特征,或基于已有特征创造新的特征
  • 特征选择,从已知特征中选择模型强相关的特征,去除无用和冗余特征

相关文章

  • 机器学习—特征工程

    详细pdf:链接:https://pan.baidu.com/s/1pUWhb_y7kK7_fU0Gjqfe0Q ...

  • 机器学习-特征工程

    outline 概念 预处理 特征选择 降维 概念 数据集由数据对象组成,一个数据对象代表一个实体属性(attri...

  • 机器学习 - 特征工程

    大部分上传的截图都挂了,大家见谅吧,也不影响学习的 什么是特征工程 书接上文,前文我们看到鸢尾花数据集张什么样子:...

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 机器学习之特征工程 - 整理

    以下内容整理自机器学习之特征工程 特征工程: 定义:利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特...

  • 特征工程

    在机器学习应用中,特征工程扮演着重要的角色,可以说特征工程是机器学习应用的基础。在机器学习界流传着这样一句话:“数...

  • sklearn库-特征工程

    sklearn作为python机器学习的一个常用库,可以用来做特征工程,算法的调用,模型的评估 特征工程 特征工程...

  • 美团机器学习实践第二章-特征工程总结

    思维导图如下: 在机器学习应用中,特征工程扮演重要的角色,可以说特征工程时机器学习应用的基础。我们都知道,数据和特...

  • 面向机器学习的特征工程 一、引言

    来源:ApacheCN《面向机器学习的特征工程》翻译项目 译者:@ZhipengYe 校对:(虚位以待) 机器学习...

  • 【特征工程】特征工程技术与方法

    引言 在之前学习机器学习技术中,很少关注特征工程(Feature Engineering),然而,单纯学习机器学习...

网友评论

      本文标题:机器学习 - 特征工程

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