资讯专栏INFORMATION COLUMN

数据挖掘的五大流程之数据预处理&特征工程

邹立鹏 / 1213人阅读

摘要:尤其是中的数据,堪称完美。所以我决定,少讲一两个简单的算法,为大家专门拿一堂课来讲解建模之前的流程,数据预处理和特征工程。

想象一下未来美好的一天,你学完了菜菜的课程,成为一个精通各种算法和调参调库的数据挖掘工程师了。某一天你从你的同事,一位药物研究人员那里,得到了一份病人临床表现的数据。药物研究人员用前四列数据预测一下最后一数据,还说他要出差几天,可能没办法和你一起研究数据了,希望出差回来以后,可以有个初步分析结果。于是你就看了看数据,看着很普通,预测连续型变量,好说,导随机森林回归器调出来,调参调呀调,MSE很小,跑了个还不错的结果。

几天后,你同事出差回来了,准备要一起开会了,会上你碰见了和你同事在同一个项目里工作的统计学家。他问起你的分析结果,你说你已经小有成效了,统计学家很吃惊,他说:“不错呀,这组数据问题太多,我都分析不出什么来。”

你心里可能咯噔一下,忐忑地回答说:“我没听说数据有什么问题呀。”

于是统计学家说:“诶?没人告诉你说,最后一列数据如果取个对数,结果会更好吗?”

你内心毫无波动:“没。”

统计学家:“诶那你肯定听说了第四列数据有点问题吧,这个特征的取值范围是1~10,0是表示缺失值的。而且他们输入数据的时候出错,很多10都被录入成0了,现在分不出来了。”

你:”......“

统计学家:”还有第二列和第三列数据基本是一样的,相关性太强了。“

你:”这个我发现了,不过这两个特征在预测中的重要性都不高,无论其他特征怎样出错,我这边结果里显示第一列的特征是最重要的,所以也无所谓啦。“

统计学家:“啥?第一列不就是编号吗?”

你:“不是吧。”

统计学家:“哦我想起来了!第一列就是编号,不过那个编号是我们根据第五列排序之后编上去的!这个第一列和第五列是由很强的联系,但是毫无意义啊!”

老血喷了一屏幕,数据挖掘工程师卒。

这个悲惨又可爱的故事来自《数据挖掘导论》,虽然这是故事里的状况十分极端,但我还是想把这段对话作为今天这章的开头,博大家一笑(虽然可能听完就泪流满面了)。在过去两周,我们已经讲了两个算法:决策树和随机森林,我们通过决策树带大家认识了sklearn,通过随机森林讲解了机器学习中调参的基本思想,现在可以说,只要上过前面两堂课的,人人都会调随机森林和决策树的分类器了,而我呢,也只需要跟着各大机器学习书籍的步伐,给大家一周一个算法带着讲解就是了。如果这样的话,结果可能就是,大家去工作了,遇到了一个不那么靠谱的同事,给了你一组有坑的数据,最后你就一屏幕老血吐过去,牺牲在数据行业的前线了。

数据不给力,再高级的算法都没有用。

我们在课堂中给大家提供的数据,都是经过层层筛选,适用于课堂教学的——运行时间短,预测效果好,没有严重缺失等等问题。尤其是sklearn中的数据,堪称完美。各大机器学习教材也是如此,都给大家提供处理好的数据,这就导致,很多人在学了很多算法之后,到了现实应用之中,发现模型经常就调不动了,因为现实中的数据,离平时上课使用的完美数据集,相差十万八千里。所以我决定,少讲一两个简单的算法,为大家专门拿一堂课来讲解建模之前的流程,数据预处理和特征工程。这样大家即可以学到数据挖掘过程中很重要但是却经常被忽视的一些步骤,也可以不受课堂的限制,如果自己有时间,可以尝试在真实数据上建模。

数据挖掘的五大流程:
1. 获取数据

2. 数据预处理
数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程
可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小
数据预处理的目的:让数据适应模型,匹配模型的需求

3. 特征工程
特征工程是将原始数据转换为更能代表预测模型的潜在问题的特征的过程,可以通过挑选最相关的特征,提取特征以及创造特征来实现。其中创造特征又经常以降维算法的方式实现。
可能面对的问题有:特征之间有相关性,特征和标签无关,特征太多或太小,或者干脆就无法表现出应有的数据现象或无法展示数据的真实面貌
特征工程的目的:1) 降低计算成本,2) 提升模型上限

4. 建模,测试模型并预测出结果

5. 上线,验证模型效果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18650.html

相关文章

  • 特征工程&&清洗数据

    摘要:得分与距离均值的标准偏差数相关。不过,在我们的模型中将表示为浮点特征将其看为一个浮点数,以它的数值大小为特征没有意义。清查截至目前,我们假定用于训练和测试的所有数据都是值得信赖的。良好的机器学习依赖于良好的数据。 特征工程 将原始数据映射到特征 我们在进行机器学习的时候,采用的数据样本往往是矢量(特征矢量),而我们的原始数据并不是以矢量的形式呈现给我们的,这是便需要将数据映射到特征...

    1fe1se 评论0 收藏0
  • 以智能数据架构,挖掘增长金矿

    摘要:为了避免机器学习平台建设中出现的常见问题,个推的建模平台会提供相应的以及呈现相应特征的管理系统,同时还能提供标准化的匹配服务和数据抽取服务,减少工程师的重复工作。 对很多技术团队来说,在搭建智能数据架构的过程中,或多或少会遇到一些疑惑和挑战,经过多次实践后,有些团队已经破除疑惑,成功探索出一条搭建智能数据架构之路,那么他们是如何实现这一技术的呢?在近日的个推技术沙龙成都站,几位架构大师...

    warnerwu 评论0 收藏0
  • python中类&面向对象基本概念

    摘要:一概述今天我们讲述中的类面向对象的基本概念。如来根本不会管师徒四人按照什么流程去取。类的定义类表示某种类型集合的描述。类对象创建后类命名空间中所有的命名都是有效属性名。实例化类很多类都倾向于将对象创建为初始状态的。 showImg(https://segmentfault.com/img/remote/1460000018913535); 一、概述 今天我们讲述Python中的类&面向...

    李文鹏 评论0 收藏0
  • 展望2019 | 数据科学、机器学习和人工智能领域五大预测

    摘要:我们队年的预测基本正确,当中有些预测趋势也可以用于新的一年,下面继续看到对年数据科学机器学习和人工智能领域的预测。 showImg(https://segmentfault.com/img/bVbnqYV?w=1024&h=512); 作者:William VorhiesCDA数据分析研究院原创作品, 转载需授权​ 2018年刚刚结束,在2019年到来之际,让我们一起展望在今年数据科学...

    whlong 评论0 收藏0
  • 展望2019 | 数据科学、机器学习和人工智能领域五大预测

    摘要:我们队年的预测基本正确,当中有些预测趋势也可以用于新的一年,下面继续看到对年数据科学机器学习和人工智能领域的预测。 showImg(https://segmentfault.com/img/bVbnqYV?w=1024&h=512); 作者:William VorhiesCDA数据分析研究院原创作品, 转载需授权​ 2018年刚刚结束,在2019年到来之际,让我们一起展望在今年数据科学...

    HackerShell 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<