對(duì)于python這么簡單易學(xué)還優(yōu)美的語言來說會(huì)得到大家的喜愛是很正常的,智能時(shí)代的來臨也讓python有了更多可以展示的機(jī)會(huì),那么對(duì)于0基礎(chǔ)的學(xué)員來說想要學(xué)習(xí)python的話也是不難的,下面達(dá)內(nèi)科技的小編就來和大家說下python常用的數(shù)據(jù)庫有哪些?
Scikit-learn
你剛開始學(xué)機(jī)器學(xué)習(xí)嗎?如果你需要一個(gè)涵蓋了特征工程,模型訓(xùn)練和模型測試所有功能的程序庫,scikit-learn是你的選擇!這個(gè)的免費(fèi)軟件提供了機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘所需要的所有工具。它是目前Python機(jī)器學(xué)習(xí)的標(biāo)準(zhǔn)庫。要使用任何成熟的機(jī)器學(xué)習(xí)算法都推薦使用這個(gè)庫。
這個(gè)程序庫支持分類和回歸,實(shí)現(xiàn)了基本所有的經(jīng)典算法(支持向量機(jī),隨機(jī)森林,樸素貝葉斯等等)。程序庫的設(shè)計(jì)讓遷移算法十分容易,使用不同的算法做實(shí)驗(yàn)非常輕松。這些經(jīng)典算法可用性很強(qiáng),能用于大量不同的情況。
但這并不是Scikit-learn的全部功能,它同樣可以用來做降維,聚類等等任何你所能想到的。由于它構(gòu)建在Numpy和Scipy之上(所有的數(shù)值計(jì)算都是由C語言來完成的),它的運(yùn)行速度也超快。
這些例子可以告訴你這個(gè)庫的功能,如果你想學(xué)習(xí)如何使用它,可以閱讀教程。
NLTK
NLTK不算是一個(gè)機(jī)器學(xué)習(xí)的程序庫,但它是做自然語言處理(NLP)必須的一個(gè)庫。除了用于文字處理的功能,例如聚類,分詞,詞干提取,標(biāo)記,解析等,它還包含了大量的數(shù)據(jù)集和其他關(guān)于詞法的資源(可用于模型訓(xùn)練)。
把所有這些打包在一起的好處就不用再多說了。如果你對(duì)NLP感興趣,可以看看這些教程!
Theano
Theano被廣泛應(yīng)用于工業(yè)界和學(xué)術(shù)界,它是所有深度學(xué)習(xí)架構(gòu)的鼻祖。Theano是用Python,結(jié)合Numpy實(shí)現(xiàn)的。你可以用它來構(gòu)建用多維數(shù)組實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)。Theano會(huì)處理所有數(shù)學(xué)計(jì)算,你不需要知道底層的數(shù)學(xué)公式實(shí)現(xiàn)。
早在支持使用GPU進(jìn)行計(jì)算不像今天這樣普及的時(shí)候,Theano就已經(jīng)提供了對(duì)GPU計(jì)算的支持。這個(gè)程序庫目前已經(jīng)非常成熟,能夠支持很多不同類型的操作。這使得Theano可以在和其他庫比較的時(shí)候勝出。
目前關(guān)于Theano的問題是API不是很好用,對(duì)于新手來說上手困難。不過市面上已經(jīng)有了解決這個(gè)問題的封裝包,比如Keras, Blocks 和
Lasagne,都可以簡化Theano的使用。
TensorFlow
谷歌大腦團(tuán)隊(duì)為了內(nèi)部使用創(chuàng)造了TensorFlow,2015年將其開源化。設(shè)計(jì)初衷是取代他們已有的封閉機(jī)器學(xué)習(xí)框架DistBelief,據(jù)說該構(gòu)架太過于依賴Google的整體構(gòu)架,也不夠靈活,在分享代碼的時(shí)候非常不方便。
于是就有了TensorFlow。谷歌從以前的錯(cuò)誤中吸取了教訓(xùn)。許多人認(rèn)為TensorFlow是Theano的改進(jìn)版,它提供了更靈活和好用的API??梢杂糜诳蒲泻凸I(yè)界,同時(shí)支持使用大量的GPU進(jìn)行模型訓(xùn)練。TensorFlow支持的操作沒有Theano多,但是它的計(jì)算可視化比Theano好。
TensorFlow目前非常流行。如果今天這篇文章里面提到的名字你只聽說了一個(gè),那很有可能是這個(gè)。每天都有新的提到TensorFlow的博文或?qū)W術(shù)文章發(fā)表。這個(gè)流行度提供了大量的用戶和教程,新人很容易上手。
Keras
Keras是一個(gè)提供更高層神經(jīng)網(wǎng)絡(luò)API的庫,它可以基于Theano或者TensorFlow。它擁有這兩個(gè)庫強(qiáng)大的功能卻又同時(shí)大大地簡化了使用難度。它將用戶的體驗(yàn)放在首要地位,提供簡單的API和很有用的錯(cuò)誤信息。
同時(shí)Keras的設(shè)計(jì)基于模塊,這就使得你能自由組合不同的模型(神經(jīng)層,成本函數(shù)等等),而且模型的可擴(kuò)展性很好,因?yàn)槟阒恍枰唵蔚膶⑿履K跟已有的連起來即可。
有人覺得Keras太好用了,簡直就是在作弊。如果你開始用深度學(xué)習(xí),可以看看例子 和 文檔,對(duì)于你可以用它做什么有個(gè)數(shù)。如果你要學(xué)習(xí)使用它,可以從
這個(gè)教程開始。
兩個(gè)類似的庫有Lasagne 和 Blocks,
但它們只支持Theano。如果你試過了Keras但是你不喜歡它你可以試試這些其他的庫,也許它們更適合你。
PyTorch
還有一個(gè)有名的深度學(xué)習(xí)架構(gòu)是Torch,它是用Lua實(shí)現(xiàn)的。Facebook用Python實(shí)現(xiàn)了Torch,叫做PyTorch,并將它開源了。用這個(gè)庫你可以使用Torch使用的低層的庫,但是你可以使用Python而不是Lua。
PyTorch對(duì)查錯(cuò)的支持很好,這是因?yàn)門heano和TensorFlow使用符號(hào)計(jì)算而PyTorch則不是。使用符號(hào)計(jì)算就表明在一行代碼被解釋的時(shí)候,一個(gè)操作(x+y)并不會(huì)被執(zhí)行,在那之前,它必須先被編譯(解釋成CUDA或者C語言)。這就讓用Theano和TensorFlow的時(shí)候很難查錯(cuò),因?yàn)楹茈y把報(bào)錯(cuò)跟當(dāng)前的代碼聯(lián)系起來。這樣做有它的好處,不過查錯(cuò)簡單不在其中。
以上就是達(dá)內(nèi)科技的小編給大家整理的關(guān)于python的數(shù)據(jù)庫的內(nèi)容了,如果說你是0基礎(chǔ)想要學(xué)習(xí)python的話,那么達(dá)內(nèi)科技?xì)g迎大家來我們公司的python培訓(xùn)班進(jìn)行實(shí)地考察,也可以點(diǎn)擊我們文章下面的獲取試聽資格按鈕來獲取我們的python課程免費(fèi)試聽資格,在試聽中可以更加深入的了解我們達(dá)內(nèi)科技。