前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >特征工程笔记

特征工程笔记

作者头像
vincentbbli
发布2021-08-18 14:42:26
2170
发布2021-08-18 14:42:26
举报
文章被收录于专栏:vincent随笔

虽然说特征工程很大程度上是经验工程,跟具体业务相关,但是我们可以根据一些思路来进行,以下是我在实践过程中总结出来的一些思路,希望能给大家带来一点启发。

思路与过程

0.概览数据

使用数据可视化工具对数据进行概览

0.1 对原始数据进行概览

常用的概览方法:

  1. dataset.describe(): 查看每种属性的总数,平均值,标准差,25%,50%,75%
  2. dataset.series.value_counts(): 按值聚合查看值的数量分布,仅作用于series
  3. dataset.head(n): 查看数据集的前n行
0.1.1 查看空数据|处理空数据

查看空数据总数

代码语言:javascript
复制
data.isnull().sum()

定位空数据:

代码语言:javascript
复制
dataset.loc[dataset.col_name.isnull(),'col_name']=data_to_fill

解决空数据的方法:

  1. 空数据太多,直接去掉
  2. 填充 平均数/众数/最多的值
0.2 使用图表进行概览

常用图表有:

代码语言:javascript
复制
条形图 countplot barplot
饼状图 pie
散点图 scatter
分布图(seaborn.distplot)
热力图+协方差矩阵 heatmap
对比图 PairGrid 使用完热力图后将与目标属性最相关的几个属性做一个对比图,两两对比

1.特征构建

根据相关领域的经验和概览得到的信息,决定怎么对属性进行组合比较合适
代码语言:javascript
复制
原始属性
四则运算
求和
求增幅
求众数,方差,极差
特征交叉组合
  • 特征随机组合,然后使用PCA降维
  • 对结构化属性进行组合(四则运算,求倒数和,x*y x2+y2 1/x+1/y等)

几点tips:

  • 如果数据在某属性分布比较集中,这个属性必须细分
  • 如果数据在某两个或几个属性间有相关性(协方差接近1),那他们可以只取其中一个,降维处理

2.特征生成

  • 加权融合 对不同的特征采用不同的权重
  • 数值归一化 数值重新赋值
  • 将连续数值分段,进行离散化(one hot编码 TF-IDF编码)

3.特征选择

  • 主成分分析(PCA)
  • 因子分析
  • 机器学习获取特征重要性分数
  • 根据方差选择,选择方差大于一定阈值的特征(方差太小说明该特征的区别不明显)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/10/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路与过程
    • 0.概览数据
      • 0.1 对原始数据进行概览
      • 0.1.1 查看空数据|处理空数据
      • 0.2 使用图表进行概览
    • 1.特征构建
      • 根据相关领域的经验和概览得到的信息,决定怎么对属性进行组合比较合适
      • 特征交叉组合
    • 2.特征生成
      • 3.特征选择
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档