處理人工智能任務(wù)必須知道的11個Python庫
本文轉(zhuǎn)載自微信公眾號「Python學(xué)會」,作者Huangwei AI。轉(zhuǎn)載本文請聯(lián)系Python學(xué)會公眾號。
前言
Python對數(shù)據(jù)科學(xué)如此重要的原因之一是它海量的數(shù)據(jù)分析和可視化庫。在本文中,我們討論了最受歡迎的一些。
1.Tensorflow
谷歌開發(fā)的TensorFlow深度學(xué)習(xí)框架無疑是最流行的訓(xùn)練神經(jīng)網(wǎng)絡(luò)的工具。谷歌積極地使用自己的框架來實現(xiàn)Gmail和谷歌Translate這樣的大型服務(wù)。TensorFlow被Uber、Airbnb、小米、Dropbox等品牌所使用。
- 使用TensorFlow,您可以可視化神經(jīng)網(wǎng)絡(luò)的各個部分。
- Tensorflow模塊可以獨立制作。
- TensorFlow允許你在CPU和GPU上訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
- 輸送學(xué)習(xí)過程。
- 一個大型團隊正在不斷地改進(jìn)穩(wěn)定性和新特性。
2. Scikit-Learn
Scikit-Learn是用Python、C和c++編寫的一個流行的機器學(xué)習(xí)庫。用一個通用的選擇來解決機器學(xué)習(xí)的經(jīng)典問題。用于工業(yè)系統(tǒng)和科學(xué)研究。
廣泛的監(jiān)督和無監(jiān)督學(xué)習(xí)算法。
Scikit-learn專門研究機器學(xué)習(xí)算法。庫的任務(wù)不包括加載、處理、數(shù)據(jù)操作和可視化。
大型社區(qū)和詳細(xì)的文檔。
3. NumPy
NumPy是機器學(xué)習(xí)中最流行的Python庫之一。TensorFlow和其他庫在內(nèi)部使用它來對多維數(shù)組執(zhí)行操作。
用解釋語言(Python)實現(xiàn)的數(shù)學(xué)算法通常比用編譯語言實現(xiàn)的算法要慢得多。NumPy庫提供了針對多維數(shù)組進(jìn)行優(yōu)化的計算算法實現(xiàn)。
4. Keras
如果您需要快速且容易地組裝一個深度學(xué)習(xí)模型,Keras是一個完美的選擇。P是TensorFlow和Theano框架上的一個附加組件。該庫的目標(biāo)是深度學(xué)習(xí)網(wǎng)絡(luò)的操作工作,同時被設(shè)計成緊湊、模塊化和可擴展的。Keras提供了一組高級的、直觀的抽象,使得構(gòu)建神經(jīng)網(wǎng)絡(luò)變得容易,而不考慮作為計算后端使用的科學(xué)計算庫。
- 工作出色的CPU和GPU。
- 支持幾乎所有的神經(jīng)網(wǎng)絡(luò)模型,可以組合起來建立更復(fù)雜的模型。
- 該平臺完全是用Python編寫的,也就是說,您可以使用標(biāo)準(zhǔn)的調(diào)試工具。
5. PyTorch
PyTorch是處理神經(jīng)網(wǎng)絡(luò)的最佳選擇之一,神經(jīng)網(wǎng)絡(luò)是TensorFlow的長期競爭對手。主要由Facebook的人工智能小組開發(fā)。生成對抗網(wǎng)絡(luò)(Generative Adversarial Networking)中使用PyTorch作為深度學(xué)習(xí)框架。學(xué)習(xí)如何在PyTorch上編寫自己的GAN。
- 簡單的GPU的支持。
- 在GPU模式下,PyTorch提供了高質(zhì)量的優(yōu)化,有一個c++ API運行環(huán)境。
- 支持異步計算執(zhí)行。
- 直接訪問基于ONNX的框架,渲染器和運行時。
6. LightGBM
LightGBM是一個梯度增強框架,是Kaggle比賽中最流行的算法之一。梯度推進(jìn)是一種用于分類和回歸問題的機器學(xué)習(xí)技術(shù),它以預(yù)測模型集成的形式建立一個預(yù)測模型,通常是決策樹。
- 學(xué)習(xí)速度快,效率高。
- 低內(nèi)存消耗。
- 支持并行和GPU計算。
- 您可以處理大量的數(shù)據(jù)。
7. Pandas
Pandas是一個庫,它提供用于處理數(shù)據(jù)的高級結(jié)構(gòu)和用于分析數(shù)據(jù)的廣泛工具。這個庫允許您用少量代碼執(zhí)行許多復(fù)雜的命令:對數(shù)據(jù)排序和分組、處理丟失的數(shù)據(jù)、時間序列等。所有數(shù)據(jù)都以數(shù)據(jù)幀表的形式表示。
8. SciPy
SciPy對于科學(xué)和工程計算是必不可少的,包括機器學(xué)習(xí)任務(wù)。
- 特點:搜索函數(shù)的極小值和極大值,計算積分,支持特殊函數(shù),信號和圖像處理,解微分方程等。
- SciPy與NumPy密切相關(guān),所以默認(rèn)情況下支持NumPy數(shù)組。
- SciPy庫可以與PyTables交互,PyTables是一個分層數(shù)據(jù)庫,設(shè)計用于管理HDF5文件中的大量數(shù)據(jù)。
9. Eli5
Eli5是一個Python庫,用于使用統(tǒng)一的API可視化和調(diào)試機器學(xué)習(xí)模型。它內(nèi)置了對幾個ML框架和庫的支持:scikit-learn、Keras、上面提到的LightGBM,以及XGBoost、lightning和CatBoost。
10. NLTK
NLTK是一套用于自然語言的符號和統(tǒng)計處理的庫和程序。它附帶了大量的文檔,包括一本書,解釋了可以用這個包執(zhí)行的自然語言處理任務(wù)背后的概念。
11. Pillow
Pillow是PIL (Python Image Library)圖像庫的改進(jìn)版本。支持多種文件類型:PDF、WebP、PCX、PNG、JPEG、GIF、PSD、WebP、PCX、GIF、IM、EPS、ICO、BMP等。有許多過濾工具可以用于計算機視覺任務(wù)。