返回顶部
首页 > 资讯 > 数据库 >一文了解数据科学Notebook
  • 735
分享到

一文了解数据科学Notebook

人工智能Notebook数据科学 2023-09-12 07:09:13 735人浏览 安东尼
摘要

编者按: 主要介绍什么是Notebook,Notebook在数据科学领域的应用的重要性与优势,以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时,基于Notebook的筛选考量维度,对常见的Notebook进初步对

编者按:

主要介绍什么是Notebook,Notebook在数据科学领域的应用的重要性与优势,以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时,基于Notebook的筛选考量维度,对常见的Notebook进初步对比分析,为数据科学家、算法工程师提供参考。

       Notebook是一种基于网页的交互式计算方式,用户可在Notebook中进行开发、文档编写、运行代码、展示结果以及结果分享。与传统非交互式开发环境相比,Notebook最大的特点是允许逐单元格(cell)执行脚本。Notebook是数据科学领域至关重要的工具,数据科学家使用Notebook进行实验和探索任务。近年来随着大数据的发展,业务分析师等非技术人员也越来越多地开始使用Notebook。

01. Notebook的核心优势

       在传统的非交互式开发环境中,需要将开发人员编写完成的程序编译为可执行文件,然后完全运行该可执行文件,如出现错误,则需要返回编辑器键入新的代码,再重新运行全部代码。

        而在Notebook中,开发人员可以逐单元格(cell)编写和运行程序,出现错误时,仅需调整并运行出现错误的cell,正确运行的cell已保存在内存中,无需重复运行,极大提升了开发效率。Notebook也因此深受数据科学家和算法工程师的喜爱,被广泛应用于AI算法开发训练领域。深度学习的实验为例,模型的训练通常需要几小时至十几小时,运用Notebook进行模型调试,进行微小更改后,无需对模型全部进行重新训练,可极大节省数据科学家和算法工程师的时间。

02. Notebook的基本构成

       最早的Notebook是1988年推出的Mathematica。早期的Notebook主要用于学术领域,随着近十年来Notebook逐渐由学术界进入到产业领域,越来越多的Notebook涌现在市场中,如开源的Jupyter、Apache Zeppelin,商业化托管的Colab、JetBrains Datalore、IDP Studio** 等,支持混合多语言的Polynote等。

       尽管Notebook的种类众多,其最核心的构成均包含两大组件:

  • 一是前端客户端,由有序的输入/输出单元格列表构成,用户可以在这些单元格中输入代码、文本等 。
  • 另一组件是后端内核(Kernel),其可配置在本地或云端。代码由前端传递给Kernel,Kernel运行代码后将结果返还给用户。Kernel决定了Notebook的计算性能,IDP Studio 采用Rust语言实现重写Kernel,Notebook启动速度和资源配置速度提升了一个数量级。

       (** 本文中仅使用IDP Studio概括性指代IDP Studio中notebook交互式编程环境,IDP Studio中其他模型管理、模型发布等插件功能不在本文讨论范围)

03. 如何选择适合的Notebook

       不同的Notebook各具特点,数据科学家和算法工程师在实际使用时需根据自身核心诉求选择最合适的Notebook工具。我们基于对大量数据科学家的访谈,总结出数据科学家在Notebook的选择中关心的四大核心问题,供广大算法开发和数据挖掘人员作为工具筛选标准的参考。

1) 基本功能的完备和易用性

       安装部署:对于新手数据科学家来说,商业化托管的Notebook(如IDP Studio, Colab, JetBrians Datalore)采用SaaS模式,开箱即用,更加易于安装上手。开源Notebook需使用者自行安装,通常本地安装相对容易,但若安装、运行到远程服务器上,则具有较大挑战。

       版本管理:无论算法模型,还是算法接口,都会需要不断的更新和优化,版本的管理至关重要。不同Notebook版本管理功能的完备和易用性具有差异,如Jupyter等开源产品支持git进行版本管理;IDP Studio等在支持Git的同时具有内置的版本管理功能,自动进行历史版本的保存,而Colab暂不支持版本管理功能。

       语言支持:机器学习和数据科学领域常用的语言有pythonsql、R等,Python遥遥领先,根据Kaggle2021年对逾25,000名数据科学家的调研,84%采用Python。目前常见的Notebook均对Python有较好的支持,但对于第二大和第三大常用语言SQL和R的支持深度却不尽相同。因此,数据科学家在选择工具时,需考虑Notebook是否天然支持自己常用的语言。如Jupyter可较好支持Python、Julia和R语言,但在支持SQL时需通过安装插件、自行配置;IDP Studio则天然深度支持Python和SQL, 对其他非常用语言目前还尚未支持;若需要对Scala及其他多语言均有较好支持,则可以考虑Polynote。


