[雪峰磁針石部落格]2019-Python最佳資料科學工具庫

書籍尋找發表於2019-01-28

說明

以下庫都可以在python測試開發庫中找到,github地址:https://github.com/china-testing/python-api-tesing

相關書籍:https://china-testing.github.io/python_books.html

核心庫

NumPy

Numerical Python的縮寫,專為數學運算而設計。 支援用於複雜算術運算的多維陣列和向量。還具有豐富的函式集,可以對支援的資料型別執行代數運算。

能與其他程式語言(如C / C ++,FORTRAN和資料庫管理系統)的互操作。 而且,由於提供的函式是預編譯的,效率高。

SciPy的

基於NumPy,提供整合,迴歸和概率等高階操作。 子模組組織有層次結構,手冊很好。

Pandas

Python Data Analysis Library可根據需要幫助組織各種引數的資料。 各種內建資料型別(如serie,frame和panels)使Pandas成為資料科學家中最受歡迎的庫。 幀表格格式允許對資料進行類似資料庫的新增/刪除操作,分組很容易。

此外,Pandas提供了三維皮膚資料結構,有助於更好地視覺化資料型別。 靈活支援多種資料格式,包括缺少資料。

StatsModels

StatsModels模組允許使用者使用庫的建模和繪圖支援對資料執行統計建模。 這些模型可用於不同領域的預測。 支援的模型型別包括線性模型和迴歸模型。

StatsModels還支援時間序列分析功能,這些功能在金融機構中尤為突出,例如以便利的格式維護股票市場資訊。 此外,這些模型足夠快,可用於大資料集,使其成為同類產品的最佳選擇。

繪圖

任何庫的基本功能是能夠以易於理解的格式表示對資料執行的複雜操作的結果。 本節中列出的圖書館側重於該過程的這一方面。

Matplotlib

Matplotlib為SciPy核心軟體包的一部分, 用於根據使用者的要求對已處理資料進行圖形表示。 我們可以生成各種型別的圖形,包括直方圖,餅圖或簡單的條形圖。 它提供了物件導向的類MATLAB介面,能夠為幾乎所有可用功能提供定製。

Bokeh

Bokeh使使用者可以使用Web瀏覽器介面繪製資料。 在內部它使用JavaScript基礎結構,因此獨立於Matplotlib。 Bokeh庫強調小部件,它允許使用者以各種支援的格式(如圖形,繪圖和標籤)表示資料。

此外,它還通過“回撥”支援互動式視覺化,這允許您使用JavaScript hook到Bokeh方法。

Plotly

Plotly主要專注於3D繪圖,可以與Web應用程式完美整合,並提供許多有用的API。 它使用資料驅動的文件,使用者可以將其配置為在伺服器端處理圖形並將結果傳送給客戶端或其他方式。 如果需要,我們還可以通過平臺與他人共享資料。 Plotly和Matplotlib資料格式可互操作。

機器學習

Scikit-Learn

Scikit-Learn是一個基於NumPy和SciPy構建的開源機器學習工具包。 它具有常用的ML演算法,可用於預處理,分類,迴歸以及聚類。 演算法包括支援向量機,ridge迴歸, 網格搜尋演算法(Grid Search algorithm) , k均值聚類( k-means clustering)等等。另外還有樣本資料集。API易學易用。 在幾乎所有平臺上的良好效能,它在學術和商業用途中都很受歡迎。

Shogun

Shogun C ++實現,為包括Python在內的多種語言和平臺提供統一的介面。 它側重於可擴充套件的核心方法,以解決迴歸和分類問題。

Shogun關注生物資訊學,可以擴充套件以處理超過1000萬個資料樣本,同時保持準確性。

深度學習

TensorFlow

圖片.png

TensorFlow專注於神經網路,是由Google工程師開發的深度學習庫。 該庫非常易於擴充套件,支援眾多平臺,還包括GPU支援以實現更好的視覺化。 演算法類包括分類,估計模型和區分等。豐富的API支援使其成為使用自然語言處理訓練神經網路和語音識別的首選。

Theano

Theano是庫和編譯器的組合,旨在解決DL領域中複雜的數學方程。 它使用NumPy的多維矩陣來執行操作。 考慮到效能,Theano與NumPy緊密結合並進行了預編譯,因此與平臺無關並且也使用GPU。除了這些功能外,它還提供了單元測試框架。

Keras

Keras是神經網路庫,能夠在Google的TensorFlow或Microsoft的[CNTK(https://github.com/china-testing/python-api-tesing#%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0deep-learning)之上執行。

Keras可以支援標準,卷積和迴圈神經網路,併為GPU叢集上的模型提供分散式介面。 其易於使用的介面非常適合快速原型及其在支援平臺上的部署。

自然語言處理

NLTK

Natural Language Toolkit支援英語語言處理常用的功能,如分類,標記化,解析和語義分析。 使用語法分析將單詞分解為token之後,使用語言語義形成樹狀結構將資料儲存在其模型中。涉及面廣,例如情緒分析和反垃圾郵件引擎。

Gensim

圖片.png

Gensim是可擴充套件,強大且獨立於平臺的NLP庫,基於使用NumPy和SciPy。 “Generate Similar”的縮寫,在記憶體中保留大量資料,效能不錯。與其他庫不同,因為它以級聯方式使用資料而不是將它們組合在一起。

廣泛用於醫療保健和金融機構等領域。

SpaCy

SpaCy包含各種語言的神經網路模型,即英語,德語,法語,義大利語和荷蘭語等30種其他語言。 與主要用於學術目的的其他NLP庫不同,SpaCy專注於商業用途。

它還提供機器學習和深度學習API的擴充套件。 一些流行的科技公司,如Airbnb和Quora,將SpaCy作為其平臺的一部分。它能夠處理文件而不是將資料作為多個token處理。支援中文,依賴jieba

爬蟲

Scrapy

圖片.png

Scrapy旨在搜尋全球網路上的資料,用於設計Web爬蟲以解析網頁並以結構化格式儲存資料。

資料探勘

資料探勘是一個計算流,我們試圖在大量資料中找到模式用於分析目的。 讓我們來看看經常用於資料探勘的流行的Orange庫。

Orange

除了機器學習支援, Orange工具包還具有用於互動式資料探勘的視覺化分析平臺。包含用於視覺化,分類,迴歸和評估資料集的小部件。 Orange經常使用的領域包括DNA研究和藥物領域分析。

其他

SymPy

雖然不直接用於資料科學和分析,但SymPy是針對代數計算的符號計算Python庫。 許多資料科學家使用該庫對其資料進行中間數學分析,然後由其他庫使用,例如繪圖或機器學習。

參考資料


相關文章