99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀 2017年最流行的15個(gè)數(shù)據(jù)科學(xué)Python庫
2017年最流行的15個(gè)數(shù)據(jù)科學(xué)Python庫
2017-06-02
收藏
Python 近幾年在數(shù)據(jù)科學(xué)行業(yè)獲得了人們的極大青睞,各種資源也層出不窮。數(shù)據(jù)科學(xué)解決方案公司 ActiveWizards 近日根據(jù)他們自己的應(yīng)用開發(fā)經(jīng)驗(yàn),總結(jié)了數(shù)據(jù)科學(xué)家和工程師將在 2017 年最常使用的 Python 庫。

核心庫

1)NumPy 

地址:http://www.numpy.org

當(dāng)使用 Python 開始處理科學(xué)任務(wù)時(shí),不可避免地需要求助 Python 的 SciPy Stack,它是專門為 Python 中的科學(xué)計(jì)算而設(shè)計(jì)的軟件的集合(不要與 SciPy 混淆,它只是這個(gè) stack 的一部分,以及圍繞這個(gè) stack 的社區(qū))。這個(gè) stack 相當(dāng)龐大,其中有十幾個(gè)庫,所以我們想聚焦在核心包上(特別是最重要的)。

 NumPy(代表 Numerical Python)是構(gòu)建科學(xué)計(jì)算 stack 的最基礎(chǔ)的包。它為 Python 中的 n 維數(shù)組和矩陣的操作提供了大量有用的功能。該庫還提供了 NumPy 數(shù)組類型的數(shù)學(xué)運(yùn)算向量化,可以提升性能,從而加快執(zhí)行速度。

2)SciPy

地址:https://www.scipy.org

 SciPy 是一個(gè)工程和科學(xué)軟件庫。除此以外,你還要了解 SciPy Stack 和 SciPy 庫之間的區(qū)別。SciPy 包含線性代數(shù)、優(yōu)化、集成和統(tǒng)計(jì)的模塊。SciPy 庫的主要功能建立在 NumPy 的基礎(chǔ)之上,因此它的數(shù)組大量使用了 NumPy。它通過其特定的子模塊提供高效的數(shù)值例程操作,比如數(shù)值積分、優(yōu)化和許多其他例程。SciPy 的所有子模塊中的函數(shù)都有詳細(xì)的文檔,這也是一個(gè)優(yōu)勢(shì)。

3)Pandas

地址:http://pandas.pydata.org

 Pandas 是一個(gè) Python 包,旨在通過「標(biāo)記(labeled)」和「關(guān)系(relational)」數(shù)據(jù)進(jìn)行工作,簡單直觀。Pandas 是 data wrangling 的完美工具。它設(shè)計(jì)用于快速簡單的數(shù)據(jù)操作、聚合和可視化。庫中有兩個(gè)主要的數(shù)據(jù)結(jié)構(gòu):


Series:一維


Data Frames:二維

例如,當(dāng)你要從這兩種類型的結(jié)構(gòu)中接收到一個(gè)新的「Dataframe」類型的數(shù)據(jù)時(shí),你將通過傳遞一個(gè)「Series」來將一行添加到「Dataframe」中來接收這樣的 Dataframe:


這里只是一小撮你可以用 Pandas 做的事情:

· 輕松刪除并添加「Dataframe」中的列
· 將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為「Dataframe」對(duì)象
· 處理丟失數(shù)據(jù),表示為 NaN(Not a Number)
· 功能強(qiáng)大的分組

可視化

 4)Matplotlib 

地址:https://matplotlib.org

 Matplotlib 是另一個(gè) SciPy Stack 核心軟件包和另一個(gè) Python 庫,專為輕松生成簡單而強(qiáng)大的可視化而量身定制。它是一個(gè)頂尖的軟件,使得 Python(在 NumPy、SciPy 和 Pandas 的幫助下)成為 MatLab 或 Mathematica 等科學(xué)工具的顯著競爭對(duì)手。然而,這個(gè)庫比較底層,這意味著你需要編寫更多的代碼才能達(dá)到高級(jí)的可視化效果,通常會(huì)比使用更高級(jí)工具付出更多努力,但總的來說值得一試。花一點(diǎn)力氣,你就可以做到任何可視化:
· 線圖
· 散點(diǎn)圖
· 條形圖直方圖
· 餅狀圖
· 莖圖
· 輪廓圖
· 場圖
· 頻譜圖

還有使用 Matplotlib 創(chuàng)建標(biāo)簽、網(wǎng)格、圖例和許多其他格式化實(shí)體的功能?;旧?,一切都是可定制的。

該庫支持不同的平臺(tái),并可使用不同的 GUI 工具套件來描述所得到的可視化。許多不同的 IDE(如 IPython)都支持 Matplotlib 的功能。

還有一些額外的庫可以使可視化變得更加容易。



5)Seaborn

地址:https://seaborn.pydata.org

 Seaborn 主要關(guān)注統(tǒng)計(jì)模型的可視化;這種可視化包括熱度圖(heat map),可以總結(jié)數(shù)據(jù)但也描繪總體分布。Seaborn 基于 Matplotlib,并高度依賴于它。


 