2) 效率提升

       在基本功能的基础上,数据科学家关注Notebook是否可以帮助其减少非核心工作,提升开发效率。

       代码辅助:代码辅助可以极大程度上帮助开发者节约时间,提升效率。主要的代码辅助包括代码补全、错误提示、快速修复、定义跳转等。开源工具具有丰富的生态体系,普遍需要依托第三方插件实现代码辅助功能。商业托管类产品内置代码辅助功能,但功能侧重点和性能方面具有,其中代码补全是普遍的功能。IDP Studio在代码辅助功能上最为全面,速度和性能方面相对体验更优,但对于部分第三方库的函数的补全还有待完善。

       数据源的接入:数据是数据科学家日常工作的基石,通常数据源分散在各地,对数据的接入带来极大挑战。是否可以便捷接入数据至关重要,数据科学家需根据自身数据源的分布,选择合适的Notebook。目前,Jupyter、Zeppelin开源软件需数据科学家自行配置接入;Colab仅支持Google Drive中的数据接入;IDP Studio已对主流数据源进行了集成对接,使用者可一键式接入数据源。

       环境管理:先对成熟的数据科学家和算法团队对便捷的环境设置和环境管理具有更要的要求,他们希望能够快速配置环境,同时希望能够构建并管理一个可以在个人和团队间进行共享的一致性环境。不同Notebook对于环境配置和复用的支持力度不同,综合来看,天然支持团队协作的Datalore等在环境管理方面易用性稍高。使用者可根据自身对环境管理的需求,进行选择。


3) 加速协作

       跨团队的协作分析:算法和业务分析的耦合日益深入,算法开发人员希望能够将结果以可交互的可视化报告的形式分享给业务人员,实现算法团队和业务团队的高效协同分析。对于跨团队协作有较强需求的数据科学家,可更多关注今年来新推出的、在功能定位上突出团队协作的Datalore、IDP Studio等Notebook。
       协作编程:除跨团队协作外,Notebook的共享、实时协作编辑和评论,也成为数据科学家们日渐突出的需求。目前看来,海外数据科学家对该功能的需求更加强烈。目前常见Notebook均支持一定程度的协作编程,但在实时性和易用性上存在差异。


4) 成本

       成本通常是影响数据科学家和算法工程师选择的重要考量因素,但在Notebook的选择领域,我们认为该因素的重要性相对低于性能和易用性,因为即时商业化的Notebook,对于个人使用者通常提供免费的基础版本。

       我们很高兴看到Notebook愈加受欢迎,并逐渐成为算法团队和业务团队的沟通桥梁。Notebook在产业界应用也进一步深入,为数据科学家们提供了良好的算法开发、试验和探索等的支持。

更多技术内容,欢迎关注:Baihai IDP
 

来源地址:https://blog.csdn.net/iamonlyme/article/details/132799945

您可能感兴趣的文档:

--结束END--

本文标题: 一文了解数据科学Notebook

