学习心得:特征工程

      最近学习了机器学习中很常用的线性回归和Logistic回归。前者用于回归问题,后者用于分类问题。在用这两种模型进行训练的过程中,对训练特征的预处理,或者叫特征工程,有一些体会,因此写一篇文章记录一下。

数据探索

     在做特征工程之前要进行数据探索。一般要注意几个地方:

  • 观察特征数和样本数。如果特征数过少,可能要通过某些方法增加新的特征;如果样本数过少,可能要通过某些数据集扩展方法增加样本。
  • 特征是否都是数值型的。如果存在类别型的要进行one-hot编码。
  • 数值型特征的尺度是否大致一样,如果尺度相差比较大,要进行去量纲。常用方法有StandardScaler和MinMaxScaler,后者主要用于数据比较稀疏的时候。
  • 数据是否有缺失。如果缺失量比较大,可以通过对应特征的中值或者均值进行填补。另外可以增加一个特征,用来表示哪个样本的该特征存在缺失。注意,这个新增加的特征,如果不进行归一化,对训练不起作用。
  • 线性回归的一个假设是特征之间没有强相关。那么在数据探索中,我们可以看一下特征之间的相关性。有一个方法是将待定特征作为输出,其他特征作为输入,进行LinearRegression拟合,如果模型的r2_score特别高,那么可以认为该特征和其他特征具有很强的相关性,实际操作时可以计算1/(1-r2_score),如果这个值大于10,那么可以认为相关性很强,小于7可以不用管了。

特征工程

     数据探索之后,就确定了特征工程要做的工作。大致可以分为以下几个方面:

  • 类别型特征的one-hot编码
  • 数值型特征的去量纲
  • 缺失值的填补和新特征的增加
  • 对于数值型特征,可以进行log1p变换,得到log值特征,有些时候加入log特征对提高模型性能有帮助。另外还可以对数据进行开方、平方处理,这时候通常是为了提高特征和输出的线性关系。
  • 对于数据比较稀疏的情况,可以进行TFIDF编码,得到新的特征。有些时候加入这些特征对模型性能有提高
  • 如果log或tfidf新特征数目较多,一次性都加进去发现模型性能提高不多或出现副作用的时候,可以通过特征选择方法,选择对提高模型性能有用的特征。特征选择方法有以下几种思路:
    –计算新特征的方差,过滤掉方差超过一定阈值的特征
    –每次选择一个最优特征,该特征对模型性能的提高最大,迭代进行添加。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值