久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python常用的機(jī)器學(xué)習(xí)庫(kù)

Python常用的機(jī)器學(xué)習(xí)庫(kù)

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-05 21:14:37 1699190077

Python在科學(xué)計(jì)算中用途廣泛:計(jì)算機(jī)視覺(jué)、人工智能、數(shù)學(xué)、天文等。它同樣適用于機(jī)器學(xué)習(xí)也是意料之中的事。

這篇文章就列舉并描述Python的最有用的機(jī)器學(xué)習(xí)工具和庫(kù)。這個(gè)列表中,我們不要求這些庫(kù)是用Python寫(xiě)的,只要有Python接口就夠了。

我們的目的不是列出Python中所有機(jī)器學(xué)習(xí)庫(kù)(搜索“機(jī)器學(xué)習(xí)”時(shí)Python包索引(PyPI)返回了139個(gè)結(jié)果),而是列出我們所知的有用并且維護(hù)良好的那些。

另外,盡管有些模塊可以用于多種機(jī)器學(xué)習(xí)任務(wù),我們只列出主要焦點(diǎn)在機(jī)器學(xué)習(xí)的庫(kù)。比如,雖然Scipy1包含一些聚類算法,但是它的主焦點(diǎn)不是機(jī)器學(xué)習(xí)而是全面的科學(xué)計(jì)算工具集。因此我們排除了Scipy(盡管我們也使用它!)。

另一個(gè)需要提到的是,我們同樣會(huì)根據(jù)與其他科學(xué)計(jì)算庫(kù)的集成效果來(lái)評(píng)估這些庫(kù),因?yàn)闄C(jī)器學(xué)習(xí)(有監(jiān)督的或者無(wú)監(jiān)督的)也是數(shù)據(jù)處理系統(tǒng)的一部分。如果你使用的庫(kù)與數(shù)據(jù)處理系統(tǒng)其他的庫(kù)不相配,你就要花大量時(shí)間創(chuàng)建不同庫(kù)之間的中間層。在工具集中有個(gè)很棒的庫(kù)很重要,但這個(gè)庫(kù)能與其他庫(kù)良好集成也同樣重要。

如果你擅長(zhǎng)其他語(yǔ)言,但也想使用Python包,我們也簡(jiǎn)單地描述如何與Python進(jìn)行集成來(lái)使用這篇文章列出的庫(kù)。

Scikit-Learn

ScikitLearn7是我們?cè)贑BInsights選用的機(jī)器學(xué)習(xí)工具。我們用它進(jìn)行分類、特征選擇、特征提取和聚集。

我們最愛(ài)的一點(diǎn)是它擁有易用的一致性API,并提供了**很多**開(kāi)箱可用的求值、診斷和交叉驗(yàn)證方法(是不是聽(tīng)起來(lái)很熟悉?Python也提供了“電池已備(譯注:指開(kāi)箱可用)”的方法)。錦上添花的是它底層使用Scipy數(shù)據(jù)結(jié)構(gòu),與Python中其余使用Scipy、Numpy、Pandas和Matplotlib進(jìn)行科學(xué)計(jì)算的部分適應(yīng)地很好。

因此,如果你想可視化分類器的性能(比如,使用精確率與反饋率(precision-recall)圖表,或者接收者操作特征(ReceiverOperatingCharacteristics,ROC)曲線),Matplotlib可以幫助進(jìn)行快速可視化。

考慮到花在清理和構(gòu)造數(shù)據(jù)的時(shí)間,使用這個(gè)庫(kù)會(huì)非常方便,因?yàn)樗梢跃o密集成到其他科學(xué)計(jì)算包上。

另外,它還包含有限的自然語(yǔ)言處理特征提取能力,以及詞袋(bagofwords)、tfidf(TermFrequencyInverseDocumentFrequency算法)、預(yù)處理(停用詞/stop-words,自定義預(yù)處理,分析器)。

此外,如果你想快速對(duì)小數(shù)據(jù)集(toydataset)進(jìn)行不同基準(zhǔn)測(cè)試的話,它自帶的數(shù)據(jù)集模塊提供了常見(jiàn)和有用的數(shù)據(jù)集。你還可以根據(jù)這些數(shù)據(jù)集創(chuàng)建自己的小數(shù)據(jù)集,這樣在將模型應(yīng)用到真實(shí)世界中之前,你可以按照自己的目的來(lái)檢驗(yàn)?zāi)P褪欠穹掀谕?。?duì)參數(shù)最優(yōu)化和參數(shù)調(diào)整,它也提供了網(wǎng)格搜索和隨機(jī)搜索。

如果沒(méi)有強(qiáng)大的社區(qū)支持,或者維護(hù)得不好,這些特性都不可能實(shí)現(xiàn)。我們期盼它的第一個(gè)穩(wěn)定發(fā)布版。

Statsmodels

Statsmodels是另一個(gè)聚焦在統(tǒng)計(jì)模型上的強(qiáng)大的庫(kù),主要用于預(yù)測(cè)性和探索性分析。如果你想擬合線性模型、進(jìn)行統(tǒng)計(jì)分析,或者預(yù)測(cè)性建模,那么Statsmodels非常適合。它提供的統(tǒng)計(jì)測(cè)試相當(dāng)全面,覆蓋了大部分情況的驗(yàn)證任務(wù)。

