机器学习之特征工程

特征工程

一、简介

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

二、特征工程的意义:

​ 1. 更好的特征意味着更强的灵活性

​ 2. 更好的特征意味着只需要简单模型

3. 更好的特征意味着更好的结果

三、工作应用

​ 工作中可能70%的时间处理数据,30%的时间建模、模型状态评估
算法、模型的研究是一些算法专家、专业人员在做
大部分人的工作
跑数据,数据库搬砖
数据清洗,数据清洗,数据清洗…
业务分析,分析case, 找特征,找特征…
一招LR打天下,LogisticRegressor逻辑斯蒂回归

四、影响预测结果好坏的因素

​ 1. 模型的选择
KNN、线性回归、领回归,Lasso、逻辑斯蒂回归、SVM、决策树、贝叶斯、Kmeans……
2. 可用的数据
特征的提取

五、特征工程的重要环节

​ 数据采集,考虑哪些数据有用
数据格式化, 确定存储格式,例如时间格式、int、float等
数据清洗(data cleaning)
错误数据:例如人身高5m,这样的数据无论是否真实,对模型训练不利
组合或统计属性判定: 号称在米国却ip一直都是大陆的新闻阅读用户?你要判定一个人是否会买篮球鞋,样本中女性用户85%?
补齐可对应的缺省值 :不可信的样本丢掉,缺省极多的字段考虑不用
数据采样
很多情况下,不同样本是不均衡的,例如电商的用户点击/买过的商品和没有行为的商品
大多数模型对正负样本比是敏感的 比如LR,如果有99个正样本,1个负样本,那预测时全部预测正,准确率也可以达到99%,这不能反映模型的好坏
正负样本不平衡的处理方法
正负样本量很大,一类样本数量 >> 另一类样本数量, 采用下采样,即对偏多的数据进行采样,使两类样本数量达到一定比例,例如1:1, 3:2等。
正负样本量不大, 一类样本数量>>另一类样本
1)采集更多的数据
2)oversampling,即硬生生的增加量少的一方的样本,比如增加几倍的量少的样本(或简单处理量少的数据,例如图像识别中的镜像、旋转),容易过拟合
3)修改loss function,例如增加量大的样本的惩罚权重

posted @ 2018-08-07 21:42  轻松学编程  阅读(60)  评论(0编辑  收藏  举报