本文链接: https://lsjlt.com/news/404130.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一文了解数据科学Notebook
    编者按: 主要介绍什么是Notebook,Notebook在数据科学领域的应用的重要性与优势,以及数据科学家/算法团队在选择Notebook时需考虑哪些关键因素。同时,基于Notebook的筛选考量维度,对常见的Notebook进初步对...
    99+
    2023-09-12
    人工智能 Notebook 数据科学
  • 打造数据科学作品集:搭建一个数据科学博
    这是「打造数据科学作品集」系列文章的第二篇。如果你喜欢该系列,而且想知道下一篇文章什么时候发布,你可以订阅我们。读完本文,你将学会如何使用 Pelican 静态网站生成器,搭建一个属于自己的博客,用来展示数据科学作品。 全文大约 950...
    99+
    2023-01-31
    科学 数据 作品集
  • 数据科学家该了解的Python自动库有哪些
    本篇内容主要讲解“数据科学家该了解的Python自动库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据科学家该了解的Python自动库有哪些”吧!1.auto-sklearnauto-s...
    99+
    2023-06-16
  • Python 数据科学 Matplotlib图库详解
    Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形。 图形解析与工作流 图形解析  工作流 Matplotlib 绘图的基本步骤: 1  准备数...
    99+
    2022-06-02
    Python 数据科学 Matplotlib Python Matplotlib库
  • 一文了解TypeScript数据类型
    目录基础类型any类型数组元组Interface函数类型自推联合类型(二选一甚至多选一)class枚举基础类型 ts中支持更多的类型 let age: number = 10 /...
    99+
    2024-04-02
  • Python数据分析:数据科学的利器
    数据分析已成为企业决策和战略规划的重要组成部分。Python,一门功能强大且用途广泛的编程语言,已成为数据分析师和数据科学家的首选工具。本文将深入探究Python在数据分析中的强大功能,从数据获取和清理到建模和可视化。 数据获取与清理 P...
    99+
    2024-02-17
    Python 数据分析 数据科学 机器学习 数据可视化
  • USF MSDS501 计算数据科学中
    来源:ApacheCN『USF MSDS501 计算数据科学中文讲义』翻译项目原文:Playing sounds 译者:飞龙 协议:CC BY-NC-SA 4.0 本实验的目标是让您感到惊讶,您可以使用 Python 处理一些音频文件。...
    99+
    2023-01-31
    科学 数据 USF
  • 一篇文章带你了解C++Primer学习日记--处理数据
    目录1.简单变量1.1变量名1.2整型short,int,long和long long1.3无符号类型1.4选择整型类型1.5char类型2.const限定符3.浮点类型4.类型转换...
    99+
    2024-04-02
  • 【MySQL】一文带你了解过滤数据
    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! ...
    99+
    2023-09-27
    mysql 数据库 sql
  • 【MySQL】一文带你了解检索数据
    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! ...
    99+
    2023-09-20
    mysql sql 数据库
  • 【MySQL】一文带你了解数据过滤
    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍...
    99+
    2023-08-17
    mysql 数据库 sql
  • Python 数据分析的科学:基于证据的见解
    数据分析已成为当今商业和研究中至关重要的工具。Python 因其易用性、强大的库生态系统和广泛的社区支持,已成为数据科学家和分析师的首选语言。基于证据的见解是数据分析的核心,而 Python 提供了一套全面的工具来提取、清理、探索和建模数...
    99+
    2024-03-12
    引言
  • Go语言、大数据和LeetCode:如何成为一名数据科学家?
    随着现代技术的不断发展,数据科学家成为越来越受欢迎的职业。他们的主要工作是分析和解释数据,以便为企业和组织提供有关客户行为、市场趋势、业务流程等方面的见解。那么,如何成为一名数据科学家呢?本文将介绍三个关键方面:Go语言、大数据和LeetC...
    99+
    2023-09-26
    大数据 日志 leetcode
  • 【数据科学系统学习】机器学习算法 #
    本篇内容为《机器学习实战》第 6 章 支持向量机部分程序清单。所用代码为 python3。 支持向量机优点:泛化错误率低,计算开销不大,结果易解释。 缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。适用数据...
    99+
    2023-01-31
    算法 机器 科学
  • 【MySQL】一文带你了解数据库约束
    文章目录 1. 约束类型2.PRIMARY KEY:主键约束3.FOREIGN KEY:外键约束4.NOT NULL:非空约束5.UNIQUE:唯一约束5.DEFAULT:默认值约束6.总结 1. 约束类型 作用: 数据...
    99+
    2023-08-17
    数据库 mysql sql
  • Python数据分析:数据科学家必备指南
    引言 Python是一种功能强大的编程语言,在数据科学领域备受推崇。其广泛的库和工具包使数据处理、分析和可视化变得轻而易举。本文将深入探讨Python数据分析的各个方面,为数据科学家提供一份全面指南。 数据处理与准备 数据处理是数据分析...
    99+
    2024-02-17
    Python 数据分析 数据科学 机器学习 深度学习
  • Python 数据可视化:数据科学的显微镜
    数据可视化的类型 Python 提供了广泛的数据可视化库,例如 Matplotlib 和 Seaborn,可用于创建各种类型的图表和图形。其中一些最常见的包括: 折线图:展示数据随时间或其他连续变量的变化情况。 柱状图:比较不同类别的数...
    99+
    2024-04-02
  • 一文学会数据结构-堆
    目录1.堆2.堆的实现2.1堆的向下调整算法(建小堆)2.2 堆向下调整算法(建小堆)实现2.3 堆的向上调整算法2.4 向上调整算法(建小堆)实现2.5 数组建堆算法(建小堆)2....
    99+
    2024-04-02
  • GitHub项目帮你从头开始学数据科学
    这篇文章主要介绍“GitHub项目帮你从头开始学数据科学”,在日常操作中,相信很多人在GitHub项目帮你从头开始学数据科学问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Gi...
    99+
    2024-04-02
  • Numpy和IDE,哪一个更适合你的数据科学项目?
    在进行数据科学项目的时候,我们常常需要处理大量的数据。为了更加高效地进行数据处理,我们需要使用一些工具来帮助我们完成这些任务。在这篇文章中,我们将讨论两个非常常用的工具,Numpy和IDE,这两个工具都可以帮助我们更好地完成数据科学项目。...
    99+
    2023-06-14
    异步编程 numpy ide
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作