
在巨大的數(shù)據(jù)集中進(jìn)行篩選的最好工具是什么?通過(guò)和數(shù)據(jù)駭客的交流,我們知道了他們用于硬核數(shù)據(jù)分析最喜歡的語(yǔ)言和工具包。
在這些語(yǔ)言名單中,如果R語(yǔ)言排第二,那就沒其他能排第一。自1997年以來(lái),作為昂貴的統(tǒng)計(jì)軟件,如Matlab和SAS的免費(fèi)替代品,它漸漸風(fēng)靡全球。
在過(guò)去的幾年時(shí)間中,R語(yǔ)言已經(jīng)成為了數(shù)據(jù)科學(xué)的寵兒——數(shù)據(jù)科學(xué)現(xiàn)在不僅僅在書呆子一樣的統(tǒng)計(jì)學(xué)家中人盡皆知,而且也為華爾街交易員,生物學(xué)家,和硅谷開發(fā)者所家喻戶曉。各種行業(yè)的公司,例如Google,F(xiàn)acebook,美國(guó)銀行,以及紐約時(shí)報(bào)都使用R語(yǔ)言,R語(yǔ)言正在商業(yè)用途上持續(xù)蔓延和擴(kuò)散。
R語(yǔ)言有著簡(jiǎn)單而明顯的吸引力。使用R語(yǔ)言,只需要短短的幾行代碼,你就可以在復(fù)雜的數(shù)據(jù)集中篩選,通過(guò)先進(jìn)的建模函數(shù)處理數(shù)據(jù),以及創(chuàng)建平整的圖形來(lái)代表數(shù)字。它被比喻為是Excel的一個(gè)極度活躍版本。
R語(yǔ)言最偉大的資本是已圍繞它開發(fā)的充滿活力的生態(tài)系統(tǒng):R語(yǔ)言社區(qū)總是在不斷地添加新的軟件包和功能到它已經(jīng)相當(dāng)豐富的功能集中。據(jù)估計(jì),超過(guò)200萬(wàn)的人使用R語(yǔ)言,并且最近的一次投票表明,R語(yǔ)言是迄今為止在科學(xué)數(shù)據(jù)中最流行的語(yǔ)言,被61%的受訪者使用(其次是Python,39%)。
此外,它的身影也漸漸出現(xiàn)在了華爾街。以前,銀行分析師會(huì)全神貫注于Excel文件直到深夜,但現(xiàn)在R語(yǔ)言被越來(lái)越多地用于金融建模R,特別是作為一種可視化工具,Niall O’Connor,美國(guó)銀行的副總裁如是說(shuō)。 “R語(yǔ)言使我們平凡的表格與眾不同,”他說(shuō)。
R語(yǔ)言的日漸成熟,使得它成為了數(shù)據(jù)建模的首選語(yǔ)言,雖然當(dāng)企業(yè)需要生產(chǎn)大型產(chǎn)品時(shí)它的能力會(huì)變得有限,也有的人說(shuō)這是因?yàn)樗牡匚徽诒黄渌Z(yǔ)言篡奪。
“R更適合于做一個(gè)草圖和大概,而不是詳細(xì)的構(gòu)建,”Michael Driscoll,Metamarkets的首席執(zhí)行官說(shuō)。 “你不會(huì)在谷歌的網(wǎng)頁(yè)排名以及Facebook的朋友推薦算法的核心找到R語(yǔ)言。工程師會(huì)用R語(yǔ)言做原型,然后移交給用Java或Python寫的模型?!?/span>
話說(shuō)回來(lái),早在2010年,Paul Butler就以R語(yǔ)言打造了全球的Facebook地圖而著名,這證明了該語(yǔ)言豐富的可視化功能。盡管他現(xiàn)在已經(jīng)不像以前那樣頻繁地使用R語(yǔ)言了。
“R正在一點(diǎn)點(diǎn)地過(guò)時(shí),因?yàn)樗木徛吞幚泶笮蛿?shù)據(jù)集的笨重,”Butler說(shuō)。
那么,他使用什么代替呢?請(qǐng)繼續(xù)閱往下看。
Python
如果說(shuō)R語(yǔ)言是一個(gè)神經(jīng)質(zhì)又可愛的高手,那么Python是它隨和又靈活的表兄弟。作為一種結(jié)合了R語(yǔ)言快速對(duì)復(fù)雜數(shù)據(jù)進(jìn)行挖掘的能力并構(gòu)建產(chǎn)品的更實(shí)用語(yǔ)言,Python迅速得到了主流的吸引力。Python是直觀的,并且比R語(yǔ)言更易于學(xué)習(xí),以及它的生態(tài)系統(tǒng)近年來(lái)急劇增長(zhǎng),使得它更能夠用于先前為R語(yǔ)言保留的統(tǒng)計(jì)分析。
“這是這個(gè)行業(yè)的進(jìn)步。在過(guò)去的兩年時(shí)間中,從R語(yǔ)言到Python已經(jīng)發(fā)生了非常明顯的轉(zhuǎn)變,”Butler說(shuō)。
在數(shù)據(jù)處理中,在規(guī)模和復(fù)雜性之間往往會(huì)有一個(gè)權(quán)衡,于是Python成為了一種折中方案。IPython notebook和NumPy可以用作輕便工作的一種暫存器,而Python可以作為中等規(guī)模數(shù)據(jù)處理的強(qiáng)大工具。豐富的數(shù)據(jù)社區(qū),也是Python的優(yōu)勢(shì),因?yàn)榭梢蕴峁┝舜罅康墓ぞ甙凸δ堋?/span>
美國(guó)銀行使用Python在銀行的基礎(chǔ)架構(gòu)中構(gòu)建新的產(chǎn)品和接口,同時(shí)也用Python處理財(cái)務(wù)數(shù)據(jù)?!癙ython廣泛而靈活,因此人們趨之若鶩,”O(jiān)’Donnell說(shuō)。
不過(guò),它并非最高性能的語(yǔ)言,只能偶爾用于大規(guī)模的核心基礎(chǔ)設(shè)施,Driscoll這樣說(shuō)道。
Julia
雖然當(dāng)前的數(shù)據(jù)科學(xué)絕大多數(shù)是通過(guò)R語(yǔ)言,Python,Java,MatLab和SAS執(zhí)行的。但依然有其他的語(yǔ)言存活于夾縫中,Julia就是值得一看的后起之秀。
業(yè)界普遍認(rèn)為Julia過(guò)于晦澀難懂。但數(shù)據(jù)駭客在談到它取代R和Python的潛力時(shí)會(huì)不由得眉飛色舞。Julia是一種高層次的,極度快速的表達(dá)性語(yǔ)言。它比R語(yǔ)言快,比Python更可擴(kuò)展,且相當(dāng)簡(jiǎn)單易學(xué)。
“它正在一步步成長(zhǎng)。最終,使用Julia,你就能夠辦到任何用R和Python可以做到的事情,”Butler說(shuō)。
但是至今為止,年輕人對(duì)Julia依然猶豫不前。Julia數(shù)據(jù)社區(qū)還處于早期階段,要能夠和R語(yǔ)言和Python競(jìng)爭(zhēng),它還需要添加更多的軟件包和工具。
“它還很年輕,但它正在掀起浪潮并且非常有前途,”Driscoll說(shuō)。
JAVA
Java,以及基于Java的框架,被發(fā)現(xiàn)儼然成為了硅谷最大的那些高科技公司的骨骼支架。 “如果你去看Twitter,LinkedIn和Facebook,那么你會(huì)發(fā)現(xiàn),Java是它們所有數(shù)據(jù)工程基礎(chǔ)設(shè)施的基礎(chǔ)語(yǔ)言,”Driscoll說(shuō)。
Java不能提供R和Python同樣質(zhì)量的可視化,并且它并非統(tǒng)計(jì)建模的最佳選擇。但是,如果你移動(dòng)到過(guò)去的原型制作并需要建立大型系統(tǒng),那么Java往往是你的最佳選擇。
hadoop 和 Hive
一群基于Java的工具被開發(fā)出來(lái)以滿足數(shù)據(jù)處理的巨大需求。Hadoop作為首選的基于Java的框架用于批處理數(shù)據(jù)已經(jīng)點(diǎn)燃了大家的熱情。Hadoop比其他一些處理工具慢,但它出奇的準(zhǔn)確,因此被廣泛用于后端分析。它和Hive——一個(gè)基于查詢并且運(yùn)行在頂部的框架可以很好地結(jié)對(duì)工作。
Scala
Scala是另一種基于Java的語(yǔ)言,并且和Java相同的是,它正日益成為大規(guī)模機(jī)器學(xué)習(xí),或構(gòu)建高層次算法的工具。它富有表現(xiàn)力,并且還能夠構(gòu)建健壯的系統(tǒng)。
“Java就像是建造時(shí)的鋼鐵,而Scala則像黏土,因?yàn)槟阒罂梢詫⒅湃敫G內(nèi)轉(zhuǎn)變成鋼鐵,”Driscoll說(shuō)。
Kafka 和 Storm
那么,當(dāng)你需要快速實(shí)時(shí)的分析時(shí)又該怎么辦呢?Kafka會(huì)成為你的好朋友。它大概5年前就已經(jīng)出現(xiàn)了,但是直到最近才成為流處理的流行框架。
Kafka,誕生于LinkedIn內(nèi)部,是一個(gè)超快速的查詢消息系統(tǒng)。Kafka的缺點(diǎn)?好吧,它太快了。在實(shí)時(shí)操作時(shí)會(huì)導(dǎo)致自身出錯(cuò),并且偶爾地會(huì)遺漏東西。
“有精度和速度之間有一個(gè)權(quán)衡,”Driscoll說(shuō), “因此,硅谷所有的大型高科技公司都會(huì)使用兩條管道:Kafka或Storm用于實(shí)時(shí)處理,然后Hadoop用于批處理系統(tǒng),此時(shí)雖然是緩慢的但超級(jí)準(zhǔn)確?!?/span>
Storm是用Scala編寫的另一個(gè)框架,它在硅谷中因?yàn)榱魈幚矶艿搅舜罅康那嗖A。它被Twitter納入其中,勿庸置疑的,這樣一來(lái),Twitter就能在快速事件處理中得到巨大的裨益。
鼓勵(lì)獎(jiǎng)
MatLab
MatLab一直以來(lái)長(zhǎng)盛不衰,盡管它要價(jià)不菲,但它仍然被廣泛使用在一些非常特殊的領(lǐng)域:研究密集型機(jī)器學(xué)習(xí),信號(hào)處理,圖像識(shí)別,僅舉幾例。
Octave
Octave和MatLab非常相似,但它是免費(fèi)的。不過(guò),它在學(xué)術(shù)性信號(hào)處理圈子之外很少見到。
GO
GO是另一個(gè)正在掀起浪潮的后起之秀。它由Google開發(fā),從C語(yǔ)言松散地派生,并在構(gòu)建健壯基礎(chǔ)設(shè)施上,正在贏得競(jìng)爭(zhēng)對(duì)手,例如Java和Python的份額。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10