如果你是R或者S的用戶,它也提供了某些統(tǒng)計(jì)模型的R語(yǔ)法。它的模型同時(shí)也接受Numpy數(shù)組和Pandas數(shù)據(jù)幀,讓中間數(shù)據(jù)結(jié)構(gòu)成為過(guò)去!

PyMC

PyMC是做**貝葉斯曲線**的工具。它包含貝葉斯模型、統(tǒng)計(jì)分布和模型收斂的診斷工具,也包含一些層次模型。如果想進(jìn)行貝葉斯分析,你應(yīng)該看看。

Shogun

Shogun1是個(gè)聚焦在支持向量機(jī)(SupportVectorMachines,SVM)上的機(jī)器學(xué)習(xí)工具箱,用C++編寫(xiě)。它正處于積極開(kāi)發(fā)和維護(hù)中,提供了Python接口,也是文檔化最好的接口。但是,相對(duì)于Scikit-learn,我們發(fā)現(xiàn)它的API比較難用。而且,也沒(méi)提供很多開(kāi)箱可用的診斷和求值算法。但是,速度是個(gè)很大的優(yōu)勢(shì)。

Gensim

Gensim被定義為“人們的主題建模工具(topicmodelingforhumans)”。它的主頁(yè)上描述,其焦點(diǎn)是狄利克雷劃分(LatentDirichletAllocation,LDA)及變體。不同于其他包,它支持自然語(yǔ)言處理,能將NLP和其他機(jī)器學(xué)習(xí)算法更容易組合在一起。

如果你的領(lǐng)域在NLP,并想進(jìn)行聚集和基本的分類,你可以看看。目前,它們引入了Google的基于遞歸神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork)的文本表示法word2vec。這個(gè)庫(kù)只使用Python編寫(xiě)。

Orange

Orange是這篇文章列舉的所有庫(kù)中唯一帶有圖形用戶界面(GraphicalUserInterface,GUI)的。對(duì)分類、聚集和特征選擇方法而言,它是相當(dāng)全面的,還有些交叉驗(yàn)證的方法。在某些方面比Scikit-learn還要好(分類方法、一些預(yù)處理能力),但與其他科學(xué)計(jì)算系統(tǒng)(Numpy,Scipy,Matplotlib,Pandas)的適配上比不上Scikit-learn。

但是,包含GUI是個(gè)很重要的優(yōu)勢(shì)。你可以可視化交叉驗(yàn)證的結(jié)果、模型和特征選擇方法(某些功能需要安裝Graphviz)。對(duì)大多數(shù)算法,Orange都有自己的數(shù)據(jù)結(jié)構(gòu),所以你需要將數(shù)據(jù)包裝成Orange兼容的數(shù)據(jù)結(jié)構(gòu),這使得其學(xué)習(xí)曲線更陡。

PyMVPA

PyMVPA是另一個(gè)統(tǒng)計(jì)學(xué)習(xí)庫(kù),API上與Scikit-learn很像。包含交叉驗(yàn)證和診斷工具,但是沒(méi)有Scikit-learn全面。

深度學(xué)習(xí)

盡管深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子節(jié),我們?cè)谶@里創(chuàng)建單獨(dú)一節(jié)的原因是,它最新吸引了Google和Facebook人才招聘部門的很多注意。

Theano

Theano是最成熟的深度學(xué)習(xí)庫(kù)。它提供了不錯(cuò)的數(shù)據(jù)結(jié)構(gòu)(張量,tensor)來(lái)表示神經(jīng)網(wǎng)絡(luò)的層,對(duì)線性代數(shù)來(lái)說(shuō)很高效,與Numpy的數(shù)組類似。需要注意的是,它的API可能不是很直觀,用戶的學(xué)習(xí)曲線會(huì)很高。有很多基于Theano的庫(kù)都在利用其數(shù)據(jù)結(jié)構(gòu)。它同時(shí)支持開(kāi)箱可用的GPU編程。

PyLearn

還有另外一個(gè)基于Theano的庫(kù),PyLearn2,它給Theano引入了模塊化和可配置性,你可以通過(guò)不同的配置文件來(lái)創(chuàng)建神經(jīng)網(wǎng)絡(luò),這樣嘗試不同的參數(shù)會(huì)更容易??梢哉f(shuō),如果分離神經(jīng)網(wǎng)絡(luò)的參數(shù)和屬性到配置文件,它的模塊化能力更強(qiáng)大。

Decaf

Decaf是最近由UCBerkeley發(fā)布的深度學(xué)習(xí)庫(kù),在Imagenet分類挑戰(zhàn)中測(cè)試發(fā)現(xiàn),其神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)是很先進(jìn)的(stateofart)。

Nolearn

如果你想在深度學(xué)習(xí)中也能使用優(yōu)秀的Scikit-learn庫(kù)API,封裝了Decaf的Nolearn會(huì)讓你能夠更輕松地使用它。它是對(duì)Decaf的包裝,與Scikit-learn兼容(大部分),使得Decaf更不可思議。

