盤點2018年熱門Python庫|TOP20
95 人贊了文章
來源:CDA數據分析師
在解決數據科學任務和挑戰方面,Python繼續處於領先地位。去年,我對當時熱門的Python庫進行了總結。今年,我在當中加入新的庫,重新對2018年熱門Python庫進行全面盤點。其實入選的庫遠不止20個,但由於一些庫針對相同問題是可以相互替代的,因此沒有納入其中。
核心庫和統計
1. NumPy(提交:17911,貢獻者:641)
首先介紹科學應用方面的庫,其中NumPy是不可忽視的選擇。NumPy用於處理大型多維數組和矩陣,並通過大量的高級數學函數和實現方法進行各種操作。在過去一年裡NumPy進行了大量改進。除了bug修復和兼容性問題之外,還涉及到樣式可能性,即NumPy對象的格式化列印。
2. SciPy(提交:19150,貢獻者:608)
科學計算方面的另一個核心庫是SciPy。SciPy基於NumPy因此擴展了NumPy的功能。SciPy的主要數據結構是由Numpy實現的多維數組。當中包括許多解決線性代數、概率論、積分等任務的工具。SciPy的主要改進包括,持續集成到不同操作系統,以及添加的新功能和新方法。此外,還封裝了許多新的BLAS和LAPACK函數。
3. Pandas(提交:17144,貢獻者:1165)
Pandas是一個Python庫,提供高級數據結構和各種分析工具,主要特點是能夠將相當複雜的數據操作轉換為一兩條命令。Pandas包含許多用於分組,過濾和組合數據的內置方法,以及時間序列功能。Pandas庫已推出多個新版本其中包括數百個新功能、增強功能、bug修復和API改進。這些改進包括分類和排序數據方面,更適合應用方法的輸出,以及執行自定義操作。
4. StatsModels(提交:10067,貢獻者:153)
Statsmodels是一個Python模塊,用於統計模型估計、執行統計測試等統計數據分析。在它的幫助下,你可以使用機器學習方法,進行各種繪圖嘗試。Statsmodels在不斷改進。今年加入了時間序列方面的改進和新的計數模型,即廣義泊松、零膨脹模型和負二項。還包括新的多變數方法 ——因子分析、多元方差分析和方差分析中的重複測量。
可視化
5. Matplotlib(提交:25747,貢獻者:725)
Matplotlib是用於創建二維圖表和圖形的低級庫。使用Matplotlib,你可以構建直方圖、散點圖、非笛卡爾坐標圖等圖表。此外,許多熱門的繪圖庫都能與Matplotlib結合使用Matplotlib在顏色、尺寸、字體、圖例等方面都有一定改進。外觀方面包括坐標軸圖例的自動對齊;色彩方面也做出改進,對色盲更加友好。
6. Seaborn(提交:2044,貢獻者:83)
Seaborn是基於matplotlib庫更高級別的API。它包含更適合處理圖表的默認設置。此外,還包括時間序列等豐富的可視化圖庫。Seaborn的更新包括bug修復。同時,還包括FacetGrid與PairGrid的兼容性,增強了matplotlib後端交互,並在可視化中添加了參數和選項。
7. Plotly(提交:2906,貢獻者:48)
Plotly能夠讓你輕鬆構建複雜的圖形。Plotly適用於互動式Web應用程序。可視化方面包括等高線圖、三元圖和三維圖。Plotly不斷增加新的圖像和功能,對動畫等方面也提供了支持。
8. Bokeh(提交:16983,貢獻者:294)
Bokeh庫使用JavaScript小部件,在瀏覽器中創建互動式和可縮放的可視化。Bokeh提供了多種圖形集合、樣式,並通過鏈接圖、添加小部件和定義回調等形式增強互動性。Bokeh在互動式功能的進行了改進,比如旋轉分類標籤、小型縮放工具和自定義工具提示欄位的增強。
9. Pydot(提交:169,貢獻者:12)
Pydot用於生成複雜的定向圖和非定向圖。它是用Python編寫的Graphviz介面。使用Pydot能夠顯示圖形結構,這經常用於構建神經網路和基於決策樹的演算法。
機器學習
10. Scikit-learn(提交:22753,貢獻者:1084)
Scikit-learn是基於NumPy和SciPy的Python模塊,並且是處理數據方面的不錯選擇。Scikit-learn為許多機器學習和數據挖掘任務提供演算法,比如聚類、回歸、分類、降維和模型選擇。
Scikit-learn是基於NumPy和SciPy的Python模塊,並且是處理數據方面的不錯選擇。Scikit-learn為許多機器學習和數據挖掘任務,提供演算法,比如聚類、回歸、分類、降維和模型選擇。Scikit-learn已做出了許多改進改進包括交叉驗證、使用多個指標,近鄰取樣和邏輯回歸等訓練方法也有小的改進。主要更新還包括完善常用術語和API元素的術語表,這能幫助用戶熟悉Scikit-learn中的術語和規則。
11. XGBoost / LightGBM / CatBoost(提交:3277/1083/1509,貢獻者:280/79/61)
梯度提升(gradient boosting)是最流行的機器學習演算法之一,這在決策樹模型中是至關重要的,因此我們需要重視XGBoost、LightGBM和CatBoost。這幾個庫都用相同的方式解決常見問題。這些庫能夠更優化、擴展且快速地實現梯度提升,從而它們在數據科學家和Kaggle競爭中備受追捧,其中許多人在這些演算法的幫助下贏得了比賽。
12. Eli5(提交:922,貢獻者:6)
通常機器學習模型預測的結果並不特別清晰,這時就需要用到eli5了。它可以用於可視化和調試機器學習模型,並逐步跟蹤演算法運行情況。同時eli5能為scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite庫提供支持。
深度學習
13. TensorFlow(提交:33339,貢獻者:1469)
TensorFlow是用於深度學習和機器學習的熱門框架,由谷歌大腦開發。TensorFlow能夠用於多個數據集的人工神經網路。TensorFlow的主要應用包括對象識別、語音識別等等。新版本中加入了新的功能。最新的改進包括修復安全漏洞,以及改進TensorFlow和GPU集成,比如能在一台機器上的多個GPU上運行評估器模型。
14. PyTorch(提交:11306,貢獻者:635)
PyTorch是一個大型框架能通過GPU加速執行tensor計算,創建動態計算圖並自動計算梯度。此外,PyTorch為解決神經網路相關的應用提供了豐富的API。PyTorch基於Torch,它是用C語言實現的開源的深度學習庫。Python API於2017年推出,從此之後該框架,越來越受歡迎,並吸引了大量數據科學家。
15. Keras(提交:4539,貢獻者:671)
Keras是用於神經網路的高級庫,可運行與TensorFlow和Theano。現在由於推出新版本,還可以使用CNTK和MxNet作為後端。它簡化了許多任務,並大大減少了代碼數量。但缺點是不適合處理複雜任務。Keras在性能、可用性、文檔即API方面都有改進。新功能包括Conv3DTranspose層、新的MobileNet應用等。
分散式深度學習
16. Dist-keras / elephas / spark-deep-learning(提交:1125/170/67,貢獻者:5/13/11)
由於越來越多的用例,需要大量的精力和時間深度學習問題變得更為重要。但是,使用Apache Spark之類的分散式計算系統,能夠更容易處理大量數據這又擴展了深度學習的可能性。因此dist-keras、elephas、和spark-deep-learning變得更為普及由於它們有能用於解決相同任務,因此很難從中取捨,這些包能夠讓你在Apache Spark的幫助下,直接通過Keras庫訓練神經網路。Spark-deep-learning還提供了使用Python神經網路創建管道的工具。
自然語言處理
17. NLTK(提交:13041,貢獻者:236)
NLTK是一組庫,是進行自然語言處理的平台。在NLTK的幫助下,你可以通過多種方式處理和分析文本,對其進行標記和提取信息。NLTK還可用於原型設計和構建研究系統。NLTK的改進包括API和兼容性的小改動,以及CoreNLP的新介面。
18. SpaCy(提交:8623,貢獻者:215)
SpaCy是自然語言處理庫具有出色的示例、API文檔和演示應用。該庫用Cython編寫Cython是C語言在Python的擴展。它支持將近30種語言,提供簡單的深度學習集成,並能確保穩定性和高準確性。SpaCy的另一個強大功能是無需將文檔分解,整體處理整個文檔。
19. Gensim(提交:3603,貢獻者:273)
Gensim是Python庫,用於語義分析、主題建模和矢量空間建模建立在Numpy和Scipy之上。它提供了word2vec等NLP演算法實現。儘管gensim擁有自己的models.wrappers.fasttext實現,但fasttext庫也可用於詞語表示的高效學習。
數據抓取
20. Scrapy(提交:6625,貢獻者:281)
Scrapy可用於創建掃描頁面和收集結構化數據。另外,Scrapy還可以從API中提取數據。由於其可擴展性和便攜性,Scrapy非常好用。今年Scrapy的更新包括代理伺服器升級,以及錯誤通知和問題識別系統。這也為使用scrapy解析機械能元數據設置提供了新的方法。
結語
以上就是2018年數據科學方面的Python庫的整理。與去年相比,一些新的庫越來越受歡迎,數據科學方面常用的庫也在不斷改進。以下的表格顯示了github上各個庫的統計數據。
儘管今年我們擴大了列表,但仍然可能有一些庫沒有包含在內,歡迎留言補充。
圖片未顯示,點擊後可以關注公眾號」四川CDA數據分析師「。
推薦閱讀: