2018年排名前20的數據科學Python庫

Python 在解決數據科學任務和挑戰方面繼續處於領先地位。業已證實最有幫助的Python庫,咱們選擇 20 多個庫,由於其中一些庫是相互替代的,能夠解決相同的問題。所以,咱們將它們放在同一個分組。html

 

核心庫和統計數據python

 

1. NumPy (提交:17911,撰稿人:641)git

 

官網:http://www.numpy.org/github

 

NumPy 是科學應用程序庫的主要軟件包之一,用於處理大型多維數組和矩陣,它大量的高級數學函數集合和實現方法使得這些對象執行操做成爲可能。算法

 

2. SciPy (提交:19150,撰稿人:608)後端

 

官網:https://scipy.org/scipylib/數組

 

科學計算的另外一個核心庫是 SciPy。它基於 NumPy,其功能也所以獲得了擴展。SciPy 主數據結構又是一個多維數組,由 Numpy 實現。這個軟件包包含了幫助解決線性代數、機率論、積分計算和許多其餘任務的工具。此外,SciPy 還封裝了許多新的 BLAS 和 LAPACK 函數。瀏覽器

 

3. Pandas (提交:17144,撰稿人:1165 網絡

官網:https://pandas.pydata.org/數據結構

 

Pandas 是一個 Python 庫,提供高級的數據結構和各類各樣的分析工具。這個軟件包的主要特色是可以將至關複雜的數據操做轉換爲一兩個命令。Pandas包含許多用於分組、過濾和組合數據的內置方法,以及時間序列功能。

 

4. StatsModels (提交:10067,貢獻者:153) 

官網:http://www.statsmodels.org/devel/

 

Statsmodels 是一個 Python 模塊,它爲統計數據分析提供了許多機會,例如統計模型估計、執行統計測試等。在它的幫助下,你能夠實現許多機器學習方法並探索不一樣的繪圖可能性。

 

Python 庫不斷髮展,不斷豐富新的機遇。所以,今年出現了時間序列的改進和新的計數模型,即 GeneralizedPoisson、零膨脹模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重複測量。

 

可視化

 

5. Matplotlib (提交:25747,撰稿人:725)

 

官網:https://matplotlib.org/index.html

 

Matplotlib 是一個用於建立二維圖和圖形的底層庫。藉由它的幫助,你能夠構建各類不一樣的圖標,從直方圖和散點圖到費笛卡爾座標圖。此外,有許多流行的繪圖庫被設計爲與matplotlib結合使用。

 

640?wx_fmt=jpeg

 

6. Seaborn(提交人:2044,撰稿人:83) 

官網:https://seaborn.pydata.org/

 

Seaborn 本質上是一個基於 matplotlib 庫的高級 API。它包含更適合處理圖表的默認設置。此外,還有豐富的可視化庫,包括一些複雜類型,如時間序列、聯合分佈圖(jointplots)和小提琴圖(violin diagrams)。

 

640?wx_fmt=jpeg

 

7. Plotly (提交:2906,撰稿人:48) 

官網:https://plot.ly/python/

 

Plotly 是一個流行的庫,它可讓你輕鬆構建複雜的圖形。該軟件包適用於交互式 Web 應用程,其卓越的可視化效果包括輪廓圖形,三元圖和3D圖表。

 

8. Bokeh (提交:16983,撰稿人:294) 

官網:https://bokeh.pydata.org/en/latest/

 

Bokeh 庫使用 JavaScript 小部件在瀏覽器中建立交互式和可縮放的可視化。該庫提供了多種圖表集合,樣式可能性(styling possibilities),連接圖、添加小部件和定義回調等形式的交互能力,以及許多更有用的特性。

 

640?wx_fmt=jpeg

 

9. Pydot (提交:169,撰稿人:12) 

官網:https://pypi.org/project/pydot/

 

Pydot 是一個用於生成複雜的定向圖和無向圖的庫。它是用純 Python 編寫的Graphviz 接口。在它的幫助下,能夠顯示圖形的結構,這在構建神經網絡和基於決策樹的算法時常常用到。

 

 

 

 

機器學習

 

10. Scikit-learn (提交:22753,撰稿人:1084) 

官網:http://scikit-learn.org/stable/

 

這個基於 NumPy 和 SciPy 的 Python 模塊是處理數據的最佳庫之一。它爲許多標準的機器學習和數據挖掘任務提供算法,如聚類、迴歸、分類、降維和模型選擇。

 

Data Science School:http://datascience-school.com/

 

11. XGBoost / LightGBM / CatBoost (提交:3277/1083/1509,撰稿人:280/79/61) 

官網:

http://xgboost.readthedocs.io/en/latest/http://lightgbm.readthedocs.io/en/latest/Python-Intro.htmlhttps://github.com/catboost/catboost

 

梯度加強算法是最流行的機器學習算法之一,它是創建一個不斷改進的基本模型,即決策樹。所以,爲了快速、方便地實現這個方法而設計了專門庫。就是說,咱們認爲 XGBoost、LightGBM 和 CatBoost 值得特別關注。它們都是解決常見問題的競爭者,而且使用方式幾乎相同。這些庫提供了高度優化的、可擴展的、快速的梯度加強實現,這使得它們在數據科學家和 Kaggle 競爭對手中很是流行,由於在這些算法的幫助下贏得了許多比賽。

 

12. Eli5 (提交:922,撰稿人:6) 

官網:https://eli5.readthedocs.io/en/latest/

 

一般狀況下,機器學習模型預測的結果並不徹底清楚,這正是 Eli5 幫助應對的挑戰。它是一個用於可視化和調試機器學習模型並逐步跟蹤算法工做的軟件包,爲 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 庫提供支持,併爲每一個庫執行不一樣的任務。

 

深度學習

 

13. TensorFlow(提交:33339,撰稿人:1469) 

官網:https://www.tensorflow.org/

 

TensorFlow 是一個流行的深度學習和機器學習框架,由 Google Brain 開發。它提供了使用具備多個數據集的人工神經網絡的能力。在最流行的 TensorFlow應用中有目標識別、語音識別等。在常規的 TensorFlow 上也有不一樣的 leyer-helper,如 tflearn、tf-slim、skflow 等。

 

14. PyTorch(提交:11306,撰稿人:635) 

官網:https://pytorch.org/

 

PyTorch 是一個大型框架,它容許使用 GPU 加速執行張量計算,建立動態計算圖並自動計算梯度。在此之上,PyTorch 爲解決與神經網絡相關的應用程序提供了豐富的 API。該庫基於 Torch,是用 C 實現的開源深度學習庫。在Lua中有一個包裝器。Python API於2017年推出,從那時起,該框架愈來愈受歡迎並吸引了愈來愈多的數據科學家。

 

15. Keras (提交人:4539,撰稿人:671) 

官網:https://keras.io/

 

Keras 是一個用於處理神經網絡的高級庫,運行在 TensorFlow、Theano 之上,

如今做爲新版本的結果,它也可使用CNTK和MxNet做爲後端。它簡化了許多特定任務,並大大減小了單調代碼的數量。可是,它可能不適合某些複雜的事情。

該庫面臨性能,可用性,文檔和API改進。一些新功能是Conv3DTranspose 層,新的MobileNet 應用程序和自我規範化網絡。

 

分佈式深度學習

 

16. Dist-keras / elephas / spark-deep-learning(提交:1125/170/67,撰稿人:5/13/11) 

官網:

http://joerihermans.com/work/distributed-keras/https://pypi.org/project/elephas/https://databricks.github.io/spark-deep-learning/site/index.html

 

隨着愈來愈多的用例須要花費大量的精力和時間,深度學習問題變得愈來愈重要。然而,使用像 Apache Spark 這樣的分佈式計算系統,處理如此多的數據要容易得多,這再次擴展了深刻學習的可能性。所以,dist-keras、elephas 和 spark-deep-learning 都在迅速流行和發展,並且很難挑出一個庫,由於它們都是爲解決共同的任務而設計的。這些包容許你在 Apache Spark 的幫助下直接訓練基於 Keras 庫的神經網絡。Spark-deep-learning 還提供了使用 Python 神經網絡建立管道的工具。

 

天然語言處理

 

17. NLTK(提交:13041,撰稿人:236) 

官網:https://www.nltk.org/

 

NLTK 是一組庫,一個用於天然語言處理的完整平臺。在 NLTK 的幫助下,你能夠以各類方式處理和分析文本,對文本進行標記和標記,提取信息等。NLTK 也用於原型設計和創建研究系統。

 

18. SpaCy (提交:8623,撰稿人:215) 

官網:https://spacy.io/

 

SpaCy 是一個具備優秀示例、API 文檔和演示應用程序的天然語言處理庫。這個庫是用 Cython 語言編寫的,Cython 是 Python 的 C 擴展。它支持近 30 種語言,提供了簡單的深度學習集成,保證了健壯性和高準確率。SpaCy 的另外一個重要特性是專爲整個文檔處理設計的體系結構,無須將文檔分解成短語。

 

19. Gensim (提交人:3603,撰稿人:273) 

官網:https://radimrehurek.com/gensim/

 

Gensim 是一個用於健壯語義分析、主題建模和向量空間建模的 Python 庫,構建在Numpy和Scipy之上。它提供了流行的NLP算法的實現,如 word2vec。儘管 gensim 有本身的 models.wrappers.fasttext實現,但 fasttext 庫也能夠用來高效學習詞語表示。

 

數據採集

 

20. Scrapy (提交:6625,撰稿人:281) 

官網:https://scrapy.org/

 

Scrapy 是一個用來建立網絡爬蟲,掃描網頁和收集結構化數據的庫。此外,Scrapy 能夠從 API 中提取數據。因爲該庫的可擴展性和可移植性,使得它用起來很是方便。

 

結論

 

本文上述所列就是咱們在 2018 年爲數據科學領域中總結的 Python 庫集合。一些新的現代庫愈來愈受歡迎,而那些已經成爲經典的數據科學任務的庫也在不斷改進。

固然仍可能還有一些值得關注的其餘偉大而有用的庫。所以,請在下面的評論部分分享您的最愛,以及有關咱們提到的軟件包的任何想法。

感謝您的關注!

下表顯示了github活動的詳細統計信息。

原文連接:

https://activewizards.com/blog/top-20-python-libraries-for-data-science-in-2018/

相關文章
相關標籤/搜索