常用構建資料科學應用程式的七個Python庫

大雄45發表於2021-05-10
導讀 當我開始學習資料科學的旅程時,這些都是我腦海中一直存在的問題。我學資料科學的目的不僅僅是為了開發模型或清理資料,我想製作人們可以使用的應用程式,我正在尋找一種快速的方法來製作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。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2771520/,如需轉載,請註明出處,否則將追究法律責任。

相關文章