干貨!七個(gè)Python庫(kù)助你構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用程序
數(shù)據(jù)科學(xué)三分天下,Python占其一。下面,將會(huì)介紹7個(gè)Python庫(kù),能夠幫助你構(gòu)建屬于自己的第一個(gè)數(shù)據(jù)科學(xué)應(yīng)用程序。

Numpy
在許多數(shù)據(jù)科學(xué)項(xiàng)目中,陣列是最重要的數(shù)據(jù)類型。 NumPy是一個(gè)支持大量多維數(shù)組和矩陣運(yùn)算的軟件庫(kù),是許多機(jī)器學(xué)習(xí)開(kāi)發(fā)者和研究者的必備工具。它是Python中最基礎(chǔ)的數(shù)據(jù)科學(xué)庫(kù)之一。它是大量Python數(shù)學(xué)和科學(xué)計(jì)算包的基礎(chǔ),比如我們后面會(huì)講到的pandas庫(kù)就用到了NumPy。
Pandas
Pandas庫(kù)專門(mén)用于數(shù)據(jù)分析,充分借鑒了Python標(biāo)準(zhǔn)庫(kù)NumPy的相關(guān)概念。它允許加載、清理和操作數(shù)據(jù),能夠?qū)?xiàng)目進(jìn)行某種清理和操作。你可以使用SQL等替代方法進(jìn)行數(shù)據(jù)操作和數(shù)據(jù)庫(kù)管理,但是Pandas對(duì)于希望成為開(kāi)發(fā)人員(或至少是MVP開(kāi)發(fā)人員)的數(shù)據(jù)科學(xué)家來(lái)說(shuō)更簡(jiǎn)單、更適用。
Keras 或 PyTorch
目前,兩個(gè)主要的深度學(xué)習(xí)庫(kù)Keras和Pytorch獲得了大量關(guān)注,因?yàn)樗鼈冊(cè)谏窠?jīng)網(wǎng)絡(luò)模型的使用比較簡(jiǎn)單。這兩個(gè)庫(kù)能夠讓使用者輕松測(cè)試不同的神經(jīng)網(wǎng)絡(luò)架構(gòu),甚至構(gòu)建自己的神經(jīng)網(wǎng)絡(luò)架構(gòu)。Keras是神經(jīng)網(wǎng)絡(luò)的一個(gè)模型計(jì)算框架,本身沒(méi)有重量計(jì)算,支持多個(gè)AI框架。Pytorch是一個(gè)機(jī)器學(xué)習(xí)框架,比起Keras具有更大的靈活性和控制能力,但又不必進(jìn)行任何復(fù)雜的聲明式編程,如果想深入了解機(jī)器學(xué)習(xí)pytorch庫(kù)就是不錯(cuò)的選擇。
Plotly
Plotly是新一代的Python數(shù)據(jù)可視化開(kāi)發(fā)庫(kù),它提供了完善的交互能力和靈活的繪制選項(xiàng)。Plotly能繪制不同類型的圖形,與Python中的其他繪圖庫(kù)相比,它更專業(yè)、更易于使用、更靈活。Plotly將數(shù)據(jù)可視化提升到一個(gè)新的層次。Plotly內(nèi)置完整的交互能力及編輯工具,支持在線和離線模式,提供穩(wěn)定的API以便與現(xiàn)有應(yīng)用集成,既可以在web瀏覽器中展示數(shù)據(jù)圖表,也可以存入本地拷貝。
SciKitLearn
SciKitLearn專門(mén)用于機(jī)器學(xué)習(xí)的模塊,是多種類型的機(jī)器學(xué)習(xí)模型和預(yù)處理工具的工具包。它包含了常見(jiàn)的大部分機(jī)器學(xué)習(xí)方法,包括了分類、回歸、無(wú)監(jiān)督、數(shù)據(jù)降維、數(shù)據(jù)預(yù)處理等等。作為專門(mén)面向機(jī)器學(xué)習(xí)的Python開(kāi)源框架,Scikitlearn可以在一定范圍內(nèi)為開(kāi)發(fā)者提供非常好的幫助。它內(nèi)部實(shí)現(xiàn)了各種各樣成熟的算法,容易安裝和使用,樣例豐富,而且教程和文檔也非常詳細(xì)。
Ipywidgets
為了能讓用戶有更好的體驗(yàn),開(kāi)發(fā)者必須在在傳統(tǒng)外觀的用戶界面和基于web的用戶界面之間進(jìn)行選擇。在進(jìn)行搭建時(shí),可以使用PyQT或TkInter之類的庫(kù)來(lái)構(gòu)建傳統(tǒng)的用戶界。但最好是利用ipywidgets為Jupyter筆記本提供了一組豐富的小部件,開(kāi)發(fā)出可以在瀏覽器上運(yùn)行的網(wǎng)頁(yè)應(yīng)用程序。
Requests
Requests包用于獲取網(wǎng)站的內(nèi)容,使用HTTP協(xié)議,是公認(rèn)的python最好上手的http請(qǐng)求庫(kù)。
如今,許多數(shù)據(jù)科學(xué)應(yīng)用程序都使用API(應(yīng)用程序編程接口),簡(jiǎn)單地說(shuō),通過(guò)API,你可以請(qǐng)求服務(wù)器應(yīng)用程序?yàn)槟闾峁?duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限或?yàn)槟銏?zhí)行特定任務(wù)。Requests是一個(gè)與API對(duì)話的庫(kù)。如今,不使用API很難成為一名數(shù)據(jù)科學(xué)家。
通過(guò)以上的7個(gè)Python庫(kù),開(kāi)發(fā)者能夠構(gòu)建人們使用的數(shù)據(jù)科學(xué)應(yīng)用程序,如果你能夠精通這些工具,就可以在幾個(gè)小時(shí)內(nèi)構(gòu)建mvp,并通過(guò)實(shí)際用戶測(cè)試想法。在此之后,如果決定擴(kuò)展應(yīng)用程序,除了HTML、CSS和JS代碼之外,還可以使用更專業(yè)的工具,如Flask和Django。































