0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何构建数据科学项目才能更高效?

物联网之声 来源:未知 作者:胡薇 2018-09-06 09:01 次阅读

数据科学是什么?数据分析?机器学习?还是数据工程?答案可能有很多,但也许只有直接与某个公司的数据科学家交流,才能了解该公司是如何看待数据科学的。由Netflix举办的第三届聚焦数据科学的WiBD研讨会,为我们所有人了解Netflix的数据科学故事提供了绝佳机会,一起来看看吧!

数据科学是一个非常抽象的概念。有些人认为它是数据分析,也有一些人认为它是机器学习,还有些认为它带有一些数据工程的味道。

业界对数据科学这一概念难以达成一致有很多原因,其中一点就是,现在大范围内的岗位都可能涉及数据科学,并且这些岗位的职责都不尽相同。

此外,不同公司之间的细微差别,甚至是同一公司内部的不同团队之间的细微差别都会导致对数据科学的理解不同。因此,只有直接与某个公司的数据科学家交流才能了解该公司是如何看待数据科学的。

信息不对称是一个令人遗憾的事实,它阻碍了许多人追寻数据科学以及数据工程这一职业的道路。

如果我们投入越多的工作时间来解决这一棘手的问题,那么这一阻碍也就能越早被突破。关于这一点,推荐一个社会教育企业——HasBrain,该企业致力于填补信息缺口并且为想要学习并找到通往数据科学和数据工程道路的人提供帮助。

构建数据科学项目

头脑风暴活动

现实世界的数据科学项目与理论上的有何不同,如何构建数据科学项目才能更高效?Becky在研讨会上展示的数据科学项目体系对该问题总结得非常好。

以下是Becky的总结

步骤一:从了解业务问题开始

下面的幻灯片,是Becky就如何定义成功而列出的一系列业务问题。如果你想要很好地证明你的概念,你需要一开始要以一个简单模型作为基准,然后从增量改善(incremental improvement)的角度来评估模型的价值。

否则,你会一直困扰于75%的准确度是否足够好这样的问题。拥有物理学博士学位的Becky也提到,专业学者总是会仔细检查到最后那20%,以确保结果是无懈可击的。所以,如果博士生们想要成为数据科学家,这一点是需要特别注意的。

步骤二:制定技术计划

除了下面的幻灯片中列出的细节,Becky还强调了沟通的重要性,同时还提出要站在利益相关者的角度思考。因为利益相关者最关心的未必是机器学习的误差测度,所以要学会如何将业务目标转化为价值优化问题,这一点极为关键。

相较于“重新发明轮子”,弄明白和学会使用现有的技术可以为我们节省很多时间。现有的用于监督学习的技术,如预测建模或分类,都有很好的文档记录。

然而,在相对更先进以及更专业的机器学习领域(例如NLP和图像分类),新文章不断地发表,技术不断地更新。因此,即时了解最新和最好的研究论文是数据科学家们需要牢记的黄金准则。

步骤三:对概念进行初步验证 -> 不断迭代/验证直到成功或是无法再继续 -> 向利益相关者传达结果

如果你对工作流程甚至是数据科学家使用的工具或库还有任何的疑问,都可以参考Becky在项目构建中对“doing the project”这部分的详细描述。

步骤四:模型产品

如果一些数据科学家告诉你必须要学会编写产品级代码,那么,他们可能需要独立处理模型产品化,而不是交给机器学习工程师或是软件工程师。

模型产品化本质上就是指不要在现有的模型输出上停滞不前。你的结果输出是产品的一部分,并且会改变用户的实际体验。

你的代码也会成为更大的产品代码库的一部分,例如,如果你归类用户是否会在未来两周内流失,被预测为会流失的用户和被预测为不会流失的用户可能会有不同的用户界面(UI)。

实际上,你是为其他团队创建了一个API来调用你的模型并获得模型输出。你可能需要重构你的代码,此时,只要API没有中断并且终端用户体验是无缝的,你就可以不断地升级模型。

Becky自学了工作中要用到的软件工程方面的知识,学会使代码模块化,以实现可重复性并提高算法效率。甚至有时,可能会参与到软件工程师或是数据工程师的团队中。这不仅取决于工作的复杂性,还取决于服务等级协议(Service Level Agreement, SLA)。例如,如果你的API需要一直处于运行状态,则可能需要更广泛的代码审查或软件工程团队的直接参与。

沟通与问题解决

在讲述了数据科学项目的构建之后,Becky更多地谈到了有效沟通和解决问题的技巧的重要性。如何向非技术人员的利益相关者们解释复杂的数据科学概念,是获得他们买进支持的重要环节。

Becky将她在攻读物理学博士学位期间学会的一项技能运用于此——将复杂问题分解成小块并逐一解决。类似地,她就将利益相关者的高阶问题(high level question)进行分解,并找出数据科学项目可以提供价值的地方。

如果没有数据科学家的工作经验,想要胜任这部分工作是不容易的,因为包括Kaggle项目在内的大多数实践项目都是从已经定义明确的数据科学问题开始的。Becky谈到,这些软技能其实是从经验中获得的,当然也可以从有效的反馈中学习。

与此同时,她也会阅读一些基础书籍来熟悉商业中的通用概念和术语。另外,许多其他资深的数据科学家们都建议,如果想要进一步发展自己的商业头脑,则需要阅读一些产品管理的书籍和文章。

实践练习

这个项目使用WDI数据来预测业务启动成本,非常适合初学者。如果你是机器学习新人,或是刚刚完成一些监督学习的网络基础课程,这将会是一个很好的额外练习机会。

现在,让我们回到之前谈论的问题解决和沟通方面,Becky就此提出了一个业务问题:“在不同的国家开展业务都有多难?”她还确立了一个项目目标,即预测在不同国家开展业务的成本。

