数据预处理——是脏活、累活,却也价值无限

当有大企业为数据进行争论时,我们再一次感慨数据的价值。自从大数据一词被提出之后,我们无时无刻不再提醒着自己,累积了越多的数据,就越能手握金矿。在机器学习、深度神经网络开始走向大众视野之后,我们更加自豪,仿佛分分钟能从自己的数据中诞生个什么算法。

事实上,针对于机器学习应用范畴看来,绝大部分企业所谓的大数据,都只是一大堆占据着储存空间的垃圾。

因为,这些大数据都是未经清洗、处理过的脏数据,完全不足以用来训练算法模型。

今天就来谈谈机器学习这一高级产业中的“苦力工种”——数据预处理。

抛开盲目崇拜,我们其实知道,机器学习对于数据的依赖非常之深,同时对数据的要求也很高。和数据库中的数据不同,现实生活中我们采集到的数据往往存在大量人为造成的异常和缺失,非常不利于算法模型的训练。

而对于数据的清洗、特征标注等等,往往占据了一个项目七成的时间。

在分析了项目的具体需求之后,第一步就是数据的清洗。

数据清洗包含多种步骤,比如对异常值的处理、对缺失数据的处理和对重复数据的处理等等。

常用的办法是将数据制成直方图、点图、箱型图、Q-Q 图等等,从其中可以直观的发现需要清理的数据。

如图所示,远离群体的数据均为需要清理的数据。当然,清理也不一定是删除,可以根据实际情况选择用平均值替代甚至不处理等等。

在经历了痛苦的去异常、去缺失、去重复、降噪音之后,我们得到的仅仅是一份没有明显错误的原始数据。还要经历数据转换、降维等等方式让数据标准化,只保留我们所需要的维度。这样一来才可以进一步降低噪音,去除无关特征带来的巨大计算量。

以上的步骤可以运用于任何数据之上,像是在 NLP 中就要提取波形文件,去掉连接词、分词等等。至于在人脸识别中,则是将每个人的名字和对应的照片标注归类,去掉混乱度较高的人。再提取图片向量,一个人照片中向量的平均值既是他的特征。

总之,数据预处理工作的难度不大,但却能折腾的人欲仙欲死。

这也是为什么 Apollo 这样的平台会为人工智能创业者提供数据库,毕竟对于大多数中小企业来讲,获取数据虽然简单,对于数据的预处理却是几乎不可能完成的任务。而以谷歌、百度等为代表的大企业,拥有足够的人力和算力,能够将自己的数据妥善处理,甚至开放开来组建生态力量。

除去与巨头共舞,另外的选择就是购买第三方提供的数据库,可最大的问题就是数据的真实性和实用性。糟糕数据库带来的结果,往往是算法在数据库内跑的风生水起,一落地应用就漏洞百出。而在资本的揠苗助长下,大多数人都忙着鼓吹自己的算法模型而忽略了数据源头问题,最终就是将万丈高楼建立在沙地之上。

面对这种情况,最苦恼的就是那些还算不上 BAT 级别,但又有了足够规模的互联网企业:他们拥有了足够多的数据,不屑于拿所谓的算法作为融资噱头,而是真的想通过机器学习提升自身业务。可面对复杂的数据预处理工作,他们需要付出极大的人力成本。要是说邀请第三方为其处理,恐怕又不放心自身数据的安全。

而这一切,不正是商机所在吗?

在今年三月的谷歌云开发者大会上,谷歌就发布了一项新服务—— Google Cloud Dataprep。它可以自动检索出数据中的异常值,用户只要给出数据清理规则,整个过程中都不需要人工写代码来干预。所以,用户既可以简单的完成数据清理,又能很大程度上保证数据安全。

数据的预处理的确是机器学习中的“脏活累活”,但这不代表不能用技术的力量提高这部分工作的效率。相比遥遥无期的人工智能,有关数据预处理的需求已经摆在了我们面前,并且每天都在扩大。而专注与数据预处理垂直领域的技术服务商却寥寥无几。

所以,与其在 NLP、自动驾驶的红海中被巨头碾压,不如换个角度,从现在就开始想办法服务那些渴望 AI 的企业。

本文作者:脑极体

来源:51CTO

时间: 2024-10-01 22:27:25

数据预处理——是脏活、累活,却也价值无限的相关文章

移动互联找个细分做脏活累活一定能赚钱

谈移动互联 1.移动互联找个细分做脏活累活一定能赚钱. 2.移动互联网领域中,做产品开放时,用户体验是首要考虑的因素. 3.移动互联网绝对不是用手机上网!很多人会想说,我就是把网页做得小一点.符合手机屏幕就够了,其实这是完全不一样的两个概念.移动互联网是一个完全全新的东西,大家千万不要认为它与手机上网是一件事情. 4.我对移动互联网特性的理解:1. 随时随地:2. 丰富交互:3. 身份统一. 5.对于用户来讲,需要登陆应用商店搜索或者浏览APP,在产品定位上面就要求你的APP一定要有更鲜明的定位