6)Bokeh

地址:http://bokeh.pydata.org

Bokeh 也是一個(gè)很好的可視化庫,其目的是交互式可視化。與之前的庫相反,這個(gè)庫獨(dú)立于 Matplotlib。正如我們已經(jīng)提到的那樣,Bokeh 的重點(diǎn)是交互性,它通過現(xiàn)代瀏覽器以數(shù)據(jù)驅(qū)動(dòng)文檔(d3.js)的風(fēng)格呈現(xiàn)。



7)Plotly

地址:https://plot.ly

最后談?wù)?Plotly。它是一個(gè)基于 Web 的工具箱,用于構(gòu)建可視化,將 API 呈現(xiàn)給某些編程語言(其中包括 Python)。在 plot.ly 網(wǎng)站上有一些強(qiáng)大的、開箱即用的圖形。為了使用 Plotly,你需要設(shè)置你的 API 密鑰。圖形處理會(huì)放在服務(wù)器端,并在互聯(lián)網(wǎng)上發(fā)布,但也有一種方法可以避免這么做。



機(jī)器學(xué)習(xí)

 8)SciKit-Learn

地址:http://scikit-learn.org

 Scikits 是 SciPy Stack 的附加軟件包,專為特定功能(如圖像處理和輔助機(jī)器學(xué)習(xí))而設(shè)計(jì)。在后者方面,其中最突出的一個(gè)是 scikit-learn。該軟件包構(gòu)建于 SciPy 之上,并大量使用其數(shù)學(xué)操作。

 scikit-learn 有一個(gè)簡潔和一致的接口,可利用常見的機(jī)器學(xué)習(xí)算法,讓我們可以簡單地在生產(chǎn)中應(yīng)用機(jī)器學(xué)習(xí)。該庫結(jié)合了質(zhì)量很好的代碼和良好的文檔,易于使用且有著非常高的性能,是使用 Python 進(jìn)行機(jī)器學(xué)習(xí)的實(shí)際上的行業(yè)標(biāo)準(zhǔn)。

深度學(xué)習(xí)Keras / TensorFlow / Theano

深度學(xué)習(xí)方面,Python 中最突出和最方便的庫之一是 Keras,它可以在 TensorFlow 或者 Theano 之上運(yùn)行。讓我們來看一下它們的一些細(xì)節(jié)。

 9)Theano

地址:https://github.com/Theano

首先,讓我們談?wù)?Theano。Theano 是一個(gè) Python 包,它定義了與 NumPy 類似的多維數(shù)組,以及數(shù)學(xué)運(yùn)算和表達(dá)式。該庫是經(jīng)過編譯的,使其在所有架構(gòu)上能夠高效運(yùn)行。這個(gè)庫最初由蒙特利爾大學(xué)機(jī)器學(xué)習(xí)組開發(fā),主要是為了滿足機(jī)器學(xué)習(xí)的需求。

要注意的是,Theano 與 NumPy 在底層的操作上緊密集成。該庫還優(yōu)化了 GPU 和 CPU 的使用,使數(shù)據(jù)密集型計(jì)算的性能更快。

效率和穩(wěn)定性調(diào)整允許更精確的結(jié)果,即使是非常小的值也可以,例如,即使 x 很小,log(1+x) 也能得到很好的結(jié)果。

10)TensorFlow

地址:https://www.tensorflow.org

 TensorFlow 來自 Google 的開發(fā)人員,它是用于數(shù)據(jù)流圖計(jì)算的開源庫,專門為機(jī)器學(xué)習(xí)設(shè)計(jì)。它是為滿足 Google 對(duì)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的高要求而設(shè)計(jì)的,是基于神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)系統(tǒng) DistBelief 的繼任者。然而,TensorFlow 并不是谷歌的科學(xué)專用的——它也足以支持許多真實(shí)世界的應(yīng)用。

TensorFlow 的關(guān)鍵特征是其多層節(jié)點(diǎn)系統(tǒng),可以在大型數(shù)據(jù)集上快速訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)。這為 Google 的語音識(shí)別和圖像識(shí)別提供了支持。

11)Keras

地址:https://keras.io

最后,我們來看看 Keras。它是一個(gè)使用高層接口構(gòu)建神經(jīng)網(wǎng)絡(luò)的開源庫,它是用 Python 編寫的。它簡單易懂,具有高級(jí)可擴(kuò)展性。它使用 Theano 或 TensorFlow 作為后端,但 Microsoft 現(xiàn)在已將 CNTK(Microsoft 的認(rèn)知工具包)集成為新的后端。

其簡約的設(shè)計(jì)旨在通過建立緊湊型系統(tǒng)進(jìn)行快速和容易的實(shí)驗(yàn)。

Keras 極其容易上手,而且可以進(jìn)行快速的原型設(shè)計(jì)。它完全使用 Python 編寫的,所以本質(zhì)上很高層。它是高度模塊化和可擴(kuò)展的。盡管它簡單易用且面向高層,但 Keras 也非常深度和強(qiáng)大,足以用于嚴(yán)肅的建模。

