Python 機器學習庫 Top 10,你值得擁有!

2020-12-22 新智元

新智元AI WORLD 2018世界人工智慧峰會

今日啟幕

新智元2018年9月20日在北京國家會議中心舉辦AI WORLD 2018世界人工智慧峰會,歡迎觀看現場直播,選擇有很多哦~

愛奇藝:https://live.iqiyi.com/s/19rqw411mv.html

新浪科技:http://video.sina.com.cn/l/p/1724373.html

騰訊科技客戶端:http://view.inews.1900

騰訊科技 PC 端:http://v./preview.html

新智元推薦

編譯:優達學員 - kevin

原作:Mantra Malhotra(源文地址見下)

【新智元導讀】Python 超越許多其他程式語言,成為機器學習領域中最熱門最常用的程式語言之一。Python 在眾多開發者中如此受追捧的原因之一便是其擁有大量的與機器學習相關的開源框架以及工具庫,本文介紹了其中最受歡迎的10大Python庫。

原文:https://hackernoon.com/top-10-libraries-in-python-to-implement-machine-learning-12602cf5dc61

隨著人工智慧技術的發展與普及,Python 超越了許多其他程式語言,成為了機器學習領域中最熱門最常用的程式語言之一。有許多原因致使 Python 在眾多開發者中如此受追捧,其中之一便是其擁有大量的與機器學習相關的開源框架以及工具庫。根據 builtwith.com 的數據顯示,45% 的科技公司都傾向於使用 Python 作為人工智慧與機器學習領域的程式語言。

使 Python 如此受歡迎主要由於:

Python 從設計之初就是為效率而生,以使項目從開發到部署再在運維都能保持較高的生產力; 坊間有大量的基於 Python 的開源框架及工具庫; Python 易於上手,可以說是編程小白的福音; 相比起 C、Java、C++ 來講,Python 的語法更簡單,更高級,只需要更少行數的代碼便能實現其他程式語言同樣的功能; Python 的跨平臺能力; 正是由於 Python 簡單易用以及高開發效率,吸引了大量的開發者為其創建更多新的機器學習工具庫;而又因為大量的機器學習工具庫的出現,使得 Python 在機器學習領域變得如此流行。

下面我們就來探索一下機器學習領域中最受歡迎的十大框架或工具庫:

Tensorflow

如果你正在使用 Python 來從事機器學習項目,那麼你一定聽說過其中一個著名的框架——Tensorflow。Tensorflow 框架主要由 Google 大腦團隊開發,主要用於深度學習計算。幾乎所有的 Google 機器學習應用都使用了它。比如在使用 Google 語音搜索或者 Google 相冊時,你其實都是在間接地在使用 Tensorflow 所構建的模型。

Tensorflow 把神經網絡運算抽象成運算圖(Graph),一個運算圖中包含了大量的張量(Tensor)運算。而張量實際上就是 N 維數據的集合。神經網絡運算的本質是通過張量運算來擬合輸入張量與輸出張量之間的映射關係。

並行運算是 Tensorflow 的主要優勢之一。也就是說你可以通過代碼設置來分配你的 CPU、GPU 計算資源來實現並行化的圖運算。

Tensorflow 框架中所有的工具庫都是用 C 或者 C++ 來編寫,但它提供了用 Python 來編寫的接口封裝。事實上,你用 Python 編寫的神經網絡模型最終會調用基於 C 和 C++ 編寫的 Tensorflow 內核來執行運算。

Tensorflow 使用了類似 XLA(Accelerated Linear Algebra / 加速線性代數)等技術對運算過程進行過優化,以保證其能夠靈活地調用計算資源的同時保持高效的運算速度。

Keras

Keras 被認為是最酷的 Python 深度學習庫之一。如果你是深度學習開發方面的新手,那麼非常建議你使用它。它提供了非常簡明的機制來表達神經網絡結構。它也提供了許多非常棒的工具用於神經網絡模型的編譯、數據的處理、以及網絡結構的可視化等等。

Keras 本質上是對 Tensorflow、Theano 等基礎框架作進一步的封裝,以提供統一的 API 來簡化神經網絡的構建與訓練。如果你打算以 Tensorflow 作為後端基礎框架,則必須遵循以下架構圖:

再有,Keras 提供了許多預處理的數據集,比如 MNIST,和預訓練的模型,比如 VGG、Inception、 ResNet 等等。

Theano

Theano 是一個用於多維數組計算的 Python 運算框架。Theano 的工作原理與 Tensorflow 相似,但要比 Tensorflow 低效。因此它不適用於生產環境。

此外,Theano 還可以用於與 Tensorflow 類似的分布式或並行環境。

PyTorch

PyTorch 是最大的深度學習庫,允許開發人員通過加速 GPU 執行張量計算,創建動態計算圖,並自動計算梯度。 除此之外,PyTorch 還提供豐富的 API,用於解決與神經網絡相關的應用問題。

這個深度學習庫基於 Torch,這是一個用 C 語言實現的開源機器庫,以 Lua 語言作了封裝。與 Tensorflow 的區別在於 Tensorflow 用的是 「靜態計算圖」 的概念,而 PyTorch 用的是 「動態計算圖」 的概念。最直觀的感受是,用 PyTorch 來編寫的神經網絡模型代碼更像常見的 Python 代碼。PyTorch 是在 2017 年推出的,自成立以來,該庫越來越受歡迎並吸引了越來越多的機器學習開發人員。

LightGBM

Gradient Boosting 是最好和最受歡迎的機器學習庫之一,它通過使用重新定義的基本模型和決策樹來幫助開發人員構建新算法。 因此,有專門的庫被設計用於快速有效地實現該方法。這些庫包括 LightGBM, XGBoost, 和 CatBoost。這些庫互為競爭對手,同樣使用了幾乎相同的思路來解決一個共同問題。這些庫都提供了高度可擴展,優化和快速的梯度增強實現,使其在機器學習開發人員中很受歡迎。 因為大多數機器學習開發人員通過使用這些算法贏得了機器學習競賽。

Numpy

Numpy 是公認的最受歡迎的 Python 機器學習庫之一。Tensorflow 以及其他的一些框架內部都使用了 Numpy 來對張量進行多種操作。數組接口是 Numpy 最佳及最重要的功能。這個接口可以用於把圖像、音頻、以及其他二進位流數據表示為多維實數數組。為了把這個庫應用到機器學習中,掌握 Numpy 的操作對於開發者而言意義重大。

Pandas

Pandas 是一個 Python 機器學習庫,它提供了各種高級的工具用於進行數據分析。其中一項了不起的功能便是它可以用一兩行代碼就能實現複雜的數據操作。Pandas 有許多內置的方法用於分組統計、合併數據、數據篩選、以及時間序列操作。所有的這些操作都有出色的性能表現。因此,使用 Pandas 通常用於數據挖掘任務。

SciPy

SciPy 是一個應用開發者與工程師們使用的機器學習庫。然而,你需要知道的是 SciPy 庫與 SciPy-Stack 的區別。SciPy 庫是 SciPy-Stack 的一個子集。SciPy 庫包含了優化器、線性代數、積分、插值、快速傅立葉變換、信號和圖像處理、統計等子模塊。所有子模塊中的函數都有完整的文檔說明,使用方便。

SciPy 庫的主要功能是基於 Numpy 來實現的,它的數組操作就是使用了 Numpy 的數組操作。

Scikits_Learn

Scikits-learn,又稱為 sk-learn,是一個基於 Numpy 與 SciPy 的 Python 庫。Sk-learn 被認為是用於處理複雜數據的最優秀的機器學習庫之一。它包含了大量用於實現傳統機器學習和數據挖掘任務的算法,比如數據降維、分類、回歸、聚類、以及模型選擇等。

隨著時間的發展,sk-learn 不斷演進。其中包括它加入了交叉驗證功能,提供了使用多個衡量指標的能力。許多的訓練方法都得到了一定的改進,如邏輯回歸、近鄰算法(KNN)等。

Eli5

通常,在機器學習任務中遇到的難題是模型的預測結果不準確。而用 Python 構建的 Eli5 機器學習庫可以幫助攻克這個難題。它為現有的機器學習框架提供了若干內置的支持,比如模型數據可視化、模型調試、算法跟蹤等,使得機器學習模型對於開發者而言不再是一個黑盒子。

Eli5 支持 sk-learn、XGBoost、LightGBM、lightning、sklearn-crfsuite 等機器學習框架或機器學習庫。

這些框架與庫都能夠實現以上提到的可視化、模型調試、算法跟蹤等任務。

結語:

以上便是機器學習專家們與數據科學家們普遍認可的十大機器學習框架或工具庫。所有的這些框架與庫都值得看一看、試一試。

當然,除了以上提到的框架與工具庫外,還有很多其他的機器學習庫也同樣值得關注。比如 Scikit-image 就是同屬於 Scikit 系列的另一個側重於圖像領域的工具庫。

