一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

Python機器學習庫

大小:0.6 MB 人氣: 2017-10-13 需要積分:1
引言毫無疑問,神經(jīng)網(wǎng)絡機器學習在過去幾年一直是高科技領域最熱門的話題之一。這一點很容易看出,因為它們解決了很多真正有趣的用例,如語音識別、圖像識別、甚至是樂曲譜寫。因此,在這篇文章,我決定編制一份囊括一些很好的Python機器學習庫的清單,并將其張貼在下面。
  在我看來,Python是學習(和實現(xiàn))機器學習技術最好的語言之一,其原因主要有以下幾點:
  語言簡單:如今,Python成為新手程序員首選語言的主要原因是它擁有簡單的語法和龐大的社區(qū)。功能強大:語法簡單并不意味著它功能薄弱。Python同樣也是數(shù)據(jù)科學家和Web程序員最受歡迎的語言之一。Python社區(qū)所創(chuàng)建的庫可以讓你做任何你想做的事,包括機器學習。豐富的ML庫:目前有大量面向Python的機器學習庫。你可以根據(jù)你的使用情況、技術和需求從數(shù)百個庫中選擇最合適的一個。
  上面最后一點可以說是最重要的。驅(qū)動機器學習的算法相當復雜,包括了很多的數(shù)學知識,所以自己動手去實現(xiàn)它們(并保證其正常運行)將會是一件很困難的任務。幸運地是,有很多聰明的、有奉獻精神的人為我們做了這個困難的工作,因此我們只需要專注于手邊的應用程序即可。
  這并不是一個詳盡無遺的清單。有很多代碼并未在此列出,在這里我只會發(fā)布一些非常相關或知名的庫。下面,來看看這份清單吧。
  最受歡迎的庫我已經(jīng)對一些比較流行的庫和它們擅長的方向做了一個簡短的描述,在下一節(jié),我會給出一個更完整的項目列表。
  Tensorflow
  這是清單中最新的神經(jīng)網(wǎng)絡庫。在前幾天剛剛發(fā)行,Tensorflow是高級神經(jīng)網(wǎng)絡庫,可以幫助你設計你的網(wǎng)絡架構(gòu),避免出現(xiàn)低水平的細節(jié)錯誤。重點是允許你將計算表示成數(shù)據(jù)流圖,它更適合于解決復雜問題。
  此庫主要使用C++編寫,包括Python綁定,所以你不必擔心其性能問題。我最喜歡的一個特點是它靈活的體系結(jié)構(gòu),允許你使用相同的API將其部署到一個或多個CPUGPU的臺式機、服務器或者移動設備。有此功能的庫并不多,如果要說有,Tensorflow就是其一。
  它是為谷歌大腦項目開發(fā)的,目前已被數(shù)百名工程師使用,所以無須懷疑它是否能夠創(chuàng)造有趣的解決方案。
  盡管和其它的庫一樣,你可能必須花一些時間來學習它的API,但花掉的時間應該是很值得的。我只花了幾分鐘了解了一下它的核心功能,就已經(jīng)知道Tensorflow值得我花更多的時間讓我來實現(xiàn)我的網(wǎng)絡設計,而不僅僅是通過API來使用。
  擅長:神經(jīng)網(wǎng)絡網(wǎng)址:http://tensorflow.org/Github: https://github.com/tensorflow/tensorflow
  scikit-learn
  scikit-learn絕對是其中一個,如果不是最流行的,那么也算得上是所有語言中流行的機器學習庫之一。它擁有大量的數(shù)據(jù)挖掘和數(shù)據(jù)分析功能,使其成為研究人員和開發(fā)者的首選庫。
  其內(nèi)置了流行的NumPy、SciPy,matplotlib庫,因此對許多已經(jīng)使用這些庫的人來說就有一種熟悉的感覺。盡管與下面列出的其他庫相比,這個庫顯得水平層次略低,并傾向于作為許多其他機器學習實現(xiàn)的基礎。
  擅長:非常多網(wǎng)址:http://scikit-learn.org/Github: http://github.com/scikit-learn/scikit-learn
  Theano
  Theano是一個機器學習庫,允許你定義、優(yōu)化和評估涉及多維數(shù)組的數(shù)學表達式,這可能是其它庫開發(fā)商的一個挫折點。與scikit-learn一樣,Theano也很好地整合了NumPy庫。GPU的透明使用使得Theano可以快速并且無錯地設置,這對于那些初學者來說非常重要。然而有些人更多的是把它描述成一個研究工具,而不是當作產(chǎn)品來使用,因此要按需使用。
  Theano最好的功能之一是擁有優(yōu)秀的參考文檔和大量的教程。事實上,多虧了此庫的流行程度,使你在尋找資源的時候不會遇到太多的麻煩,比如如何得到你的模型以及運行等。
  擅長:神經(jīng)網(wǎng)絡和深度學習網(wǎng)址:http://deeplearning.net/software/theano/Github:https://github.com/Theano/Theano
  Pylearn2
  大多數(shù)Pylearn2的功能實際上都是建立在Theano之上,所以它有一個非常堅實的基礎。
  據(jù)Pylearn2網(wǎng)址介紹:
  Pylearn2不同于scikit-learn,Pylearn2旨在提供極大的靈活性,使研究者幾乎可以做任何想做的事情,而scikit-learn的目的是作為一個“黑盒”來工作,即使用戶不了解實現(xiàn)也能產(chǎn)生很好的結(jié)果。記住,Pylearn2在合適的時候會封裝其它的庫,如scikit-learn,所以在這里你不會得到100%用戶編寫的代碼。然而,這確實很好,因為大多數(shù)錯誤已經(jīng)被解決了。像Pylearn2這樣的封裝庫在此列表中有很重要的地位。
  擅長:神經(jīng)網(wǎng)絡網(wǎng)址:http://deeplearning.net/software/pylearn2/Github:http://github.com/lisa-lab/pylearn2
  Pyevolve
  神經(jīng)網(wǎng)絡研究更讓人興奮和不同的領域之一是遺傳算法。從根本上說,遺傳算法只是一個模擬自然選擇的啟發(fā)式搜索過程。本質(zhì)上它是在一些數(shù)據(jù)上測試神經(jīng)網(wǎng)絡,并從一個擬合函數(shù)中得到網(wǎng)絡性能的反饋。然后對網(wǎng)絡迭代地做小的、隨機的變化,再使用相同的數(shù)據(jù)進行測試。將具有高度擬合分數(shù)的網(wǎng)絡作為輸出,然后使其作為下一個網(wǎng)絡的父節(jié)點。
  Pyevolve提供了一個用于建立和執(zhí)行這類算法很棒的框架。作者曾表示,V0.6版本也支持遺傳編程,所以在不久的將來,該框架將更傾向于作為一個進化的計算框架,而不只是簡單地遺傳算法框架。
  擅長:遺傳算法的神經(jīng)網(wǎng)絡Github:https://github.com/perone/Pyevolve
  NuPIC
  Nupic是另一個庫,與標準的機器學習算法相比,它提供了一些不同的功能。它基于一個稱作層次時間記憶(HTM)的新皮層理論,。HTMs可以看作是一類神經(jīng)網(wǎng)絡,但在一些理論上有所不同。
  從根本上說,HTMs是一個分層的、基于時間的記憶系統(tǒng),可以接受各種數(shù)據(jù)。這意味著會成為一個新的計算框架,來模仿我們大腦中的記憶和計算是如何密不可分的。對于理論及其應用的詳細說明,請參閱 白皮書。
  擅長:HTMsGithub:http://github.com/numenta/nupic
  Pattern
  此庫更像是一個“全套”庫,因為它不僅提供了一些機器學習算法,而且還提供了工具來幫助你收集和分析數(shù)據(jù)。數(shù)據(jù)挖掘部分可以幫助你收集來自谷歌、推特和維基百科等網(wǎng)絡服務的數(shù)據(jù)。它也有一個Web爬蟲和HTML DOM解析器。“引入這些工具的優(yōu)點就是:在同一個程序中收集和訓練數(shù)據(jù)顯得更加容易。
  在文檔中有個很好的例子,使用一堆推文來訓練一個分類器,用來區(qū)分一個推文是“win”還是“fail”。
  from pattern.web import Twitter from pattern.en import tag from pattern.vector import KNN, count twitter, knn = Twitter(), KNN() for i in range(1, 3): for tweet in twitter.search(‘#win OR #fail’, start=i, count=100): s = tweet.text.lower() p = ‘#win’ in s and ‘WIN’ or ‘FAIL’ v = tag(s) v = [word for word, pos in v if pos == ‘JJ’] # JJ = adjective v = count(v) # {‘sweet’: 1} if v: knn.train(v, type=p) print knn.classify(‘sweet potato burger’) print knn.classify(‘stupid autocorrect’)
  首先使用twitter.search()通過標簽‘#win’和‘#fail’來收集推文數(shù)據(jù)。然后利用從推文中提取的形容詞來訓練一個K-近鄰(KNN)模型。經(jīng)過足夠的訓練,你會得到一個分類器。僅僅只需15行代碼,還不錯。
  擅長:自然語言處理(NLP)和分類。Github:http://github.com/clips/pattern
  Caffe
  Caffe是面向視覺應用領域的機器學習庫。你可能會用它來創(chuàng)建深度神經(jīng)網(wǎng)絡,識別圖像中的實體,甚至可以識別一個視覺樣式。
  Caffe提供GPU訓練的無縫集成,當你訓練圖像時極力推薦使用此庫。雖然Caffe似乎主要是面向?qū)W術和研究的,但它對用于生產(chǎn)使用的訓練模型同樣有足夠多的用途。
  擅長:神經(jīng)網(wǎng)絡/視覺深度學習網(wǎng)址:http://caffe.berkeleyvision.org/Github:https://github.com/BVLC/caffe
  其它知名庫
  這里還列出了一些其它面向Python的機器學習庫。其中一些庫與上述庫有著相同的功能,而另一些則有更窄小的目標或是更適合當作學習工具來使用。
  Nilearn基于scikit-learnGithub
  StatsmodelsGithub
  PyBrain (inactive)Github
  Fuel· Github
  BobGithub
  skdataGithub
  MILKGithub
  IEPYGithub
  QuepyGithub
  HebelGithub
  mlxtendGithub
  nolearn· Github
  RampGithub
  Feature ForgeGithub
  REPGithub
  Python-ELMGithub
  PythonXYWebsite
  XCSWebsite
  PyMLSourceForge
  MLPY (inactive)Website
  OrangeWebsite
  MonteGithub
  PYMVPAWebsite
  MDP (inactive)Github
  ShogunWebsite
  PyMCWebsite
  GensimWebsite
  NeurolabGithub
  FFnet (inactive)SourceForge
  LibSVMGithub
  SpearmintGithub
  ChainerGithub
  topikGithub
  CrabGithub
  CoverTreeGithub
  breze基于TheanoGithub
  deapGithub
  neurolabGithub
  SpearmintGithub
  yahmm· Github
  pydeepGithub
  AnnoyGithub
  neonGithub
  sentimentGithub
?

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?