Keras 的一般思想是基于神經(jīng)網(wǎng)絡(luò)的層,然后圍繞層構(gòu)建一切。數(shù)據(jù)以張量的形式進(jìn)行準(zhǔn)備,第一層負(fù)責(zé)輸入張量,最后一層用于輸出。模型構(gòu)建于兩者之間。

自然語言處理

 12)NLTK 

地址:http://www.nltk.org

這套庫的名稱是 Natural Language Toolkit(自然語言工具包),顧名思義,它可用于符號(hào)和統(tǒng)計(jì)自然語言處理的常見任務(wù)。NLTK 旨在促進(jìn) NLP 及相關(guān)領(lǐng)域(語言學(xué)、認(rèn)知科學(xué)和人工智能等)的教學(xué)和研究,目前正被重點(diǎn)關(guān)注。

NLTK 允許許多操作,例如文本標(biāo)記、分類和 tokenizing、命名實(shí)體識(shí)別、建立語語料庫樹(揭示句子間和句子內(nèi)的依存性)、詞干提取、語義推理。所有的構(gòu)建塊都可以為不同的任務(wù)構(gòu)建復(fù)雜的研究系統(tǒng),例如情緒分析、自動(dòng)摘要。

13)Gensim

地址:http://radimrehurek.com/gensim

這是一個(gè)用于 Python 的開源庫,實(shí)現(xiàn)了用于向量空間建模和主題建模的工具。這個(gè)庫為大文本進(jìn)行了有效的設(shè)計(jì),而不僅僅可以處理內(nèi)存中內(nèi)容。其通過廣泛使用 NumPy 數(shù)據(jù)結(jié)構(gòu)和 SciPy 操作而實(shí)現(xiàn)了效率。它既高效又易于使用。

 Gensim 的目標(biāo)是可以應(yīng)用原始的和非結(jié)構(gòu)化的數(shù)字文本。Gensim 實(shí)現(xiàn)了諸如分層 Dirichlet 進(jìn)程(HDP)、潛在語義分析(LSA)和潛在 Dirichlet 分配(LDA)等算法,還有 tf-idf、隨機(jī)投影、word2vec 和 document2vec,以便于檢查一組文檔(通常稱為語料庫)中文本的重復(fù)模式。所有這些算法是無監(jiān)督的——不需要任何參數(shù),唯一的輸入是語料庫。

數(shù)據(jù)挖掘與統(tǒng)計(jì)

 14)Scrapy 

地址:https://scrapy.org

 Scrapy 是用于從網(wǎng)絡(luò)檢索結(jié)構(gòu)化數(shù)據(jù)(如聯(lián)系人信息或 URL)的爬蟲程序(也稱為 spider bots)的庫。它是開源的,用 Python 編寫。它最初是為 scraping 設(shè)計(jì)的,正如其名字所示的那樣,但它現(xiàn)在已經(jīng)發(fā)展成了一個(gè)完整的框架,可以從 API 收集數(shù)據(jù),也可以用作通用的爬蟲。

該庫在接口設(shè)計(jì)上遵循著名的 Don』t Repeat Yourself 原則——提醒用戶編寫通用的可復(fù)用的代碼,因此可以用來開發(fā)和擴(kuò)展大型爬蟲。

Scrapy 的架構(gòu)圍繞 Spider 類構(gòu)建,該類包含了一套爬蟲所遵循的指令。

15)Statsmodels

地址:http://www.statsmodels.org

statsmodels 是一個(gè)用于 Python 的庫,正如你可能從名稱中猜出的那樣,其讓用戶能夠通過使用各種統(tǒng)計(jì)模型估計(jì)方法以及執(zhí)行統(tǒng)計(jì)斷言和分析來進(jìn)行數(shù)據(jù)探索。

許多有用的特征是描述性的,并可通過使用線性回歸模型、廣義線性模型、離散選擇模型、穩(wěn)健的線性模型、時(shí)序分析模型、各種估計(jì)器進(jìn)行統(tǒng)計(jì)。

該庫還提供了廣泛的繪圖函數(shù),專門用于統(tǒng)計(jì)分析和調(diào)整使用大數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)的良好性能。

結(jié)論

這個(gè)列表中的庫被很多數(shù)據(jù)科學(xué)家和工程師認(rèn)為是最頂級(jí)的,了解和熟悉它們是很有價(jià)值的。這里有這些庫在 GitHub 上活動(dòng)的詳細(xì)統(tǒng)計(jì):


當(dāng)然,這并不是一份完全詳盡的列表,還有其它很多值得關(guān)注的庫、工具包和框架。比如說用于特定任務(wù)的 SciKit 包,其中包括用于圖像的 SciKit-Image。如果你也有好想法,不妨與我們分享。

原文鏈接:https://medium.com/activewizards-machine-learning-company/top-15-python-libraries-for-data-science-in-in-2017-ab61b4f9b4a7


作者  Igor Bobriakov
編譯 機(jī)器之心 朱朝陽、吳攀
本文轉(zhuǎn)自機(jī)器之心,轉(zhuǎn)載需授權(quán)



數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }