转载
特征工程 -> 更好的数据

特征工程:特征选择特征提取特征构造

“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。特征工程在机器学习中占有相当重要的地位。

深度学习方法无需特征工程
(基于神经网络结构的NER方法,继承了深度学习方法的优点,无需大量人工特征。只需词向量和字向量就能达到主流水平,加入高质量的词典特征能够进一步提升效果。)

本文是一篇关于特征工程的总结类文章,如有不足之处或理解有偏差的地方,还望大家多多指点。

首先,给一张特征工程的思维导图:

【如果要浏览图片,建议将其下载到本地,使用图片浏览软件查看】

关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。纵观Kaggle、KDD等国内外大大小小的比赛,每个竞赛的冠军其实并没有用到很高深的算法,大多数都是在特征工程这个环节做出了出色的工作,然后使用一些常见的算法,比如LR,就能得到出色的性能。遗憾的是,在很多的书籍中并没有直接提到Feature Engineering,更多的是Feature selection。这也并不,很多ML书籍都是以讲解算法为主,他们的目的是从理论到实践来理解算法,所以用到的数据要么是使用代码生成的,要么是已经处理好的数据,并没有提到特征工程。在这篇文章,我打算自我总结下特征工程,让自己对特征工程有个全面的认识。在这我要说明一下,我并不是说那些书写的不好,其实都很有不错,主要是因为它们的目的是理解算法,所以直接给出数据相对而言对于学习和理解算法效果更佳。

这篇文章主要从以下三个问题出发来理解特征工程:

  • 特征工程是什么?
  • 为什么要做特征工程?
  • 应该如何做特征工程?

对于第一个问题,我会通过特征工程的目的来解释什么是特征工程。对于第二个问题,主要从特征工程的重要性来阐述。对于第三个问题,我会从特征工程的子问题以及简单的处理方法来进一步说明。下面来看看详细内容!


1、特征工程是什么

首先来解释下什么是特征工程?

当你想要你的预测模型性能达到最佳时,你要做的不仅是要选取最好的算法,还要尽可能的从原始数据中获取更多的信息。那么问题来了,你应该如何为你的预测模型得到更好的数据呢?

想必到了这里你也应该猜到了,是的,这就是特征工程要做的事,它的目的就是获取更好的训练数据。

关于特征工程的定义,Wikipedia上是这样说的:

Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work. ”
  • 1

我的理解:

特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。
  • 1

简而言之,特征工程就是一个把原始数据转变成特征的过程,这些特征可以很好的描述这些数据,并且利用它们建立的模型在未知数据上的表现性能可以达到最优(或者接近最佳性能)。从数学的角度来看,特征工程就是人工地去设计输入变量X。

特征工程更是一门艺术,跟编程一样。导致许多机器学习项目成功和失败的主要因素就是使用了不同的特征。说了这么多,想必你也大概知道了为什么要做特征工程,下面来说说特征工程的重要性。


2、特征工程的重要性

OK!知道了特征工程是什么,那么我们必须要来了解下特征工程的重要性,为什么在实际工作中都要有特征工程这个过程,下面不同的角度来分析一下。

首先,我们大家都知道,数据特征会直接影响我们模型的预测性能。你可以这么说:“选择的特征越好,最终得到的性能也就越好”。这句话说得没错,但也会给我们造成误解。事实上,你得到的实验结果取决于你选择的模型、获取的数据以及使用的特征,甚至你问题的形式和你用来评估精度的客观方法也扮演了一部分。此外,你的实验结果还受到许多相互依赖的属性的影响,你需要的是能够很好地描述你数据内部结构的好特征。

(1)特征越好,灵活性越强

只要特征选得好,即使是一般的模型(或算法)也能获得很好的性能,因为大多数模型(或算法)在好的数据特征下表现的性能都还不错。好特征的灵活性在于它允许你选择不复杂的模型,同时运行速度也更快,也更容易理解和维护。

(2)特征越好,构建的模型越简单

有了好的特征,即便你的参数不是最优的,你的模型性能也能仍然会表现的很nice,所以你就不需要花太多的时间去寻找最有参数,这大大的降低了模型的复杂度,使模型趋于简单。

(3)特征越好,模型的性能越出色

显然,这一点是毫无争议的,我们进行特征工程的最终目的就是提升模型的性能。

下面从特征的子问题来分析下特征工程。


3、特征工程子问题

大家通常会把特征工程看做是一个问题。事实上,在特征工程下面,还有许多的子问题,主要包括:Feature Selection(特征选择)、Feature Extraction(特征提取)和Feature construction(特征构造).下面从这三个子问题来详细介绍。

3.1 特征选择Feature Selection

首先,从特征开始说起,假设你现在有一个标准的Excel表格数据,它的每一行表示的是一个观测样本数据,表格数据中的每一列就是一个特征。在这些特征中,有的特征携带的信息量丰富,有的(或许很少)则属于无关数据(irrelevant data),我们可以通过特征项和类别项之间的相关性(特征重要性)来衡量。比如,在实际应用中,常用的方法就是使用一些评价指标单独地计算出单个特征跟类别变量之间的关系。如Pearson相关系数,Gini-index(基尼指数),IG(信息增益)等,下面举Pearson指数为例,它的计算方式如下:


http://www.taodudu.cc/news/show-3463207.html

相关文章:

  • How To Implement The Decision Tree Algorithm From Scratch In Python (从零开始在Python中实现决策树算法)
  • 链路预测简单概述
  • xgboost入门与实战(原理篇)
  • 大数据Spark实战第八集 数仓与数据决策
  • 数据分析-Pandas基础
  • 《Hadoop进阶》利用Hadoop构建豆瓣图书推荐系统
  • 台湾大学林轩田机器学习技法课程学习笔记9 -- Decision Tree
  • 机器学习之统计分析(2)
  • 基于 Word2Vec 的微博情绪分类
  • 投资十几万可以做点什么生意?
  • 投资理财-全职投资的一些思考
  • 《价值投资实战手册》手把手教你价值投资
  • 做市业务
  • 使用java开发一个股票交易及量化投资回测分析系统
  • 现在做什么生意挣钱快投资小
  • 使用Python进行量化投资A股的4 种方法!
  • EXCEL做回测的基本框架
  • 算法导论 — 思考题15-10 投资策略规划
  • 用Python做投资-小试牛刀
  • Matlab做投资组合最优化
  • 【转】Python实例100个
  • 整理了100道关于Python3基础知识的练习题,记得收藏
  • C语言经典100例
  • Python基础训练100题(带答案),刷题一时爽,一直刷题一直爽
  • 常用SQL总结
  • C经典100例
  • Python-菜鸟练习100题
  • 100道面试常考的Python练习题
  • 100道Python练习题,看看你能会几题!?
  • IOS开发之----资源汇总

特征工程-获取更好的训练数据相关推荐

  1. ML之FE:数据处理—特征工程之数据集划分成训练集、验证集、测试集三部分简介、代码实现、案例应用之详细攻略

    ML之FE:数据处理-特征工程之数据集划分成训练集.验证集.测试集三部分简介.代码实现.案例应用之详细攻略 目录 数据集划分成训练.验证.测试三种数据的简介 1.训练集.验证集的作用 2.验证数据集 ...

  2. 《百面机器学习》第零问:什么是特征工程?什么是结构化数据?什么是非结构化数据?

    机器学习基本概念 1. 特征工程 1.1 特征工程的目的 1.2 怎么做特征工程? 1.2.1 特征构建 1.2.2 特征提取 1.2.2.1特征提取常用方法 1.2.3 特征选择 1.2.3.1 特 ...

  3. 如何获取高质量 CV 训练数据?这个超详细上手教程不容错过

    模型精度 随着计算机视觉的应用场景愈加广泛,AI 开发者对企业级视觉模型开发的精度与推理速度也更加关注.客观上要求模型精度越来越高的同时推理速度越快越好,这考验的是深度学习平台的开发能力. 作为国产深 ...

  4. 《机学三》特征工程3 —— 特征选择:特征选择、数据降维

    一.概述 1.1[降维] [维降]:把三维降成二维,本质就是减少特征数量: 1.2[特征选择] 什么是特征选择: 特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后 ...

  5. 机器学习(一)特征工程基本流程

    前言 特征是数据中抽取出来的对结果预测有用的信息,可以是文本或者数据.特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程.过程包含了特征提取.特征构建.特征选择等 ...

  6. 机器学习入门研究(五)-特征工程之特征提取

    目录 为什么要用特征工程 特征提取(Feature Extraction) 1.目的 2.对应的工具 3.三种方法 4.对应的sklearn的API (1)字典特征提取 (2)文本特征提取 总结 特征 ...

  7. 多特征值数据预处理_「人工智能」No.6 特征工程之数据预处理

    [导读:当今人类即将或者已然了进入智能时代,这是·情报通·人工智能科普系列第[6]篇文章,欢迎阅读和收藏!] 1 基本概念 "数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已 ...

  8. 机器学习 | 特征工程综述

    一.前言 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已.特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限. 构建 ...

  9. 数据挖掘:特征工程——特征处理与特征生成

    数据挖掘:特征工程--特征处理与特征构建 这里贴一张网上特征工程的流程,供大家学习. 一.什么是特征工程 特征工程:其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用..就是 ...

最新文章

  1. 是否可以在Gradle中声明一个可用于Java的变量?
  2. pc调试微信h5页面
  3. java file取不到linux文件_Java中高级核心知识全面解析——Linux基本命令(切换、增删改查、压缩文件、权限命令)...
  4. Mybatis_映射文件配置
  5. dojo中的this.own()
  6. 全志线刷工具如何刷linux,全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
  7. 【## 1、浏览器及内核-】
  8. java中int count什么意思_int groupCount()
  9. C语言中用零作为终止标记,求出一批非零整数中的偶数.奇数的平均值,用零作为终止标记的程序...
  10. 并行查询的执行计划解读
  11. 基于阿里云的智能插座——(立创EDA项目)
  12. 国产骨传导耳机推荐,目前最好用的几款骨传导耳机
  13. android手机震动
  14. Excel转Json工具(支持GUI模式和命令行模式)
  15. [机缘参悟-35]:鬼谷子-飞箝篇-远程连接、远程控制与远程测试之术
  16. UltraISO 制作U盘镜像步骤
  17. Win10 自带【屏幕录制】功能(win + G)----(附带:录屏时没有声音,声音不清楚 问题解决;---提取视频中的音频)
  18. 数据结构 严蔚敏 第二章 线性表
  19. 「自控原理」5.2 频域稳定判据、频域分析
  20. 卡特尔十六种个性因素测试16PF-人格测试 测评报告

热门文章

  1. springboot整合IK分词器
  2. 使用ab做web系统的压力测试
  3. python汉化 草蟒_草蟒首页、文档和下载 - Python 汉化版 - OSCHINA - 中文开源技术交流社区...
  4. IDEA自定义自动导包设置
  5. 【山东】泰安联想X3850X6 X6服务器维修记录
  6. 支持向量机SVM Iris数据集 分类预测
  7. labview调用halcon匹配详解
  8. 九连环的递归算法(C和C++)
  9. php 去除图片,php可以去除jpg格式图片的背景并加水印吗?
  10. 新概念英语(1-135)The latest report