NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

微软高级数据科学家教你如何做数据科学

  • 2016-04-08
  • 本文字数:2372 字

    阅读完需:约 8 分钟

  1. 学会获取更多的数据

数据科学的数据源是数字和字段的集合。测量、价格、日期、时间、产品、标题等,都是简单的数据集;你也可以用图像、音频、视频等复杂结构的数据集,这时需要你去降维分解成数字和字段的集合。
数据获取是一个复杂的机制,数据工程师各种被揉捏,但本篇文章重点是讲述数据科学,数据获取将会是下一个 topic。
2. 学会聪明的提出问题

简单点讲,就是提出的问题要问到点子上。数据科学是通过对数字和字段组成的数据集合进行处理,然后回答问题。你描述的问题越精确,越容易找到令你满意的精确答案。含糊不清的问法:“我的数据能为业务提供什么?”,”有了数据我该做什么?”;相对应地,清晰的问法:“第三季度在蒙特利尔卖了多少 Q 型小物件?”
你有了一个问题,现在你得看自己的数据是否可以回答。如果你的问题是“我的股票下周的销售价是多少?”,那需要确保你的数据包括股票的历史数据;如果你的问题是“88 型发动机多少小时会发生故障?”,那需要确保你的数据包括 88 型发动机失败的次数。这些问答案例被称之为目标,你的目标是定量或者分类预测或任务。如果你没有任何目标数据,需要回到步骤 1,获取更多的数据。
3. 装载数据进表

大部分机器学习算法都是假设数据以表的形式呈现。每行是一个事件、item、或者实体;每列是行数据的一个特征或者属性。一个描述美国足球比赛的数据集,每行代表一场比赛,每列分为主场足球队、客场足球队、主场得分、客场得分、日期、开始时间和出场等等。
选择你所需的数据行
经常有许多种方式将数据集分割成行,但只有一种方法能帮助你回答问题:每行有且仅有一个目标实体。拿零售店数据举例,一条交易记录一行,一天的记录一行,一个零售店一行,一个顾客的数据一行,等等。如果你的问题是”刚进过店的顾客会回访吗?“,那数据以一个顾客为一行来组织为好。你的目标 whether_the_customer_returned 将呈现在每行;但如果以一个零售店或者一天进行数据组织,将不能回答目标问题。
有时你必须向上钻取数据来获得相应的维度数据。如果你的问题是“我每天能卖多少拿铁咖啡?”,那你需要每行一天的数据记录(目标列为 number_of_lattes_sold),但是你的数据是每次的交易记录(带有日期和时间)。为了获取每行一天的数据记录,你必须向上钻取数据。
4. 数据质量校验

数据检查
接下来是仔细的查看数据。检查数据有两个目的:第一,发现错误数据,修复或者去除它;第二,对每行每列有足够的了解。
检查每列数据,它的符号是什么?符号意味着什么?有文档解释列的意思吗?数据是如何测试的?谁来测试的?如果你足够的幸运知道记录数据的人,可以去问问他们是怎样测试这些数据。
把数据列作为纵轴画图表,看下整体分布是否符合预期?是否有异常数据点?异常点是否有意义?
校正
纵观所有的数据列,你能发现字段和文档的错误,并记录下来你学到了什么,这样你会比其他人都要了解这些数据(除了纪录数据的人外)。
你也可能发现一些值是错误的。一些值超过了正常范围,比如,一个人 72 米高,或一个“7777777777 Mani St”的地址。当这些事情发生后你有三种选择:如果这个值很容易更改正确,比如,把高 72 米改成 72 英寸;如果错误的值不明显,你可以直接删除或者缺失;如果这个值是关键信息,你应该删除整行或者整列,这可以让你训练的模型远离错误数据,因为错误的数据对你的训练模型的影响比缺失数据更大。
替换缺失的值
在大部分情况下,数据集都存在缺失的值。但不管什么情况,机器学习算法都要希望数据无缺失或者填充默认值。对于你来说,你比机器学习算法更懂你的数据,所有补全缺失数据的工作你更适合。有许多替换缺失值的方法,最保险的一种是采用其它正常数据的平均值来替代。
5. 抽取特征

在做机器学习之前有一个非常重要的步骤:特征工程。特征工程简单讲,就是对现有特征数据进行组合,以获得更好的特征来预测目标。举个例子,火车到达和离开的时间相减获得运输时间,这个特征对预测速度的峰值更有用。
严格来讲,特征工程并不会增加任何数据信息,只是使用各种方法对原有数据进行组合。特征工程是数据科学的“黑科技”,并没有什么特别的、大一统的处理原则,虽然很多深度学习试图自动化这个过程,但都是失败了,特征工程一般是数据科学家的经验决定。不过即使你没有特征工程的技能,也有些小技巧可以使用。你可以对变量画图,并标记不同的颜色,可以帮你方便的发现变量之间的关系。
如果你发现经过特征工程之后还未找到特征来预测目标,那你得重写回到第一步获取数据。
6. 正确的回答问题

