一文了解数据科学Notebook

news2025/4/16 20:22:37

编者按:

主要介绍什么是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暂不支持版本管理功能。

       语言支持:机器学习和数据科学领域常用的语言有Python、SQL、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
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/999225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

volatile、ReentrantLock和synchronized保证线程可见性原理

主存、工作内存 在了解什么是线程可见性前,我们先来简单了解下 Java内存模型 的主存、工作内存抽象概念 主存: 存储的是一些共享资源的存储位置(例如静态变量等) 工作内存: 每个线程对应的栈内存对应的私有局部…

JAVASE 游戏

朴素的拼图游戏,通过WASD移动,我自己都不太会,可以通过篡改内部代码来取得想要的成功彩蛋 代码: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.…

如何使用autotools制作Makefile

本文将通过一个例子介绍如何使用autotools制作Makefile,最终运行可执行文件。 本例子中使用的源代码a.c如下。 #include "stdio.h" void main() {int a,b;int c;printf("请输入两个数:\n");scanf("%d %d",&a,&b)…

大数据课程L3——网站流量项目的系统搭建

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的运行环境; ⚪ 了解网站流量项目的日志采集系统搭建; ⚪ 了解网站流量项目的离线业务系统搭建; ⚪ 了解网站流量项目的Hive做离线数据处理; ⚪ 了解网站流量项目的…

盲打键盘的正确指法指南

简介 很多打字初学者,并不了解打字的正确指法规范,很容易出现只用两根手指交替按压键盘的“二指禅”情况。虽然这样也能实现打字,但是效率极低。本文将简单介绍盲打键盘的正确指法,以便大家在后续的学习和工作中能够提高工作效率…

Nacos安装及在项目中的使用

目录 概要一、安装 Nacos1、下载 Nacos2、解压3、启动 Nacos 服务器4、自定义Nacos启动脚本5、访问Nacos Web控制台 二、Nacos----服务注册与发现1、添加 Nacos 依赖2、配置 Nacos 服务器地址3、使用 Nacos 注册服务4、启动服务 三、Nacos----配置管理1、创建配置数据2、从 Nac…

技师学院物联网实训室建建设方案

一、概述 1.1专业背景 物联网(Internet of Things)被称为继计算机、互联网之后世界信息产业第三次浪潮,它并非一个全新的技术领域,而是现代信息技术发展到一定阶段后出现的一种聚合性应用与技术提升,是随着传感网、通…

深圳站WOT全球技术创新大会2023,精彩即将开启!

前几天刷屏的“中国大模型顶流群聊笔记”想必很多人都看到了,包括百川智能创始人&CEO王小川,创新工场董事长、零一万物创始人李开复,澜舟科技CEO周明在内的20多位中国大模型领域模型层、工具层、应用层的“顶流”们,在西溪湿地…

【校招VIP】专业课考点之死锁

考点介绍: 在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲就是两个或多个进程无限期的阻塞、相互等待的…

使用Python和BeautifulSoup提取网页数据的实用技巧

在数据驱动的时代,获取网页数据并进行分析和处理是一项重要的任务。Python作为一门强大的编程语言,在处理网页数据的领域也表现出色。本文将分享使用Python和BeautifulSoup库提取网页数据的实用技巧,帮助你更高效地获取和处理网页数据。 1、了…

什么牌子的运动蓝牙耳机好用、运动耳机品牌排行榜推荐

运动与健康息息相关,人们越来越认识到运动带来的益处,例如增强心肺功能、提高新陈代谢率,并能预防多种慢性疾病。随着社交媒体上越来越多人分享自己的运动心得,更多的人也被激发起参与其中的热情。 在运动过程中,音乐的…

猫头虎博主赠书三期:《Go编程进阶实战: 开发命令行应用、HTTP应用和gRPC应用》

🎉猫头虎博主赠书三期🎉:《Go编程进阶实战: 开发命令行应用、HTTP应用和gRPC应用》 🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页…

EditPlus 配置python 及Anaconda中的python

若不是pycharm vscode 太大,太占内存,谁会想到用Notepad,EdirPlus 配置python呢!!! 话不多说,首先你自己安装好EditPlus。开始 菜单栏 选择 工具 -> 配置自定义工具 组名:python 命令:d:\*…

基于51单片机的称重电子秤proteus仿真设计

一、设计背景 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子秤重的控制系统中。本系统主要由单片机来控制,测量物体重量部分使用称重传…

雅思口语同替高分表达

目录 雅思口语题目准备 Riding a bike 1. Did you have a bike when you were young? 2. Did you ride a bike when you were little? 3. Did you ride a bike to school? 4. Do you ride a bike when you go out no? 雅思口语经验 口语高分同替词汇 中式英语问题…

计算机竞赛 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖&am…

系列五、Nginx配置实例之反向代理1

一、目标 Linux服务器部署Tomcat的运行环境,然后通过Windows的www.123.com访问,能够访问到Tomcat的主页(有猫的页面) 二、步骤 2.1、下载apache-tomcat-8.5.63.tar.gz安装包 # 我分享的 链接:https://pan.baidu.com…

【数据结构与算法系列4】长度最小的子数组 (C++ Python)

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&…

virtualbox虚拟机中安装FreeDOS系统和DJGPP编译环境

一、安装FreeDOS系统 1、从官网下载FreeDOS系统镜像,下载的压缩包中包含两个文件:后缀为.iso和.img的镜像 ​​​下载页面 http://www.freedos.org/download/ 直接下载链接 https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.…

TAITherm专业热管理工具

TAITherm是ThermoAnalytics公司开发的专业三维热仿真分析工具,广泛应用于国内外汽车、工业自动化、轨道交通、重型机械等行业的热仿真设计中。同系列的CoTherm耦合优化平台可支持热流耦合、一三维耦合、FMU集成、设计优化、敏感性分析等应用。 产品模块介绍 TAITh…