希望本文能夠幫助你為你的項目選擇到合適的機器學習框架或工具庫吧。

原文:https://hackernoon.com/top-10-libraries-in-python-to-implement-machine-learning-12602cf5dc61

新智元AI WORLD 2018世界人工智慧峰會

今日啟幕

新智元於9月20日在北京國家會議中心舉辦AI WORLD 2018世界人工智慧峰會,邀請機器學習教父、CMU教授 Tom Mitchell,邁克思·泰格馬克,周志華,陶大程,陳怡然等AI領袖一起關注機器智能與人類命運。

新浪直播:

http://video.sina.com.cn/l/p/1724373.html

騰訊科技客戶端:

http://view.inews.1900

騰訊科技PC端:

http://v./preview.html

愛奇藝直播:

https://live.iqiyi.com/s/19rqw411mv.html

相關焦點

  • python機器學習:常用庫的介紹及安裝
    現在,隨著人工智慧的興起,機器學習越來越被各行業看重,從而使得人工智慧的需求會越來越大。今天,我們就從零基礎開始學習人工智慧的基礎篇——機器學習。工欲善其事必先利其器,所以,我們首先來看一下,我們要學習這些東西,需要準備些什麼!首先電腦一臺,這是必備的。下面我們來看一下需要安裝些什麼軟體到電腦上!
  • 2019 必知的 10 大頂級 python 庫
    在本文中,我們將討論一些 python 中的頂級庫,開發人員可以使用這些庫在現有的應用程式中應用、清洗和表示數據,並進行機器學習研究。然而,最重要的一點是它有大量的庫供用戶使用。python 的簡單性吸引了許多開發人員為機器學習創建新的庫。由於有大量的庫,python 在機器學習專家中變得非常流行。所以,這裡要介紹的第一個庫是 TensorFlow。
  • Python簡化代碼機器學習庫PyCaret 2.0發布
    字幕組雙語原文:Python簡化代碼機器學習庫PyCaret 2.0發布英語原文:AnnouncingPyCaret是一個開源的,低代碼的Python機器學習庫,旨在自動化機器學習工作流。它是端到端的機器學習和模型管理工具。它可以加速機器學習的實驗周期,提高你的效率。和其他開源機器學習庫相比,PyCaret是低代碼的。它可以用幾個單詞取代上百行代碼。這大大提高了實驗的速度和效率。在版本說明 release notes  中查看PyCaret 2.0的更多細節。
  • Python & 機器學習項目集錦 | GitHub Top 45
    >機器學習年度最佳文章連結:https://medium.mybridge.co/learn-to-build-a-machine-learning-application-from-top-articles-of-2017-cdd5638453fcPython
  • python推薦 | 面向地學領域的Python庫匯總
    這是一篇告訴你如何更好的使用Python來解決地學領域問題的文章。數據處理•NetCDF格式 : netCDF4-python,h5py,h5netcdf,xarray等。除了上述簡單的數據處理庫之外,python還提供了NCO和CDO工具的封裝,pynco和cdo,提供了更多的便捷操作。
  • 常用python機器學習庫總結
    眾所周知現在人工智慧非常的火熱,機器學習也算是人工智慧中的一個領域,在其中有一塊是對文本進行分析,對數據進行深入的挖掘提取一些特徵值,然後用一些算法去學習,訓練,分析,甚至還能預測,我們就來看看python有哪些機器學習庫吧!1.
  • 最好的Python機器學習庫
    Python社區所創建的庫可以讓你做任何你想做的事,包括機器學習。豐富的ML庫:目前有大量面向Python的機器學習庫。你可以根據你的使用情況、技術和需求從數百個庫中選擇最合適的一個。上面最後一點可以說是最重要的。
  • Python語言下的機器學習庫
    它同樣適用於機器學習也是意料之中的事。本文引用地址:http://www.eepw.com.cn/article/201710/369940.htm  當然,它也有些缺點;其中一個是工具和庫過於分散。如果你是擁有unix思維(unix-minded)的人,你會覺得每個工具只做一件事並且把它做好是非常方便的。但是你也需要知道不同庫和工具的優缺點,這樣在構建系統時才能做出合理的決策。
  • 2020年六大機器學習Python庫!
    外頭有許多類型的python庫可用,本文介紹了一些流行的機器學習庫。1. NumPy:NumPy是一種通用的數組處理軟體包。它提供高性能的多維數組對象和用於處理這些數組的工具。它是用於科學計算的基本Python軟體包。
  • python機器學習之使用scikit-learn庫
    引言數據分析由一連串的步驟組成,對於其中預測模型的創建和驗證這一步,我們使用scikit-learn這個功能強大的庫來完成。scikit-learning庫python庫scikit-learn整合了多種機器學習算法。
  • 2020年10個不錯的Python庫
    這是第六屆年度 Python 庫排行榜。這個排行榜的依據是什麼?規則很簡單。我們尋找的庫需要滿足下列條件:它們是在 2020 年推出或普及的。它們從發布後就一直有良好的維護。它們非常炫酷,很值得一看。免責聲明:今年,我們的選擇受到機器學習 / 數據科學庫的極大影響,雖然有些庫對非數據科學家來說確實很有用。
  • 2019年必知的10大頂級Python庫 | 網際網路數據資訊網-199IT | 中文...
    然而,最重要的一點是它有大量的庫供用戶使用。python 的簡單性吸引了許多開發人員為機器學習創建新的庫。由於有大量的庫,python 在機器學習專家中變得非常流行。所以,這裡要介紹的第一個庫是 TensorFlow。1.TensorFlow
  • Python機器學習·微教程
    在這個教程裡,你將學會:如何處理數據集,並構建精確的預測模型使用Python完成真實的機器學習項目這是一個非常簡潔且實用的教程,希望你能收藏,以備後面複習!接下來進入正題~這個微課程適合誰學習?如果你不符合以下幾點,也沒關係,只要花點額外時間搞清楚知識盲點就能跟上。所以這個教程既不是python入門,也不是機器學習入門。
  • 2020 年最佳流行 Python 庫 Top 10
    我們正在尋找的庫滿足以下條件:免責聲明:我們的選擇在很大程度上受機器學習/數據科學庫的影響,儘管其中某些庫確實對非數據科學人士也同樣受用。此外,儘管我們有10個主要選擇,但我們還是決定增加一個新的「榮譽提名」部分,以便對我們發現但不能遺漏的其他第三方庫一個公道。這篇文章的精神是使這些庫更為大眾所知,並圍繞我們可能已經錯過的其他一些絕佳選擇引發討論(在評論中或其他地方)。
  • 對比了 18000 個 Python 項目,這 TOP45 值得學習!
    這份清單中包括了各不相同的 20 個主題,以及一些資深程式設計師分享使用 Python 的經驗,值得收藏。Mybridge AI 的排名結合了內部機器評估的內容質量和各種人為因素,包括閱讀次數和閱讀時長等。
  • 2017年數據科學15個最好用的Python庫
    如果你是正在學習Python的學生,也許根據這個表單能夠幫你更好地找到學習的重心。因為所有的python庫都是開源的,所以我們還列出了每個庫的提交次數、貢獻者人數和其他一些來自Github可以代表Python庫流行度的指標。1.
  • 用Python 做機器學習不得不收藏的重要庫
    數據科學家也會用python作為連接自身工作與WEB 應用程式/生產環境集成中。 Python在機器學習領域非常出色。它具有一致的語法、更短的開發時間和靈活性,非常適合開發能夠直接插入生產系統的複雜模型和預測引擎。 Python的一個最大的資產是其廣泛的庫。 庫是一組用給定語言編寫的程序和功能的集合。
  • 最好用的20個python庫,這些你知道嗎?
    在它的幫助下,你可以實現許多機器學習方法並探索不同的繪圖可能性。Python 庫不斷發展,不斷豐富新的機遇。因此,今年出現了時間序列的改進和新的計數模型,即 GeneralizedPoisson、零膨脹模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重複測量。
  • C++機器學習庫介紹
    C++是我學習過的第一種程式語言,我喜歡在機器學習中使用它。我在之前寫過關於構建機器學習模型的文章。我收到了一個回復,問我C++有沒有機器學習的庫?這是個公平的問題。像Python和R這樣的語言有大量的包和庫來滿足不同的機器學習任務。那麼C++有沒有這樣的產品呢?是的,是的!
  • 機器學習 | 四大常用機器學習Python庫介紹
    點擊下方公眾號,回復資料,收穫驚喜今天這篇我們介紹下Python中常用的機器學習庫(機器(機器學習、深度學習啥的,小編還是建議使用Python進行建模編寫哈),也算是本公號機器學習的第一篇推文,主要內容如下:深度學習常用四大Python庫這一部分我們簡單介紹下Python中的常用的機器學習庫,算是比較入門的介紹哈,具體包括Scikit-learn、Keras、TensorFlow和PyTorch,下面我們就一一簡單介紹: