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