1. 程式人生 > >聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

核心庫與統計

NumPy

我們從科學應用程式庫開始說起,NumPy是該領域的主要軟體包之一。 它旨在處理大型多維陣列和矩陣,並且廣泛的高階數學函式和實現的方法集合,使得可以使用這些物件執行各種操作。

在這一年中,NumPy有很多更新。 除了錯誤修復和相容性問題之外,關鍵更新還包括NumPy物件的列印格式。此外,某些函式現在可以處理Python中可用的任何編碼的檔案。

進群:548377875 即可獲取數十套PDF哦!

SciPy

另一個科學計算核心庫是SciPy。它基於NumPy,並擴充套件了其功能。 SciPy主資料結構又是一個多維陣列,由Numpy實現。該軟體包包含有助於解決線性代數,概率論,積分計算和更多工的工具。

SciPy可以適配不同的作業系統。這一年,Scipy帶來了許多函式的更新,尤其是優化器也更新了。此外,封裝了許多新的BLAS和LAPACK函式。

Pandas

Pandas提供了高階資料結構和各種分析工具。該軟體包的一大特色是能夠將相當複雜的資料操作轉換為一個或兩個命令。 Pandas包含許多用於分組,過濾和組合資料的內建方法,以及時間序列功能。

Pandas在這一年的更新包括數百個新功能,bug修復和API的更改。

StatsModels

Statsmodels是一個統用於統計資料分析的方法,例如統計模型估計,執行統計測試等。在它的幫助下,您可以實現許多機器學習方法。

這個庫在不停的更新。今年帶來了時間序列改進和新的計數模型,即GeneralizedPoisson,零膨脹模型和NegativeBinomialP,以及新的多變數方法 - 因子分析,MANOVA和ANOVA中的重複測量。

視覺化

Matplotlib

Matplotlib是一個用於建立二維圖表和圖形的低階庫。 藉助它的幫助,您可以構建各種圖表,從直方圖和散點圖到非笛卡爾座標圖。 此外,許多流行的繪相簿被設計為與matplotlib一起使用。

顏色,尺寸,字型,圖例的樣式等都有變化。比如軸圖例的自動對齊,和更友好的配色。

 

聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

 

 

Seaborn

Seaborn本質上是基於matplotlib庫的更高級別的API。 它包含有豐富的視覺化相簿,包括時間序列,聯合圖和小提琴圖(展示資料密度分佈)等複雜型別。

seaborn更新主要包括bug修復。 此外,FacetGrid或PairGrid與增強的互動式matplotlib後端之間的相容性有所改進,為視覺化添加了引數和選項。

 

聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

 

 

Plotly

Plotly是一個流行的庫,可以讓您輕鬆地構建複雜的圖形。 該軟體包適用於互動式Web應用程式。 其視覺化效果包括輪廓圖形,三元圖和3D圖表。

今年該庫的更新包括對“多連結檢視”以及動畫和串擾整合的支援。

Bokeh

Bokeh庫使用JavaScript小部件在瀏覽器中建立互動式和可伸縮的視覺化。 該庫提供了多種圖形,樣式及連結圖形式的互動能力,定義回撥以及更多有用的功能。

Bokeh可以提供改進的互動式功能,例如分類刻度標籤的旋轉,以及小縮放工具和自定義工具提示欄位增強功能。

 

聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

 

 

Pydot

Pydot是Graphviz的一個介面,用純Python編寫。 在它的幫助下,可以顯示圖形的結構,這在構建神經網路和基於決策樹的演算法時會經常用到。

 

聽說Python深度學習薪資已超過30K了?20個最牛逼的Python庫送你

 

 

機器學習

Scikit-learn

這個基於NumPy和SciPy的Python模組是處理資料的最佳庫之一。它為許多標準機器學習和資料探勘任務提供演算法,例如聚類,迴歸,分類,降維和模型選擇。

