常用構建數據科學應用程序的七個Python庫

當我開始學習數據科學的旅程時,這些都是我腦海中一直存在的問題。我學數據科學的目的不僅僅是爲了開發模型或清理數據,我想製作人們可以使用的應用程序,我正在尋找一種快速的方法來製作MVP(最小可行產品)來測試想法。

如果你是一名數據科學家,並想創建第一個數據科學應用程序,本文將展示創建第一個應用程序所需的7個Python庫。相信你已經知道其中的一些,但是我還是會逐個介紹,方便那些對此並不十分了解的讀者。

Pandas

數據科學和機器學習應用都是關於數據。大多數數據集都不是整潔的,它們需要對項目進行某種清理和操作。Pandas是一個庫,允許加載、清理和操作數據。你可以使用SQL等替代方法進行數據操作和數據庫管理,但是Pandas對於希望成爲開發人員(或至少是MVP開發人員)的數據科學家來說更簡單、更適用。

Numpy

在包括計算機視覺在內的許多數據科學項目中,陣列是最重要的數據類型。Numpy是一個強大的Python庫,它允許你使用數組,操縱數組,並有效地對數組應用算法。學習Numpy對於我後面提到的其他一些庫來說是必要的。

SciKitLearn

此庫是多種類型的機器學習模型和預處理工具的工具包。如果你正在做機器學習項目,則有可能不需要SciKitLearn。

Keras 或 PyTorch

神經網絡,特別是深度神經網絡模型,是數據科學和機器學習中非常流行的模型。許多計算機視覺和自然語言處理方法都依賴於這些方法,使用某些Python庫可以幫助你訪問神經網絡工具,TensorFlow是最有名的一個,但我相信初學者很難從 TensorFlow開始。

我建議你學習Keras,它是Tensorflow的接口(API)。Keras使你作爲人類能夠輕鬆測試不同的神經網絡架構,甚至構建自己的神經網絡架構,最近流行的另一個選擇是PyTorch。

Ipywidgets

在用戶界面方面,你必須在傳統外觀的用戶界面和基於web的用戶界面之間進行選擇。你可以使用PyQT或TkInter之類的庫來構建傳統的用戶界面,但我的建議是,如果可能的話,開發出可以在瀏覽器上運行的網頁應用程序。

要做到這一點,你需要使用一個在瀏覽器中提供一組小部件的庫。ipywidgets爲Jupyter筆記本提供了一組豐富的小部件。

Requests

如今,許多數據科學應用程序都使用API(應用程序編程接口),簡單地說,通過API,你可以請求服務器應用程序爲你提供對數據庫的訪問權限或爲你執行特定任務。

例如,Google地圖API可以從你那裏獲得兩個位置以及它們之間的回程時間,若沒有API,就必須重新發明輪子,Requests是一個與API對話的庫。如今,不使用API很難成爲一名數據科學家。

Plotly

繪製不同類型的圖形是數據科學項目的重要組成部分。儘管Python中最流行的繪圖庫是matplotlib,但我發現Plotly更專業、更易於使用、更靈活,Plotly中的繪圖類型和繪圖工具非常多,Plotly的另一個優點是它的設計,與複雜的 matplotlib 圖形相比,它看起來更加簡潔易懂。

JupyterNotebook 和Voila

要實現第一個數據科學應用程序,你需要學習的最後一個工具是最簡單的。首先,ipywidgets在Jupyter筆記本中工作,你需要使用Jupyter來創建應用程序。我相信你們中的許多人已經在使用Jupyter筆記本進行模型構建和探索分析,現在,將 Jupyter 筆記本視爲前端開發的工具。

此外,你還需要使用Voila,這是一個可以啓動的第三方工具,它隱藏了 Jupyter 筆記本的所有代碼部件。當你通過Voila啓動Jupyter筆記本應用程序時,它就像一個web應用程序。甚至你也可以在AWS EC2機器上運行Voila和Jupyter筆記本,並從互聯網訪問你的簡單應用程序。

利用本文提到的7個庫,就可以構建人們使用的數據科學應用程序,如果你能夠精通這些工具,就可以在幾個小時內構建mvp,並通過實際用戶測試想法。

在此之後,如果決定擴展應用程序,除了HTML、CSS和JS代碼之外,還可以使用更專業的工具,如Flask和Django。

本文地址:https://www.linuxprobe.com/python-library.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章