特征工程
来源:互联网 发布:读三毛梦里花落知多少 编辑:程序博客网 时间:2024/05/17 01:36
特征值处理
对特征的值进行操作
特征处理
- 特征二值化:通过阈值把特征转化为0-1,有些特征只接受布尔值作为输入。
- 特征离散化:把连续的数值转化为离散的,是让每一部分样本相同,还是每一部分区间长度相同?
- 特征值转化:放缩、平移
- 特征正规化:把所有的特征的分布变为
N(0,1) ,这样在梯度下降时收敛更快。 - 对特征加入先验:例如可以用来区分是语法词还是情感词。
特征选择
less is more
特征工程通常有两个用处:
- 为了更好地预测,
- 为了让模型有更好的可解释性,如果模型可解释性增加,反过来又可以协助做更好的特征工程
为什么要做特征选择:
- 越少的特征解释性就越好
- 泛化能力更强,避免过拟合
- 收敛更快
所以我们要选择那些没有冗余的、与标签相关的特征
如何做特征选择:
- 选择特征集的所有子集?NP-hard
- 所以需要找到可行的办法:例如可以进行启发式的(无监督),使用训练集测试选择(有监督)
- 简单的办法:每次只选择一个特征测试,测试它的性能
特征选择之black list:
例如文本数据中的停用词:
优点:简单,有效
缺点:同义词 can 罐子
特征选择之非监督学习方法:
在文本数据中选择出现次数前x%的数据,因为选择过程中与标签无关,所以叫非监督。
特征选择之有监督学习方法:
filter approach:
特征选择之信息增益:
选择X使得H(Y)-H(Y|X)最大,
特征选择之wrapper approach:
特征选择之feature interaction:
特征选择之正则化:
选择对应参数最大的特征
特征变换
为什么要做特征变换:有些算法只能解决特定的问题,例如感知机只能解线性可分问题。
对于这样的问题,我们通常有两种选择:
- 特征变换
- 选择更加复杂的算法(例如神经网络)
特征变换的几种方式:
- 把原来的特征映射到更高维空间中
- 建立更多的特征
- 核方法(特征映射)
http://kti.tugraz.at/staff/denis/courses/kddm1/featureengineering.pdf
阅读全文
0 0
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 特征工程
- 设计模式阅读备忘笔记-原则
- ajax请求成功,但执行error回调
- Kotlin 第一章: Kotlin简介以及插件安装
- DD报文格式
- Windows internals 7 -- 1 -- 瞎扯扯
- 特征工程
- Ajax ——无刷新页面加载页面
- 线性表--顺序存储结构
- java-源码解读-java类加载机制
- bzoj3479 [Usaco2014 Mar]Watering the Fields(prim裸题)
- redis-订阅与发布
- 编写批处理脚本启动和关闭Oracle
- 第四周项目2-建设“单链表”算法库
- CodeForces