微信营销价值无限驳丁道师观点

(文/陶小开)前天看到资深互联网观察家丁道师在写了一篇微信营销的文章,当大家都在火热加入微信营销这个阵容的时候,<丁道师:莫要过分夸大微信营销的价值>一篇文章席卷互联网,里面引来了很多网友的赞同,同时也有许多网友还是吐槽质疑.而笔者也是吐槽阵容队伍中的一员. 对于丁道师提到过了一个平台能够带起一种营销,一个工具能够吸引一群人士这个观点我是十分的赞成的,而且丁在文章里面也提到过,这个平台就是微信公众平台,但是为什么到头丁会给做微信营销的人士泼一盆冷水呢? 本身每个事物每一个产品都需要去从立体的角

编程-求高手指点pajek数据预处理问题

问题描述 求高手指点pajek数据预处理问题 小弟刚接触pajek软件,录入数据时打算用excel2pajek将excel数据转换成.net格式.想将如图所示的数据一形式整理成数据二形式.但编程能力实在有限没想到什么办法,望高手指点!

数据挖掘-Logistic回归数据预处理问题

问题描述 Logistic回归数据预处理问题 我在做一个新闻数据集的分类,用Logistic回归模型.(数据集来源:http://archive.ics.uci.edu/ml/datasets/Online+News+Popularity) 这个数据集中的数据类型比较杂,有离散的数据也有连续的,有些范围在1以内,有些可以达到几十万,请问对这样的数据可以采用一些什么样的方法预处理,使之适用于Logistic回归? 解决方案 分类数据之logistic回归Logistic 回归Logistic回归p

《从Excel到R 数据分析进阶指南》一第4章 数据预处理4.1 数据合并

第4章 数据预处理 从Excel到R 数据分析进阶指南 本章是对清洗完的数据进行整理,以便后期的统计和分析工作,主要包括数据表的合并.排序.数据分列.数据表匹配和设置索引列等工作. 4.1 数据合并 首先是对不同的数据表进行合并.数据表的合并有3种,即横向合并.纵向合并和增加新字段.我们这里创建一个新的数据表df1,并将df和df1两个数据表进行纵向合并. df1<-data.frame(id=c(1007,1008,1009,1010), city=c("Beijing",&q

R数据预处理和并行计算简介

R语言数据预处理有很多包,但由于历史原因,部分包读写数据.数据转化速度较慢,本文主要介绍部分常用的高效的R语言数据预处理包.推荐使用Revolution Analytics公司提供的R版本,同时Rstudio的免费IDE也非常适合编写R脚本程序.  快速读取数据readr包  基于C++的SourceFile, SourceString, SourceRaw的文件API接口,避免了数据的复制和分配,能更加快速的读取格式化的数据.同时,readr将读取的数据列转化为多种不同类型的vector,如B

谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程

在实际的机器学习开发中,开发者通常需要对数据集进行大量的耗时费力的预处理过程,以适应各种不同标准的机器学习模型(例如神经网络).这些预处理过程根据待解问题的不同和原始数据的组织形式而各不相同,包括不同格式之间的转换,分词.词干提取和形成词汇,以及包括归一化在内的各种数值操作等等.实际上,数据的预处理已经成为了机器学习开发中无法回避的一个难题. 针对这一难题,谷歌于 22 日通过开发者博客正式发布了一个基于 TensorFlow 的全新功能组件 -- tf.Transform.它允许用户在大规模数

机器学习项目中的数据预处理与数据整理之比较

要点 在常见的机器学习/深度学习项目里,数据准备占去整个分析管道的60%到80%. 市场上有各种用于数据清洗和特征工程的编程语言.框架和工具.它们之间的功能有重叠,也各有权衡. 数据整理是数据预处理的重要扩展.它最适合在可视化分析工具中使用,这能够避免分析流程被打断. 可视化分析工具与开源数据科学组件之间,如R.Python.KNIME.RapidMiner互为补充. 避免过多地使用组件能够加速数据科学项目.因此,在数据准备步骤中利用流式获取框架或流式分析产品会是一个不错的选择. 机器学习和深度

利用 Scikit Learn的Python数据预处理实战指南

简介 本文主要关注在Python中进行数据预处理的技术.学习算法的出众表现与特定的数据类型有密切关系.而对于没有经过缩放或非标准化的特征,学习算法则会给出鲁莽的预测.像XGBoost这样的算法明确要求虚拟编码数据,而决策树算法在有些情况下好像完全不关心这些! 简而言之,预处理是指在你将数据"喂给"算法之前进行的一系列转换操作.在Python中,scikit-learn库在sklearn.preprocessing下有预装的功能.有更多的选择来进行预处理,这将是我们要探索的. 读完本文,