歡迎光臨
每天分享高質量文章

10大最受歡迎的機器學習和資料科學Python庫

開源最前線(ID:OpenSourceTop) 猿妹 編譯

連結:https://jaxenter.com/top-10-python-tools-ml-and-data-143764.html

2018年將會是人工智慧和機器學習快速發展的一年,有專家表示:相較之下Python比Java更加接地氣,也自然而然地成為機器學習的首選語言

在資料科學方面,Python的語法與數學語法最為接近,因此是數學家或經濟學家等專業人士最容易理解和學習的語言。本文將羅列機器學習和資料科學應用程式中最有用的十大Python工具

機器學習工具


1、Shogun

SHOGUN是一個機器學習工具箱,專註於支援向量機(SVM)的學習工具箱。它是用C++編寫的,早在1999年就已經建立,是最古老的機器學習工具之一,它提供了廣泛的統一機器學習方法,旨在為機器學習提供透明和可訪問的演演算法,併為任何對此領域感興趣的人提供免費的機器學習工具。

Shogun提供了一個記錄完善的Python介面用於統一的大規模學習,並提供高效能速度。不過,Shogun的缺點就是它的API很難使用。(專案地址:https://github.com/shogun-toolbox/shogun

2、Keras

Keras是一個高階神經網路API,提供了一個Python深度學習庫。對於任何初學者來說,這是機器學習的最佳選擇,因為與其他庫相比,它提供了一種更簡單的表達神經網路的方法。Keras由純Python編寫而成並基Tensorflow、Theano以及CNTK後端。

據官方網站稱,Keras側重於4個主要指導原則,即使用者友好性,模組化,易擴充套件性和與Python協作。然而,就速度而言,Keras 相對還是比較弱的。(專案地址:https://github.com/keras-team/keras

3、scikit-learn 

scikit-learn 是一個 Python 的機器學習專案。是一個簡單高效的資料挖掘和資料分析工具。基於 NumPy、SciPy 和 matplotlib 構建。Scikit-Learn提供了一致且易於使用的API網格以及隨機搜尋。其主要優勢演演算法簡單而且速度快。Scikit-learn的基本功能主要被分為六大部分:分類,回歸,聚類,資料降維,模型選擇和資料預處理(專案地址:https://github.com/scikit-learn/scikit-learn

4、Pattern

Pattern是一個Web挖掘模組,為資料挖掘,自然語言處理,機器學習,網路分析和網路分析提供工具。它還附帶完善的檔案,有50多個示例以及透過350多個單元測試。最重要的是,它是免費的!(專案地址:https://github.com/clips/pattern

5、Theano

Theano可以說是最成熟的Python深度學習庫之一,Theano是以以為希臘畢達哥拉斯哲學家和數學家畢達哥拉斯的妻子的名字命名,Theano的主要功能:與NumPy緊密整合,用符號式語言定義你想要的結果,該框架會對你的程式進行編譯,來高效執行於 GPU 或 CPU。

它還提供了定義,最佳化和評估數學運算式的工具,並且可以在Theano上構建大量其他庫,以探索其資料結構。儘管如此,使用Theano還是有一些缺點的; 比如學習它的API可能需要很長時間,而另一些人則認為Theano大模型的編譯時間顯的它不夠高效(專案地址:https://github.com/Theano/Theano

資料科學工具


1、SciPy

SciPy (pronounced “Sigh Pie”) 是一個開源的數學、科學和工程計算包。SciPy使用NumPy,IPython或Pandas等各種軟體包為常用的數學和科學程式設計任務提供庫。當你想操縱計算機上的數字並顯示或釋出結果時,此工具是一個很好的選擇,並且它也是免費的。(專案地址:https://github.com/scipy/scipy

2、Dask 

Dask 是一個用於分析計算的靈活的平行計算庫。同樣,透過更改只有幾行程式碼,你可以快速對現有程式碼進行並行處理,因為它的DataFrame與Pandas庫中的相同,它的Array物件的工作方式類似於NumPy能夠並行化以純Python編寫。(專案地址:https://github.com/dask/dask

3、Numba

此工具是一種開源最佳化編譯器,它使用LLVM編譯器基礎結構將Python語法編譯為機器碼。在資料科學應用中使用Numba的主要優勢在於它使用NumPy陣列來加速應用程式的能力,因為Numba是一個支援NumPy的編譯器。就像Scikit-Learn一樣,Numba也適用於機器學習應用。(專案地址https://github.com/numba/numba

4、HPAT

高效能分析工具包(HPAT)是一個基於編譯器的大資料框架。它將Python中的分析/機器學習程式碼自動擴充套件到群集/雲環境中的大資料分析和機器學習,並可以使用@jit裝飾器最佳化特定功能。(專案地址:https://github.com/IntelLabs/hpat

5、Cython

使用數學密碼或密碼迴圈執行的程式碼時,Cython是您的最佳選擇。Cython是一款基於Pyrex的原始碼翻譯器,可快速生成Python擴充套件模組(extention module)的工具。Cython語言非常接近Python語言,但是Cython還支援呼叫C函式併在變數和類屬性上宣告C型別。這允許編譯器從Cython程式碼生成非常高效的C程式碼。(專案地址:https://github.com/cython/cython


●編號403,輸入編號直達本文

●輸入m獲取文章目錄

贊(0)

分享創造快樂