现在到了数据科学家钟爱的部分:机器学习,有许多资源讲这部分,这里就不再总结所有的方法。简单地讲,你可以在参考文章《你的问题属于哪种算法?》《选择一到多种算法》来选择算法,并用传统机器学习技术来分割数据进行训练、调优、测试数据、根据选择的模型优化参数。
如果你的模型并不能很好的解决问题,或者你想避免使用机器学习,也有两种非传统的方法回答:
第一种,简单的看你收集数据的图像,有一半的情况下可视化数据就可以找到答案。比如,如果你的问题是“在波士顿明年 7 月 4 号的最高温度是多少?”,对过去 100 年的温度可视化,查看直方图就基本可以解决问题。
第二种,更多技术需求。如果由于数据集太小而得不到结果,你可以考虑优化。机器学习是基于弱先验假设的结构化数据。这种方法的优点在于你使用算法之前你不需要知道太多数据,它能够训练出一个大范围的模型;副作用就是需要大量数据才能获得一个可信的答案。
7. 应用数据

不管你如何优雅的回答提出的问题,但数据科学家的工作直到用户去使用才算完成。把结果以某种形式呈现给用户作为参考来做对应的决策,展示的形式有很多种:将结果在 web 页面上画出来;把你发现的有用信息保存成 PDF;在 GitHub 上分享你的代码;把结论做成视频给你的商业客户,等等。总之一句话,要把你做的工作让其他人来使用。

2016-04-08 19:001956
用户头像

发布了 43 篇内容, 共 27.7 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

区块链数字版权,区块链数字藏品交易系统开发

a13823115807

#区块链# 区块链技术应用 区块链数字藏品

首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!

百度大脑

人工智能

☕【Java实战系列】「技术盲区」Double与Float的坑与解决办法以及BigDecimal的取而代之!

洛神灬殇

BigDecimal Java 开发 12月日更 Double和Float

即刻到位!快速落地 Amazon 智能工厂解决方案

亚马逊云科技 (Amazon Web Services)

AI/ML

深入浅出 OceanBase 运维之弹性扩缩容

OceanBase 数据库

直播 弹性扩容 OceanBase 开源

在Amazon SageMaker中灵活使用多种存储服务

亚马逊云科技 (Amazon Web Services)

AI/ML

架构实战营模块七课后作业

Geek_99eefd

#架构实战营 「架构实战营」

如何真正学习Go 语言

宇宙之一粟

golang 学习方法 Go 语言 12月日更

模块七作业

心怀架构

太香了,终于有人耗时1000小时打造出python从入门到精通全套路线图+视频+笔记

Java全栈架构师

Python 数据库 架构 面试 程序人生

业界福音!快来使用Amazon Transcribe服务减轻添加字幕的繁琐工序负担吧

亚马逊云科技 (Amazon Web Services)

AI/ML

YB时代即将来临,三问数据存储

脑极体

销售易携手DataPipeline,推动“实时感知-主动决策-客户成功”的变革!

DataPipeline数见科技

大数据 中间件 数据融合 数据迁移 数据管理

模块7作业

小何

「架构实战营」

农业与科技结合?快来看Amazon Rekognition自定义标签的作用吧

亚马逊云科技 (Amazon Web Services)

AI/ML

重装上阵——Graviton2提升ElastiCache for Redis的性价比!

亚马逊云科技 (Amazon Web Services)

AI/ML

SageMaker Neo优化目标检测模型加速推理

亚马逊云科技 (Amazon Web Services)

AI/ML

低代码实现探索(九)后台模型 json定义

零道云-混合式低代码平台

微众七年营造,ABCD“四梁八柱”建构数字时代的信任底座

脑极体

Redis RDB 持久化详解

程序员历小冰

redis 持久化 28天写作 12月日更

如何让用户给我们做推荐?

石云升

AARRR 产品思维 28天写作 12月日更

25天,手码Python数据分析+八大核心项目实战25W字总结,我献出了我的膝盖

Java全栈架构师

Python 数据挖掘 程序员 架构 数据分析

巧用机器学习托管服务,自动化合约处理从此不在话下!

亚马逊云科技 (Amazon Web Services)

AI/ML

apacheunomi漏洞介绍及代码分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

编写代码最应该做好的事情是什么?

李子捌

Java 28天写作 21天挑战 12月日更

飞桨中国行——生产制造专场

百度大脑

人工智能

开源驱动未来 | 2021新一代人工智能院士高峰论坛暨Open/O启智开发者大会开源专场顺利召开

OpenI启智社区

人工智能 开源社区 启智开发者大会

使用 Amazon IoT 和 Amazon SageMaker 进行设备实时预测性维护

亚马逊云科技 (Amazon Web Services)

AI/ML

新能源当道,如何构建一个电动汽车电池告警预测平台?

亚马逊云科技 (Amazon Web Services)

AI/ML

动手训练属于自己的无人车,这个超强服务现已开源!

亚马逊云科技 (Amazon Web Services)

AI/ML

有向无环图在新增节点时的环状检测

waitmoon

DAG

微软高级数据科学家教你如何做数据科学_语言 & 开发_侠天_InfoQ精选文章