Chapter01 Python整合開發環境:Deepnote雲端平台介紹
一、前言
「工欲善其事,必先利其器。」好的工具、好的平台,是成功致勝的重要推手。如同量化研究的進行,方便、易用、功能強大的統計工具絕對是重要關鍵。然而,許多良善的工具往往需要龐大經費才能夠取得,也在入門階段導致接觸門檻的提高,並不利於學術研究工作的進行。
具體來說,科學研究的進步就是建立在許多專業之上,若因為統計分析工具的取得而導致研究之路出現高門檻、攔路虎或者是另一道學術高牆,實在不是學術研究發展的好現象。如同JASP(Jeffrey’s amazing statistics program)統計開源軟體的團隊目標指出:「統計工具不應該成為研究的阻礙,專有統計軟體常常會阻礙研究的透明與學習發展,因為使用專有軟體無法檢查程式碼庫,而未獲許可者也無法複製結果,且當學生不再被允許使用教育版本時,則他們的學習經驗可能會被浪費或者是需要負擔高昂的使用費用」(Goss-Sampson, 2022; JASP, 2018),這些都是導致學術發展的阻礙原因之一。
值得高興的是,隨著許多開源軟體的開發,知名的R project之外,也有基於R語言基礎進行開發的JASP、JAMOVI開始扮演舉足輕重的角色。而近期,Python也因其容易入門的開源軟體特性,亦針對數據分析提供相應的功能,都逐漸讓數據統計分析不再是高不可攀,亦有針對統計分析的相關書籍作入門介紹(阮敬,2017;洪煌佳,2022;Haslwanter, 2016)。且隨著AI(artificial intelligence)工具的協作應用,撰寫電腦程式語言的「程式碼」(code)也變得較為便利。
當然,Python本身有許多應用平台,如:「Anoconda」提供「Jupyter Notebook」、「Spyder」,且「Google Colaboratory」也提供方便易用的介面,其他也有數據建模和數據分析競賽平台的「Kaggle」,又或者是線上軟體原始碼代管服務平台「GitHub」等,都讓用於公開程式或軟體程式碼的應用服務變得相對簡單。
各個工具平台都各有其優、缺點,且有各自擅長的介面與運作方式,能因應不同目的與需求,選擇相應工具是重要的。本書推薦使用「Deepnote」(https://www.deepnote.com)來幫助使用者進行線上共同編輯、雲端處理的特性,不僅將筆記本變成強大的數據應用程式和儀表板,更具有人工智慧驅動的資料工作區都是其重要的優勢利器。
採用「Deepnote」平台在使用Python撰寫程式碼的過程中,可以實現「好用」、「實用」、「喜歡用」的三大優勢:
(一)好用
Deepnote使用網頁模式的跨平台介面,即時將各項作業進度儲存在雲端且可以多方協作,讓使用者只要有網路皆可即時處理數據,非常方便與好用。
(二)實用
Deepnote擁有廣大開源資源的應用資源,不僅可以因應需求進行擴充功能,也支持許多大型數據、網路爬蟲、機器學習與資料處理。
(三)喜歡用
Deepnote平台不斷地推陳出新各項應用功能,不僅擁有團體協作、AI整合及即時發布,也與時俱進開發許多數據分析應用功能來提升效能,都讓使用者喜歡使用。
因此,結合Python的入門門檻簡易,加上Deepnote平台的便捷特性,本書特別結合其各自具有的優勢進行介紹。當然,所有程式碼也可以由使用者本身所習慣的整合開發環境(integrated development environment, IDE)中使用,例如:Google Colab、Jupyter notebooks、Spider、VScode等也都方便可行。
二、Deepnote分析平台介紹
(一)Deepnote的特色
Deepnote為主打協同合作以處理數據科學的一個平台,期望能夠藉由瀏覽器的介面來提供一個強大的、基於雲端的工作區,允許使用者能夠輕鬆探索、協作和共享數據,並創建互動式圖表和儀表板,以及建立和部署機器學習模式。
有時候數據分析需要團隊合作而非單獨工作,因而Deepnote基本上就是為團隊成員提供共同作業的環境設定。更難能可貴的是,Deepnote是在雲端中無縫運行,也讓環境管理不再是問題,能夠讓共享工作就像發送連結一樣簡單,非常適合當前的數據分析科技應用與趨勢所需。
而且Deepnote除了商業用途之外,也特別提供教育版本,對於學生、教師和研究人員完全「免費使用」,這對於學術研究的推動與發展更是具有意義,且降低接觸數據分析的門檻與成本。因而,作為數據科學和協作設計的雲端整合開發環境的Deepnote,具有幾個特色:
1. 即時線上團隊協作
類似Google Docs提供的多人協作功能,讓使用者可以同時編輯筆記本、留下評論和進行即時溝通,特別適合團隊專案和教學環境。
2. 運行無需設置環境
系統都在雲端運行,使用者不需要在使用端安裝軟體或設置Python環境,可以隨時進行分析使用。
3. 版本控制自動儲存
系統在每次作業更改都會自動儲存,並支援版本控制,方便使用者回溯到最新的編輯狀態。
4. 多元管道數據整合
提供與多種數據來源的整合,包括Google Drive、SQL資料庫、Snowflake、BigQuery等,方便載入和處理不同的數據格式。
5. 支援多種程式語言
除了Python語言,Deepnote也支援SQL、R、Julia等多種語言,讓使用者可以靈活運用多種工具。
6. 直觀呈現視覺互動
支援即時數據視覺化,讓使用者可以更直觀地觀察和呈現數據,方便做出解釋和分析。
7. 適合教學環境使用
教師可以設置工作環境、管理學生的進度、檢視並即時反饋,且方便指導學習過程。
簡單來說,Deepnote的設計直觀且追求用戶友好,除了提供廣泛的功能之外,也讓使用者可以輕鬆快速地啟動和運行,其中包括預先建置的模板、普及的數據科學庫和工具的集成,也允許多人進行協作的環境整合,讓使用者可以同時處理同一個專案。Deepnote的官方網址:「https://www.deepnote.com」內容提供多元的註冊方式,也如同官方首頁介紹指出:「為團隊從事數據工作提供更好的途徑,且結合R、Python、SQL與無程式碼(no-code)的友善平台,可以幫助使用者清理數據、編寫複雜的查詢、構建預測模式並發布精美的應用程序。」
一、前言
「工欲善其事,必先利其器。」好的工具、好的平台,是成功致勝的重要推手。如同量化研究的進行,方便、易用、功能強大的統計工具絕對是重要關鍵。然而,許多良善的工具往往需要龐大經費才能夠取得,也在入門階段導致接觸門檻的提高,並不利於學術研究工作的進行。
具體來說,科學研究的進步就是建立在許多專業之上,若因為統計分析工具的取得而導致研究之路出現高門檻、攔路虎或者是另一道學術高牆,實在不是學術研究發展的好現象。如同JASP(Jeffrey’s amazing statistics program)統計開源軟體的團隊目標指出:「統計工具不應該成為研究的阻礙,專有統計軟體常常會阻礙研究的透明與學習發展,因為使用專有軟體無法檢查程式碼庫,而未獲許可者也無法複製結果,且當學生不再被允許使用教育版本時,則他們的學習經驗可能會被浪費或者是需要負擔高昂的使用費用」(Goss-Sampson, 2022; JASP, 2018),這些都是導致學術發展的阻礙原因之一。
值得高興的是,隨著許多開源軟體的開發,知名的R project之外,也有基於R語言基礎進行開發的JASP、JAMOVI開始扮演舉足輕重的角色。而近期,Python也因其容易入門的開源軟體特性,亦針對數據分析提供相應的功能,都逐漸讓數據統計分析不再是高不可攀,亦有針對統計分析的相關書籍作入門介紹(阮敬,2017;洪煌佳,2022;Haslwanter, 2016)。且隨著AI(artificial intelligence)工具的協作應用,撰寫電腦程式語言的「程式碼」(code)也變得較為便利。
當然,Python本身有許多應用平台,如:「Anoconda」提供「Jupyter Notebook」、「Spyder」,且「Google Colaboratory」也提供方便易用的介面,其他也有數據建模和數據分析競賽平台的「Kaggle」,又或者是線上軟體原始碼代管服務平台「GitHub」等,都讓用於公開程式或軟體程式碼的應用服務變得相對簡單。
各個工具平台都各有其優、缺點,且有各自擅長的介面與運作方式,能因應不同目的與需求,選擇相應工具是重要的。本書推薦使用「Deepnote」(https://www.deepnote.com)來幫助使用者進行線上共同編輯、雲端處理的特性,不僅將筆記本變成強大的數據應用程式和儀表板,更具有人工智慧驅動的資料工作區都是其重要的優勢利器。
採用「Deepnote」平台在使用Python撰寫程式碼的過程中,可以實現「好用」、「實用」、「喜歡用」的三大優勢:
(一)好用
Deepnote使用網頁模式的跨平台介面,即時將各項作業進度儲存在雲端且可以多方協作,讓使用者只要有網路皆可即時處理數據,非常方便與好用。
(二)實用
Deepnote擁有廣大開源資源的應用資源,不僅可以因應需求進行擴充功能,也支持許多大型數據、網路爬蟲、機器學習與資料處理。
(三)喜歡用
Deepnote平台不斷地推陳出新各項應用功能,不僅擁有團體協作、AI整合及即時發布,也與時俱進開發許多數據分析應用功能來提升效能,都讓使用者喜歡使用。
因此,結合Python的入門門檻簡易,加上Deepnote平台的便捷特性,本書特別結合其各自具有的優勢進行介紹。當然,所有程式碼也可以由使用者本身所習慣的整合開發環境(integrated development environment, IDE)中使用,例如:Google Colab、Jupyter notebooks、Spider、VScode等也都方便可行。
二、Deepnote分析平台介紹
(一)Deepnote的特色
Deepnote為主打協同合作以處理數據科學的一個平台,期望能夠藉由瀏覽器的介面來提供一個強大的、基於雲端的工作區,允許使用者能夠輕鬆探索、協作和共享數據,並創建互動式圖表和儀表板,以及建立和部署機器學習模式。
有時候數據分析需要團隊合作而非單獨工作,因而Deepnote基本上就是為團隊成員提供共同作業的環境設定。更難能可貴的是,Deepnote是在雲端中無縫運行,也讓環境管理不再是問題,能夠讓共享工作就像發送連結一樣簡單,非常適合當前的數據分析科技應用與趨勢所需。
而且Deepnote除了商業用途之外,也特別提供教育版本,對於學生、教師和研究人員完全「免費使用」,這對於學術研究的推動與發展更是具有意義,且降低接觸數據分析的門檻與成本。因而,作為數據科學和協作設計的雲端整合開發環境的Deepnote,具有幾個特色:
1. 即時線上團隊協作
類似Google Docs提供的多人協作功能,讓使用者可以同時編輯筆記本、留下評論和進行即時溝通,特別適合團隊專案和教學環境。
2. 運行無需設置環境
系統都在雲端運行,使用者不需要在使用端安裝軟體或設置Python環境,可以隨時進行分析使用。
3. 版本控制自動儲存
系統在每次作業更改都會自動儲存,並支援版本控制,方便使用者回溯到最新的編輯狀態。
4. 多元管道數據整合
提供與多種數據來源的整合,包括Google Drive、SQL資料庫、Snowflake、BigQuery等,方便載入和處理不同的數據格式。
5. 支援多種程式語言
除了Python語言,Deepnote也支援SQL、R、Julia等多種語言,讓使用者可以靈活運用多種工具。
6. 直觀呈現視覺互動
支援即時數據視覺化,讓使用者可以更直觀地觀察和呈現數據,方便做出解釋和分析。
7. 適合教學環境使用
教師可以設置工作環境、管理學生的進度、檢視並即時反饋,且方便指導學習過程。
簡單來說,Deepnote的設計直觀且追求用戶友好,除了提供廣泛的功能之外,也讓使用者可以輕鬆快速地啟動和運行,其中包括預先建置的模板、普及的數據科學庫和工具的集成,也允許多人進行協作的環境整合,讓使用者可以同時處理同一個專案。Deepnote的官方網址:「https://www.deepnote.com」內容提供多元的註冊方式,也如同官方首頁介紹指出:「為團隊從事數據工作提供更好的途徑,且結合R、Python、SQL與無程式碼(no-code)的友善平台,可以幫助使用者清理數據、編寫複雜的查詢、構建預測模式並發布精美的應用程序。」