免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

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

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python常用的機器學習庫

Python常用的機器學習庫

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

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

這篇文章就列舉并描述Python的最有用的機器學習工具和庫。這個列表中,我們不要求這些庫是用Python寫的,只要有Python接口就夠了。

我們的目的不是列出Python中所有機器學習庫(搜索“機器學習”時Python包索引(PyPI)返回了139個結果),而是列出我們所知的有用并且維護良好的那些。

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

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

如果你擅長其他語言,但也想使用Python包,我們也簡單地描述如何與Python進行集成來使用這篇文章列出的庫。

Scikit-Learn

ScikitLearn7是我們在CBInsights選用的機器學習工具。我們用它進行分類、特征選擇、特征提取和聚集。

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

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

考慮到花在清理和構造數(shù)據(jù)的時間,使用這個庫會非常方便,因為它可以緊密集成到其他科學計算包上。

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

此外,如果你想快速對小數(shù)據(jù)集(toydataset)進行不同基準測試的話,它自帶的數(shù)據(jù)集模塊提供了常見和有用的數(shù)據(jù)集。你還可以根據(jù)這些數(shù)據(jù)集創(chuàng)建自己的小數(shù)據(jù)集,這樣在將模型應用到真實世界中之前,你可以按照自己的目的來檢驗模型是否符合期望。對參數(shù)最優(yōu)化和參數(shù)調(diào)整,它也提供了網(wǎng)格搜索和隨機搜索。

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

Statsmodels

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

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

PyMC

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

Shogun

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

Gensim

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

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

Orange

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

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

PyMVPA

PyMVPA是另一個統(tǒng)計學習庫,API上與Scikit-learn很像。包含交叉驗證和診斷工具,但是沒有Scikit-learn全面。

深度學習

盡管深度學習是機器學習的一個子節(jié),我們在這里創(chuàng)建單獨一節(jié)的原因是,它最新吸引了Google和Facebook人才招聘部門的很多注意。

Theano

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

PyLearn

還有另外一個基于Theano的庫,PyLearn2,它給Theano引入了模塊化和可配置性,你可以通過不同的配置文件來創(chuàng)建神經(jīng)網(wǎng)絡,這樣嘗試不同的參數(shù)會更容易。可以說,如果分離神經(jīng)網(wǎng)絡的參數(shù)和屬性到配置文件,它的模塊化能力更強大。

Decaf

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

Nolearn

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

OverFeat

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

Hebel

Hebel是另一個帶有GPU支持的神經(jīng)網(wǎng)絡庫,開箱可用。你可以通過YAML文件(與Pylearn2類似)決定神經(jīng)網(wǎng)絡的屬性,提供了將神級網(wǎng)絡和代碼友好分離的方式,可以快速地運行模型。由于開發(fā)不久,就深度和廣度上說,文檔很匱乏。就神經(jīng)網(wǎng)絡模型來說,也是有局限的,因為只支持一種神經(jīng)網(wǎng)絡模型(正向反饋,feed-forward)。

但是,它是用純Python編寫,將會是很友好的庫,因為包含很多實用函數(shù),比如調(diào)度器和監(jiān)視器,其他庫中我們并沒有發(fā)現(xiàn)這些功能。

Neurolab

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

與其他語言集成

你不了解Python但是很擅長其他語言?不要絕望!Python(還有其他)的一個強項就是它是一個完美的膠水語言,你可以使用自己常用的編程語言,通過Python來訪問這些庫。以下適合各種編程語言的包可以用于將其他語言與Python組合到一起:

R->RPython

Matlab->matpython

Java->Jython

Lua->LunaticPython

Julia->PyCall.jl

不活躍的庫

這些庫超過一年沒有發(fā)布任何更新,我們列出是因為你有可能會有用,但是這些庫不太可能會進行BUG修復,特別是未來進行增強。

MDP2MlPy

FFnet

PyBrain

以上內(nèi)容為大家介紹了Python常用的機器學習庫,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.em-kal.com/

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT