机器学习笔记(一)之特征工程、特征处理方法、特征构建

特征工程

  • 特征使用方案
    • 可用性评估
  • 特征获取方案
  • 特征处理
    • 特征清洗
    • 预处理
      • 单个特征
      • 多特征
      • 衍生变量
    • 特征处理
  • 特征构建
  • 特征提取方法

特征使用方案

这里我们要思考要实现我们的目标需要哪些数据
答:基于我们的专业知识,尽可能找出对因变量有影响的所有自变量。

举个例子:
评价一个车是否是好车,我们有很多的参数,那么当我们训练一个模型帮助我们去判断车的好坏时候,就需要考虑各种各样的参数。有时候训练结果的不好,修改各类参数也无法得到较好的结果时,可以返回最初的数据集特征的选择。极端:如果仅选择颜色作为评价车好坏的特征,那结果一定也不如意。

可用性评估

在尽可能思考全面特征的情况下,再进行可用性评估。
1.获取难度

2.覆盖度

3.准确率

由于我处理的数据大多是卫星数据,很多时候,结果的验证就是一个问题。
有时候,需要尽可能的去寻找辅助数据,搜索监测站数据是否有需要的数据。还有一些数据则不好获取。比如研究水藻,思考是否水藻的漂浮和悬浮在对位于不同生长周期判断方面有区别呢?这个是否可以作为判断生长周期的一个依据呢?可若以此为特征,数据的获取将会十分困难。如果目标是建立一个遥感卫星实时监测平台,更是无法将此作为特征,总不能实时实地检测,实时监测,哈哈。(例子若有不妥之处,欢迎指正。)

特征获取方案

对于不同格式数据的处理在很多时候是至关重要的。
1.如何获取这些特征?
2.如何存储?

许多数据是TIFF格式,有的则是NC格式,还有部分是HDF格式。获取数据的方式网络有很多人做了分享,不再赘述。有时候csdn平台若无法提供较好的数据处理转换办法,可以去GitHub去进行深一步的探索,有许多分享的宝贵资料。只是大多是英文展示。

特征处理

特征清洗

1.清洗异常样本
2.采样
①数据不均衡
②样本权重

预处理

单个特征

1.归一化
2.离散化
3.Dummy Coding(代码编号)
4.缺失值
5.数据变换
①log
②指数
③Box-Cox变换

Box-Cox变换之后,可以一定程度上减小不可观测的误差和预测变量的相关性。

多特征

1.降维
PCA
LDA

线性判别分析(LDA),同PCA类似,也是一种降维算法,不一样的是,LDA是一种监督算法,它需要用到类别信息。

2.特征选择
①Filter
1)思路:自变量和目标变量之间的关联
2)相关系数
3)卡方验证
4)信息增益、互信息

熵H(Y)与条件熵H(Y|X)之差称为互信息,决策树学习中的信息增益等价于训练数据集中类与特征的互信息。

②Wrapper(封装器,侧重特征子集,实质是一个分类器)
1)思路:通过目标函数AUC/MSE,来决定是否加入一个变量
2)迭代:产生特征子集,评价:
1完全搜索
2
启发式搜索
3*随机搜索:GA or SA

③Embedded(集成方法)
1)思路:学习器自身自动选择特征
2)正则化:
1* L1—Lasso
2* L2—Ridge
3* 决策树—熵、信息增益
4* 深度学习
缺点:必须事先知道什么是好的选择

衍生变量

对原始数据加工,而得来的对象。

特征处理

(1)特征有效性分析
特征重要性、权重。
(2)特征监控
监控重要特征。
防止特征质量下降,影响模型效果。

特征构建

(1)描述:从原始数据中人工的构建新特征。
(2)方法:
组合属性。
切分属性。

切分属性例如:将数据中的日期字段按照季度和周期或者一天的上午、下午、晚上去构建特征

(3)对数据敏感、分析能力强

特征提取方法

PCA
ICA
LDA
SIFT(图像数据)

你可能感兴趣的:(python,机器学习与深度学习,机器学习,笔记,人工智能)