挑戰(zhàn)Jupyter Notebook的數(shù)據(jù)分析神器

作者:Anthony Agnone ???機(jī)器之心編譯
大家好,我是一行
今天分享的文章,是足以挑戰(zhàn)jupyter notebook數(shù)據(jù)分析地位的神器----Deepnote。用過(guò)的都說(shuō)好
背景?
對(duì)全世界的 Python 高手而言,Jupyter Notebook 是目前最流行的編程環(huán)境,但它也有一些令人難以忍受的缺點(diǎn)。為此,一個(gè)位于舊金山的小團(tuán)隊(duì)開(kāi)發(fā)了一款名為 Deepnote 的筆記本工具,這是一種云協(xié)作、云硬件,上云的 Notebook 編程環(huán)境。Pindrop 的高級(jí)研究科學(xué)家 Anthony Agnone 認(rèn)為,Deepnote 已經(jīng)表現(xiàn)出了超越 Jupyter Notebook 的趨勢(shì)。

Deepnote 官方網(wǎng)站:https://www.deepnote.com/
如果你是像我一樣的數(shù)據(jù)科學(xué)家,你可能會(huì)在工程項(xiàng)目而不是真正的研究上花很多時(shí)間。安裝庫(kù)、管理數(shù)據(jù)庫(kù)、追蹤實(shí)驗(yàn)、調(diào)試代碼、耗盡內(nèi)存……對(duì)此,你一定深有感觸。
Jupyter Notebook 非常適合數(shù)據(jù)科學(xué)的原型設(shè)計(jì)。在這個(gè)單一的環(huán)境中,你可以進(jìn)行無(wú)縫探索性分析、數(shù)據(jù)可視化以及構(gòu)建 ML 模型的原型。因此,Jupyter Notebook 在數(shù)據(jù)科學(xué)領(lǐng)域大受歡迎。
但它也有一些缺陷。作為一種新工具,DeepNote 能夠以更好、更快的方式彌補(bǔ)這些缺陷,所以比現(xiàn)有工具都更適合使用。
下面我們來(lái)說(shuō)一下 DeepNote 中令人興奮的改進(jìn)。
實(shí)時(shí)協(xié)作
谷歌的在線(xiàn)協(xié)作工具套件(Docs、Sheets 和 Slides 等)在沒(méi)加任何功能的情況下,搶走了微軟 Office 大量的市場(chǎng)份額。他們是如何做到的?答案是:實(shí)時(shí)協(xié)作。
在谷歌的套件中和同事合作,不再需要同步進(jìn)行,也無(wú)需為合并而煩心。此外,你還能知道同事們的當(dāng)前進(jìn)展,更加便于分工。
DeepNote 可以立即進(jìn)行實(shí)時(shí)協(xié)作——它支持在共享計(jì)算環(huán)境中無(wú)縫合作。這雖然帶來(lái)了改變命名空間的問(wèn)題,但我覺(jué)得,這總比共享 Jupyter notebook 強(qiáng)——它需要重新運(yùn)行才能獲得給定狀態(tài)。
DeepNote 的實(shí)時(shí)協(xié)作
此外,DeepNote 還提供了不同的權(quán)限等級(jí):查看、執(zhí)行、編輯、管理以及所有者。這樣就可以大批量控制操作這些筆記本了。
首先,以教學(xué)場(chǎng)景為例。在線(xiàn)課程的教師可以瀏覽虛擬教室中所有共享筆記本。教師擁有管理或所有者權(quán)限,而教室中的其他人只有查看權(quán)限。
再以要審查整個(gè)團(tuán)隊(duì)成員工作的場(chǎng)景為例。團(tuán)隊(duì)成員有所有者權(quán)限,這樣就可以全面控制整個(gè)筆記本。審查人員擁有編輯權(quán)限,可以提供在線(xiàn)反饋,但無(wú)法執(zhí)行任何單元。只有團(tuán)隊(duì)成員持有執(zhí)行權(quán)限,這樣審查人員就無(wú)法改(wu)變(ran)團(tuán)隊(duì)成員的命名空間。
變量瀏覽器
Spyder IDE 中有一個(gè) Jupyter 沒(méi)有且重要的功能——易于訪(fǎng)問(wèn)的命名空間瀏覽器。當(dāng)然,Jupyter 筆記本中有 who/whos 的命令。但無(wú)法與 Spyder 相提并論。
而 DeepNote 再次填補(bǔ)了這一空白!