OverFeat

OverFeat是最近貓vs.狗(kaggle挑戰(zhàn))4的勝利者,它使用C++編寫(xiě),也包含一個(gè)Python包裝器(還有Matlab和Lua)。通過(guò)Torch庫(kù)使用GPU,所以速度很快。也贏得了ImageNet分類的檢測(cè)和本地化挑戰(zhàn)。如果你的領(lǐng)域是計(jì)算機(jī)視覺(jué),你可能需要看看。

Hebel

Hebel是另一個(gè)帶有GPU支持的神經(jīng)網(wǎng)絡(luò)庫(kù),開(kāi)箱可用。你可以通過(guò)YAML文件(與Pylearn2類似)決定神經(jīng)網(wǎng)絡(luò)的屬性,提供了將神級(jí)網(wǎng)絡(luò)和代碼友好分離的方式,可以快速地運(yùn)行模型。由于開(kāi)發(fā)不久,就深度和廣度上說(shuō),文檔很匱乏。就神經(jīng)網(wǎng)絡(luò)模型來(lái)說(shuō),也是有局限的,因?yàn)橹恢С忠环N神經(jīng)網(wǎng)絡(luò)模型(正向反饋,feed-forward)。

但是,它是用純Python編寫(xiě),將會(huì)是很友好的庫(kù),因?yàn)榘芏鄬?shí)用函數(shù),比如調(diào)度器和監(jiān)視器,其他庫(kù)中我們并沒(méi)有發(fā)現(xiàn)這些功能。

Neurolab

NeuroLab是另一個(gè)API友好(與Matlabapi類似)的神經(jīng)網(wǎng)絡(luò)庫(kù)。與其他庫(kù)不同,它包含遞歸神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)實(shí)現(xiàn)的不同變體。如果你想使用RNN,這個(gè)庫(kù)是同類API中最好的選擇之一。

與其他語(yǔ)言集成

你不了解Python但是很擅長(zhǎng)其他語(yǔ)言?不要絕望!Python(還有其他)的一個(gè)強(qiáng)項(xiàng)就是它是一個(gè)完美的膠水語(yǔ)言,你可以使用自己常用的編程語(yǔ)言,通過(guò)Python來(lái)訪問(wèn)這些庫(kù)。以下適合各種編程語(yǔ)言的包可以用于將其他語(yǔ)言與Python組合到一起:

R->RPython

Matlab->matpython

Java->Jython

Lua->LunaticPython

Julia->PyCall.jl

不活躍的庫(kù)

這些庫(kù)超過(guò)一年沒(méi)有發(fā)布任何更新,我們列出是因?yàn)槟阌锌赡軙?huì)有用,但是這些庫(kù)不太可能會(huì)進(jìn)行BUG修復(fù),特別是未來(lái)進(jìn)行增強(qiáng)。

MDP2MlPy

FFnet

PyBrain

以上內(nèi)容為大家介紹了Python常用的機(jī)器學(xué)習(xí)庫(kù),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python標(biāo)準(zhǔn)庫(kù)主要有哪些功能?

眾所周知,Python標(biāo)準(zhǔn)庫(kù)非常龐大,可以幫助處理各種各樣的工作,從而提高效率、節(jié)省成本。那么你對(duì)Python標(biāo)準(zhǔn)庫(kù)了解多少呢?你知道Python標(biāo)準(zhǔn)庫(kù)...詳情>>

2023-11-05 23:38:38
用Python編寫(xiě)代碼時(shí)有哪些有用的技巧?

不知道吧,使用Python編寫(xiě)代碼時(shí),有一些小技巧可以大幅度提升我們的工作效率和開(kāi)發(fā)效率,而且這些技巧很簡(jiǎn)單,只需要在編寫(xiě)代碼時(shí)稍微注意一下...詳情>>

2023-11-05 22:48:14
python基礎(chǔ)入門之設(shè)計(jì)URL方案

DjangoURL分發(fā)系統(tǒng)使用了正則表達(dá)式配置模塊,它可以將URL字符串模式映射為Python方法views。這個(gè)系統(tǒng)允許URL與底層代碼完全脫節(jié),從而實(shí)現(xiàn)最大...詳情>>

2023-11-05 22:37:26
Python的編程語(yǔ)言

一、Python編程語(yǔ)言的優(yōu)點(diǎn)有哪些?1.Python是一種腳本語(yǔ)言,寫(xiě)好了就可以直接運(yùn)行,省去了編譯鏈接的麻煩,對(duì)于需要多動(dòng)手實(shí)踐的初學(xué)者而言,也...詳情>>

2023-11-05 22:33:50
python五大異常處理機(jī)制

??我們明白了什么是異常后,那么發(fā)現(xiàn)異常后怎么處理,便是我們接下來(lái)要解決的問(wèn)題。這里將處理異常的方式總結(jié)為五種。1、默認(rèn)異常處理機(jī)制“...詳情>>

2023-11-05 22:15:50
快速通道