机器学习-特征工程-Feature generation 和 Feature selection

  1. 概述:上节咱们说了特征工程是机器学习的一个核心内容。然后咱们已经学习了特征工程中的基础内容,分别是missing value handling和categorical data encoding的一些方法技巧。但是光会前面的一些内容,还不足以应付实际的工作中的很多情况,例如如果咱们的原始数据的features太多,咱们应该选择那些features作为咱们训练的features?或者咱们的features太少了,咱们能不能利用现有的features再创造出一些新的与咱们的target有更加紧密联系的features呢?这些都是咱们feature engineering中经常遇到的场景,这里涉及到的一些常用技术也是每一个做机器学习或是数据分析的工程师必须要掌握的。上面提到的技术,咱们通常叫做:feature generation和feature selection。下面咱们就来说一说这两个技术点吧
  2. Feature generation。对于这个技术点,其实没有什么诀窍,就是一个,深刻理解咱们的数据的意义再加上一点点创造力。大家是不是很懵逼,哈哈,这就完啦????哈哈当然不是啦,但是这一块缺失没有一个统一的模式,具有一定的随机性。但是通过总结,咱们可以总结一下常用的模式,方便大家在应用的时候参考。                                                                                        2.1 Interaction。这个其实就是相当于交叉的意思,咱们可以将几个features直接的拼接在一起,形成一个“有意思”的新的feature,记住一定要有意义的,否则你不但白搞了,甚至原来好好的数据都被你搞砸了,不要为了装逼而装逼,咱要装逼于无形之中。那么这个有什么意义呢?首先它能将多个columns装换成一个column,方便咱们的数据处理;其次在有些特定的数据中,这种interaction更加能反映出数据的本质。具体怎么操作了,咱们通过一个简单的代码来展示,注意我只截取了我代码的一部分,默认数据都已经加载完毕,所以不要纠结我的代码的变量和数据哈,大家主要看过程和思路
    interactions = data_raw["category"]+"_"+data_raw["country"]
    baseline_data = baseline_data.assign(category_country = label_encoder.fit_transform(interactions))

    上面的第一句代码就是咱们interaction的部分,第二句是讲interaction过后的数据label encoding并且加入到咱们的数据集里面,简单明了。上面是将原始数据中的category 和 country连接在一起从而形成一个新的feature                                       2.2 numerical transforming。这是什么意思呢,对于有些numerical data的columns,他们的数据分布是很不均匀的,或者说他们的数值太大或者太小,有的时候不适合咱们的数据的训练,可能会出现vanishing gradient或者gradient explode的情况。具体啥叫vanishing gradient和gradient exploding,咱们在后面的内容在慢慢解释。暂时只需要知道这是个很麻

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值