1. 程式人生 > >2018年排名前20的數據科學Python庫

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

正是 分析工具 ali 情況 nlp csdn 封裝 app 多個

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

核心庫和統計數據

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

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

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結合使用。

技術分享圖片

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

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

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

技術分享圖片

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),鏈接圖、添加小部件和定義回調等形式的交互能力,以及許多更有用的特性。

技術分享圖片

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/

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