有關(guān)大數(shù)據(jù)的話題一直很火熱。伴隨著信息的爆炸式增長(zhǎng),大數(shù)據(jù)滲透到了各行各業(yè),廣泛應(yīng)用于公司中,同時(shí)也使得傳統(tǒng)的軟件比如 Excel 看起來(lái)很笨拙。數(shù)據(jù)分析不再只是書呆子的事,同時(shí)其對(duì)高復(fù)雜性分析、實(shí)時(shí)處理的需求也比以往更加龐大。
R 語(yǔ)言
這份名單如果不以 R 開頭,那就是徹頭徹尾的疏忽。自 1997 年起,作為一門免費(fèi)的,可替代 Matlab 或 SAS 等昂貴統(tǒng)計(jì)軟件的語(yǔ)言,R 被拋棄。
但是在過(guò)去的幾年中,它卻成了數(shù)據(jù)科學(xué)的寵兒—甚至成了統(tǒng)計(jì)學(xué)家、 華爾街交易員、生物學(xué)家和硅谷開發(fā)者必不可少的工具。 隨著其商業(yè)價(jià)值的不斷增長(zhǎng)和傳播,諸如谷歌、Facebook、 美國(guó)銀行和紐約時(shí)代周刊都在使用。
R 簡(jiǎn)單易用。通過(guò) R ,短短幾行代碼就可以篩選復(fù)雜的數(shù)據(jù)集,通過(guò)成熟的模型函數(shù)處理數(shù)據(jù),制作精美的圖表進(jìn)行數(shù)據(jù)可視化。簡(jiǎn)直就是 Excel 的加強(qiáng)靈活版。
R 最大的價(jià)值就是圍繞其開發(fā)的活躍的生態(tài)圈: R 社區(qū)在持續(xù)不斷地向現(xiàn)存豐富的函數(shù)集增添新的包和特性。據(jù)估計(jì) R 的使用者已經(jīng)超過(guò) 200 萬(wàn)人,最近的一項(xiàng) 調(diào)查也顯示 R目前是數(shù)據(jù)科學(xué)領(lǐng)域最受歡迎的語(yǔ)言,大約 61% 的受訪者使用 R(第二名是 Python, 占比39%)。
在華爾街,R 的使用比例也在不斷增長(zhǎng)。美國(guó)銀行副總裁Niall O’Connor 說(shuō):“以往,分析員通常是熬夜研究 Excel 文件,但是現(xiàn)在 R 正被逐漸地應(yīng)用于金融建模,尤其是作為可視化工具。R 促使了表格化分析的出局。”
作為一門數(shù)據(jù)建模語(yǔ)言, R 正在走向成熟,盡管在公司需要大規(guī)模產(chǎn)品的時(shí)候 R 能力有限,也有些人說(shuō)它已經(jīng)被其他語(yǔ)言替代了。
Metamarkets 公司的 CEO Michael Driscoll 說(shuō):“ R 擅長(zhǎng)的是勾畫,而不是搭建,在 Google 的 page rank 算法和 Facebook 的好友推薦算法實(shí)現(xiàn)的核心中是不會(huì)有 R 的。工程師會(huì)用 R 進(jìn)行原型設(shè)計(jì),再用 Java 或者 Python將其實(shí)現(xiàn)。”
Paul Butler 在 2010 年用 R 構(gòu)建了一個(gè)著名的 Facebook 世界地圖 ,證明了 R 在數(shù)據(jù)可視化上的強(qiáng)大能力。然而他并不經(jīng)常使用 R。
Butler 說(shuō):“由于在處理較大數(shù)據(jù)集時(shí)緩慢且笨拙,R 在行業(yè)中已經(jīng)有些淪為明日黃花了 ”
那么使用什么作為它的替代呢?看下去。
Python
如果 R 是個(gè)有點(diǎn)神經(jīng)質(zhì)的可愛的極客,那么 Python 就是它容易相處的歡快的表弟。融合了 R 快速成熟的數(shù)據(jù)挖掘能力以及更實(shí)際的產(chǎn)品構(gòu)建能力, Python 正迅速地獲得主流的呼聲。 Python 更直觀,且比 R 更易學(xué),近幾年其整體的生態(tài)系統(tǒng)發(fā)展也成長(zhǎng)得很快,使其在統(tǒng)計(jì)分析上的能力超越了之前的 R 語(yǔ)言。
Butler 說(shuō):“Python 是行業(yè)人員正在轉(zhuǎn)換發(fā)展的方向。過(guò)去兩年里,很明顯存在由 R 向 Python 轉(zhuǎn)化的趨勢(shì)”
在數(shù)據(jù)處理中,通常存在規(guī)模和技巧的權(quán)衡,Python 作為一個(gè)折中出現(xiàn)了。 IPython notebook 和NumPy 可以用于輕量工作的處理, 而 Python 則是中級(jí)規(guī)模數(shù)據(jù)處理的有力工具。豐富的數(shù)據(jù)交流社區(qū)也是 Python 的優(yōu)勢(shì),它提供了大量的Python 工具包和特性。
美國(guó)銀行利用 Python 開發(fā)新產(chǎn)品以及基礎(chǔ)設(shè)施接口,同時(shí)也用于處理金融數(shù)據(jù)。O’Donnell 說(shuō):“Python 用途寬廣且靈活,所以人們蜂擁而至”。
然而, Driscoll 也提到它并不是高性能的語(yǔ)言,偶爾才會(huì)用于裝配驅(qū)動(dòng)大規(guī)模的核心基礎(chǔ)設(shè)施。
JULIA
最主流的數(shù)據(jù)科學(xué)處理語(yǔ)言包括 R、 Python、 Java、 Matlab和 SAS。但是這些語(yǔ)言仍然存在一些不足之處,而Julia 正是待以觀察的新人。
對(duì)大規(guī)模商用來(lái)說(shuō), Julia 還是太晦澀了。但在談到其取代 R 和 Python 領(lǐng)先地位的潛力的時(shí)候,數(shù)據(jù)極客們都會(huì)變得很激動(dòng)。 Julia 是一門高級(jí)的,非常快的函數(shù)式語(yǔ)言。速度上比 R 快, 可能比 Python 的擴(kuò)展性更高,且相對(duì)易學(xué)。
Butler 說(shuō):“Julia 正在快速上升。最終將可以用 Julia 完成任何 R 和 Python 可以完成的事”。
如今的問題是 Julia 太“年輕”了。 其數(shù)據(jù)交流社區(qū)仍處在早期發(fā)展階段,在沒有足夠的包和工具之前是不足以與 R 和 Python 競(jìng)爭(zhēng)的。
Driscoll 說(shuō):“Julia 很年輕,但正在積攢力量而且未來(lái)很可觀”。