今年這個庫的更新包括:修改交叉驗證,提供了使用多個指標的功能;最近鄰和邏輯迴歸等幾種訓練方法有一些小的改進。

XGBoost / LightGBM / CatBoost

Boosting是最流行的機器學習演算法之一,其在於構建基本模型的集合,即決策樹。因此,有專門的庫設計用於快速方便地實現該方法。XGBoost,LightGBM和CatBoost值得特別關注。這些庫提供高度優化,可擴充套件和快速的梯度增強實現,這使得它們在資料科學家和Kaggle競賽中非常受歡迎。

Eli5

通常,機器學習模型預測的結果並不完全清楚,而eli5庫有助與解決問題。它是一個視覺化除錯機器學習模型的包,並逐步跟蹤演算法的工作過程。它可與scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite庫相容。

深度學習

TensorFlow

TensorFlow是一個流行的深度和機器學習框架,由Google Brain開發。它提供了使用具有多個數據集的人工神經網路的能力。最受歡迎的TensorFlow應用包括物件識別,語音識別等。

這個庫在新版本中很快,引入了新功能和新功能。最新的修復包括潛在的安全漏洞和改進的TensorFlow和GPU整合,例如您可以在一臺計算機上的多個GPU上執行Estimator模型。

PyTorch

PyTorch是一個大型框架,允許使用GPU加速執行張量計算,建立動態計算圖並自動計算梯度。在此之上,PyTorch提供了豐富的API,用於解決與神經網路相關的應用。

該庫基於Torch,這是一個用C語言實現的開源深度學習庫,在Lua中有一個包裝器。 Python API於2017年推出,從那時起,該框架越來越受歡迎並吸引了越來越多的資料科學家。

Keras

Keras是一個用於處理神經網路的高階庫,執行在TensorFlow,Theano之上。現在它也可以使用CNTK和MxNet作為後端。它簡化了許多特定任務,並大大減少了單調程式碼的數量。但是,它可能不適合某些複雜的事情。

該庫在效能,可用性,文件和API都有一定改進。一些新功能是Conv3DTranspose層,新的MobileNet應用程式和自我規範化網路。

分散式深度學習

Dist-keras / elephas / spark-deep-learning

使用像Apache Spark這樣的分散式計算系統可以更輕鬆地處理如此大量的資料,這再次擴充套件了深度學習的可能性。因此,dist-keras,elephas和spark-deep-learning正在迅速發展。這些軟體包可以在Apache Spark的幫助下直接基於Keras庫訓練神經網路。 Spark-deep-learning還提供了使用Python神經網路建立管道的工具。

自然語言處理

NLTK

NLTK是一組庫,是自然語言處理的完整平臺。 在NLTK的幫助下,您可以通過各種方式處理和分析文字,標記文字,提取資訊等。NLTK還用於原型設計和構建研究系統。

這個庫的附魔包括API和相容性的微小變化以及CoreNLP的新介面。

SpaCy

SpaCy是一個自然語言處理庫,包含優秀的demo,API文件和演示應用程式。該庫是用Cython語言編寫的,它是Python的C擴充套件。它支援近30種語言,提供簡單的深度學習整合,並保證了穩健性和高準確性。 SpaCy的另一個重要特性它是為整個文件處理而設計的,而不會將文件分成短語。

Gensim

Gensim是一個用於強大語義分析,主題建模和向量空間建模的Python庫,基於Numpy和Scipy構建。它提供了流行的NLP演算法的實現,例如word2vec。

資料抓取

Scrapy

Scrapy是一個用於建立掃描網站頁面和收集結構化資料的爬蟲庫。此外,Scrapy可以從API中提取資料。由於其可擴充套件性和可移植性,該庫恰好非常方便。

結論

與去年相比,一些新的庫越來越受歡迎,而那些已成為資料科學任務經典庫正在不斷改進。

表格中列出了這些庫的github活動的詳細統計資訊。