七月算法机器学习 6 特征工程

目录

主要内容

特征工程: 大神们怎么看

特征工程

意义

互联网公司机器学习的“真相”

数据与特征处理

数据采集

数据格式化数据清洗

数据清洗示例/思考角度

数据采样

正负样本不平衡处理办法

特征处理

特征处理之数值型

数值型特征Python处理

特征处理之类别型

类别型特征Python处理: Hash技巧

类别型特征Python处理: Histogram映射

特征处理之时间型

特征处理之文本型词袋

把词袋中的词扩充到n-gram

使用Tf–idf 特征

特征处理之统计特征

特征处理示例

特征处理之组合特征

特征选择

o  原因:

特征选择 VS 降维

常见特征选择方式之 过滤型

过滤型特征选择Python包

常见特征选择方式之 包裹型

包裹型特征选择Python包

常见特征选择方式之 嵌入型

嵌入型特征选择Python包


主要内容
 

特征工程: 大神们怎么看
 

l  Coming up with features is difficult, time-consuming, requires expert knowledge.
"Applied machine learning" is basically feature engineering.
——Andrew Ng


l  Actually the success of all Machine Learning algorithms depends on how you
present the data.
——Mohammad Pezeshki


l  …some machine learning projects succeed and some fail. What makes the
difference? Easily the most important factor is the features used.
——Pedro Domingos


l  The algorithms we used are very standard for Kagglers. […] We spent most of our
efforts in feature engineering.
—— Xavier Conort


特征工程
 

o  特征 => 数据中抽取出来的对结果预测有用的信息
o  特征工程是使用专业背景知识和技巧处理数据, 使得特征能在机器学习算法上发挥更好的作用的过程。
 

意义
 

o  更好的特征意味着更强的灵活度
o  更好的特征意味着只需用简单模型
o  更好的特征意味着更好的结果
 

互联网公司机器学习的“真相”
 

数据与特征处理

数据采集
 

  大多数情况下, 你的工作: 思考哪些数据有用
  埋点和数据打标存储会有其他的同学做

数据格式化
数据清洗
 

数据清洗示例/思考角度
 

数据采样
 

 

正负样本不平衡处理办法
 

特征处理
 

特征处理之数值型
 

数值型特征Python处理
 

 

分位数,从大到小排序后,25%, 50%,的样本

原来是连续,现在离散,如果其值落在某个区段则其为1,其它为0

变为稀疏的离散的向量

pandas as pd

特征处理之类别型
 

o  one-hot编码
o  哑变量
o  Hash与聚类处理
o  小技巧:统计每个类别变量下各个target比例, 转成数值型

类别型特征Python处理: Hash技巧
 

bucket是词集 word list

 

类别型特征Python处理: Histogram映射
 

【散步,足球, 看电视视】

特征处理之时间型
 

特征处理之文本型
词袋
 

bags of words

把词袋中的词扩充到n-gram
 

n-gram, 将词语组合,放到里面

我很喜欢你

你很喜欢我

我,很喜欢,(很和喜欢组合),喜欢你(喜欢和你组合)

使用Tf–idf 特征
 

TF-IDF是一种统计方法, 用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 字词的重要性随着它在文件中出现的次数成正比增加, 但同时会随着它在语料库中出现的频率成反比下降。


深度学习用的word2vec

king和queen 与man和woman的关系类似,其距离差不多的,

word2vec能得到一个词相对于另一个词的特征

特征处理之统计特征
 

特征处理示例
 

特征处理之组合特征
 

 

特征选择
 

o  原因:


  冗余: 部分特征的相关度太高了, 消耗计算性能。
  噪声: 部分特征是对预测结果有负影响


特征选择 VS 降维


  前者只踢掉原本特征里和结果预测关系不大的, 后者做特征的计算组合构成新特征
  SVD或者PCA确实也能解决一定的高维度问题
特征选择不会改变原来的特征

降维会做一些运算

常见特征选择方式之 过滤型
 

过滤型特征选择Python包
 

K的选择不好定,通过SelectPercentile设定百分比来确定

常见特征选择方式之 包裹型
 

  把特征选择看做一个特征子集搜索问题, 筛选各种特征子集, 用模型评估效果。
  典型的包裹型算法为 “递归特征删除算法” (recursive feature elimination algorithm)
  比如用逻辑回归, 怎么做这个事情呢?
 

①   用全量特征跑一个模型
②   根据线性模型的系数(体现相关性), 删掉5-10%的弱特征, 观察准确率/auc的变化
③   逐步进行, 直至准确率/auc出现大的下滑停止

 

包裹型特征选择Python包
 

特征映射得到的如one-hot编码

常见特征选择方式之 嵌入型
 

  根据模型来分析特征的重要性(有别于上面的方式,是从生产的模型权重等) 。
  最常见的方式为用正则化方式来做特征选择。
  举个例子, 最早在电商用LR做CTR预估, 在3-5亿维的系数特征上用L1正则化的LR模型。 剩余2-3千万的feature, 意
味着其他的feature重要度不够
theta0 + theta1*x1 + theta2*x2+-----+ thetan*xn

x1,x2----特征重要则theta大否则就小

L1截断性效应,不重要就不要了

L2是缩小

嵌入型特征选择Python包
 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值