DeepNote 為變量提供了精致的總結(jié)。
除了可靠的變量瀏覽器外,如果無(wú)法漂亮地顯示 pandas 的 DataFrame,那任何筆記本環(huán)境都是不完美的。

沒(méi)錯(cuò),DeepNote 筆記本還能很好地展示 pandas 的 DataFrame
連接云硬盤(pán)
你肯定聽(tīng)說(shuō)過(guò)一條經(jīng)驗(yàn)法則(其實(shí)更像是抱怨):數(shù)據(jù)科學(xué)中有 80% 無(wú)關(guān)數(shù)學(xué)和統(tǒng)計(jì)學(xué)。在云計(jì)算設(shè)置中,這個(gè)比例更接近 90%,還有 10% 的時(shí)間損失在為筆記本配置正確的算力上。

輕松查看并選擇筆記本在何種硬件上運(yùn)行(https://docs.deepnote.com/)。
DeepNote 理解你的痛苦,可以讓你無(wú)縫訪(fǎng)問(wèn)基于云的硬件。「無(wú)縫」的意思是你可以在筆記本界面上進(jìn)行所有設(shè)置。順便說(shuō)一句,除非你的核處于空閑狀態(tài),否則它是不會(huì)主動(dòng)關(guān)閉的。
Python 包的管理
Python 有出色的包管理系統(tǒng)。DeepNote 意識(shí)到了這一點(diǎn),并在工作路徑中附有 requirements.txt 文件。即使這樣,也很容易忘記安裝一些依賴(lài)包。除非導(dǎo)入包時(shí)觸發(fā)錯(cuò)誤,否則無(wú)法意識(shí)到這方面有所疏漏。
為此,DeepNote 筆記本會(huì)主動(dòng)監(jiān)控包的導(dǎo)入,并根據(jù)你聲明的需求,提醒你遺漏的依賴(lài)。還有,如果需要的文件不存在,它會(huì)猜測(cè)該文件是什么。劇透預(yù)警:它的猜測(cè)一般都是正確的。

DeepNote 包管理器建議安裝缺少的依賴(lài)包。
大量集成

創(chuàng)建新項(xiàng)目的示例。
最后,DeepNote 幾乎提供了你想要的所有集成。為了使筆記本井井有條,你可以從不同連接中選擇源碼控制庫(kù)。這可以在創(chuàng)建筆記本和寫(xiě)后臺(tái)更新時(shí)用到。
除了源碼控制,DeepNote 筆記本還可以連接云計(jì)算數(shù)據(jù)存儲(chǔ),比如 S3、GCS 以及常用的數(shù)據(jù)庫(kù)引擎。

正式連接到不同的云基礎(chǔ)架構(gòu)
盡管 DeepNote 還沒(méi)能完全取代 Jupyter,但已隱隱表現(xiàn)出這樣的趨勢(shì)。我期待看到 DeepNote 未來(lái)將如何繼續(xù)!但不需要一味相信我,可以像我一樣注冊(cè)他們的搶先訪(fǎng)問(wèn)計(jì)劃。他們?cè)谝恢軆?nèi)就給出了回應(yīng),從那以后我們就一直在討論可以改進(jìn)之處。不要只抱怨現(xiàn)狀,要改變它。
原文鏈接:https://towardsdatascience.com/deepnote-sets-course-to-become-the-jupyter-killer-d0cb6e3ca011

推薦閱讀
(點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)
昨天分享的10w副業(yè)攻略,你有看到嗎