如果这是一个实际的工作项目,对于开展业务的便利性来说,这些预测成本要如何成为整体评估决策中的一部分,我想,她可能需要与利益相关者就此问题达成一致。

最后,希望这个总结对你有帮助。祝所有数据科学爱好者们好运!并再次感谢Netflix团队的慷慨分享!另有演示的幻灯片和录像可供使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130556
  • 数据科学
    +关注

    关注

    0

    文章

    163

    浏览量

    9981

原文标题:如何成为一名数据科学家?听听来自Netfix的老司机怎么说

文章出处:【微信号:szwlw26059696,微信公众号:物联网之声】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    交换芯片的构建原理

    交换芯片的构建原理涉及复杂的电子工程、计算机科学和通信原理。这种芯片作为网络通信中的关键组件,其构建原理主要基于对数据信号的高效处理与转发。
    的头像 发表于 03-22 16:21 183次阅读

    为外部GCC配置ADS构建项目时出错怎么解决?

    我已经为外部GCC配置了ADS来构建项目,我正在使用Gcc编译器。 当我使用此配置进行构建时,它给出了错误,我附加了错误快照,我使用“-mtc18”检查了配置及其默认值,我们如何 CAN 更改此配置。 此配置是为使用具有相同芯片
    发表于 01-30 06:29

    用C语言构建高效的嵌入式程序

    嵌入式工程师在编写C语言程序时,需要注重效率和清晰的思路。本文将通过解析经典问题“猴子选大王”来展示如何用C语言思维方式构建高效、清晰的程序。
    的头像 发表于 12-21 09:27 286次阅读

    CMake构建后的项目结构解析

    一、 CMake构建后的项目结构解析(Analysis of the Project Structure After CMake Build) 1.1 CMake构建后的目录结构(Directory
    的头像 发表于 11-10 10:27 401次阅读
    CMake<b class='flag-5'>构建</b>后的<b class='flag-5'>项目</b>结构解析

    创建更低延迟和更高效率的 5G 系统

    创建更低延迟和更高效率的 5G 系统 5G 是新型信息基础设施的基石,通过实现更低延迟和更高数据速率促进更多新型应用。 利用 TI 业界出色的先进射频无线电和中频采样技术以及系统专业知识,您可
    的头像 发表于 11-08 08:21 183次阅读
    创建更低延迟和<b class='flag-5'>更高效</b>率的 5G 系统

    超宽体封装数字隔离器让高压应用更高效可靠

    旺盛期。 在高压系统中,必须通过隔离手段构建可靠的隔离栅,将敏感的电子元器件与快速瞬变的高压组件进行电气隔离,以保证电源安全性、更好的系统性能和更高的可靠性。这需要考虑很多因素,包括隔离额定值、爬电距离和电气间隙、共模瞬态
    的头像 发表于 10-20 14:55 288次阅读
    超宽体封装数字隔离器让高压应用<b class='flag-5'>更高效</b>可靠

    DevEco Hvigor高效编译,构建过程新秘籍

    构建配置文件中将差异化部分显示配置出来,即可在编译构建过程中实现一个应用构建出不同的目标产物版本,从而实现源代码、资源文件等的高效复用。 通过配置Target,每个HAP包都可以定制功
    发表于 10-17 16:54

    Gradle构建的多模块Spring Boot项目

    0. 前言 相比起 Maven 的 XML 配置方式,Gradle 提供了一套简明的 DSL 用于构建Java 项目,使我们就像编写程序一样编写项目构建脚本。 本文将从无到有创建一个用
    的头像 发表于 09-25 14:46 1193次阅读
    Gradle<b class='flag-5'>构建</b>的多模块Spring Boot<b class='flag-5'>项目</b>

    使用MDK构建Mbed操作系统项目

    、RTOS以及传感器和I/O设备的驱动程序。 Med OS本身并不以CMSIS包的形式提供,但有自己的配置和依赖管理系统。 本应用笔记展示了如何通过将项目从med在线编译器迁移到MDK来开始使用MDK-Community版本(或任何其他MDK版本)构建med OS
    发表于 08-25 07:01

    达实智能中标光明生命科学数据中心项目计算平台

    及深圳市智慧城市科技发展集团有限公司作为联合体,中标光明生命科学数据中心项目计算平台和配套系统项目,中标金额为24,578万元。   项目
    的头像 发表于 08-08 10:52 637次阅读

    _统计-数据科学基础知识完整的大学课程_第33节 #硬声创作季

    数据科学
    充八万
    发布于 :2023年08月04日 06:02:35

    _数据科学动手速成课程_第11节

    代码数据科学
    充八万
    发布于 :2023年08月04日 04:00:02

    互联蜂箱的构建项目

    电子发烧友网站提供《互联蜂箱的构建项目.zip》资料免费下载
    发表于 07-13 11:03 0次下载
    互联蜂箱的<b class='flag-5'>构建</b><b class='flag-5'>项目</b>

    MIMXRT106S项目构建失败的原因?怎么解决?

    我正在尝试使用项目创建向导在 MCUExpresso IDE 中为 MIMXRT106S 处理器创建一个基本项目。 创建项目后,我尝试构建它,但失败并出现 7 个错误。 该处理器是否有
    发表于 05-31 07:00

    如何更高效地调度存储数据

    5月,首届“中国计算产业生态高峰论坛”在天津召开。论坛上,产学研用各界专家共同探讨了行业新趋势,分析了全新阶段下中国计算产业对计算、存储、网络的新需求。面对更庞大的数据量与更多元的计算场景,如何更好地存取数据,已经成为数据计算领
    的头像 发表于 05-23 10:48 446次阅读