隨著大數(shù)據(jù)的熱潮不斷升溫壁却,幾乎各個領(lǐng)域都有洪水傾瀉般的信息涌來造锅,面對用戶成千上萬的瀏覽記錄态坦、記錄行為數(shù)據(jù)馏慨,如果就單純的Excel來進(jìn)行數(shù)據(jù)處理是遠(yuǎn)遠(yuǎn)不能滿足的。但如果只用一些操作軟件來分析姑隅,而不怎么如何用邏輯數(shù)據(jù)來分析的話写隶,那也只是簡單的數(shù)據(jù)處理。
替代性很高的工作粤策,而無法深入規(guī)劃策略的核心樟澜。
當(dāng)然,基本功是最不可忽略的環(huán)節(jié)叮盘,想要成為數(shù)據(jù)科學(xué)家秩贰,對于這幾個程序你應(yīng)該要有一定的認(rèn)識:
R
若要列出所有程序語言,你能忘記其他的沒關(guān)系柔吼,但最不能忘的就是R毒费。從1997年悄悄地出現(xiàn),最大的優(yōu)勢就是它免費(fèi)愈魏,為昂貴的統(tǒng)計(jì)軟件像是Matlab或SAS的另一種選擇觅玻。
但是在過去幾年來,它的身價大翻轉(zhuǎn)培漏,變成了資料科學(xué)界眼中的寶溪厘。不只是木訥的統(tǒng)計(jì)學(xué)家熟知它,包括WallStreet交易員牌柄、生物學(xué)家畸悬,以及硅谷開發(fā)者,他們都相當(dāng)熟悉R珊佣。多元化的公司像是Google蹋宦、Facebook、美國銀行以及NewYorkTimes通通都使用R咒锻,它的商業(yè)效用持續(xù)提高冷冗。
R的好處在于它簡單易上手,透過R惑艇,你可以從復(fù)雜的數(shù)據(jù)集中篩選你要的數(shù)據(jù)蒿辙,從復(fù)雜的模型函數(shù)中操作數(shù)據(jù),建立井然有序的圖表來呈現(xiàn)數(shù)字敦捧,這些都只需要幾行程序代碼就可以了须板,打個比方,它就像是好動版本的Excel兢卵。
R最棒的資產(chǎn)就是活躍的動態(tài)系統(tǒng)习瑰,R社群持續(xù)地增加新的軟件包,還有以內(nèi)建豐富的功能集為特點(diǎn)秽荤。目前估計(jì)已有超過200萬人使用R甜奄,最近的調(diào)查顯示柠横,R在數(shù)據(jù)科學(xué)界里,到目前為止最受歡迎的語言课兄,占了回復(fù)者的61%(緊追在后的是39%的Python)牍氛。
它也吸引了WallStreet的注目。傳統(tǒng)而言烟阐,證券分析師在Excel檔從白天看到晚上搬俊,但現(xiàn)在R在財(cái)務(wù)建模的使用率逐漸增加,特別是可視化工具蜒茄,美國銀行的副總裁NiallO’Conno說唉擂,「R讓我們俗氣的表格變得突出」。
在數(shù)據(jù)建模上檀葛,它正在往逐漸成熟的專業(yè)語言邁進(jìn)玩祟,雖然R仍受限于當(dāng)公司需要制造大規(guī)模的產(chǎn)品時,而有的人說他被其他語言篡奪地位了屿聋。
“R更有用的是在畫圖空扎,而不是建模∪蠹ィ”頂尖數(shù)據(jù)分析公司Metamarkets的CEO转锈,MichaelDriscoll表示,
“你不會在Google的網(wǎng)頁排名核心或是Facebook的朋友們推薦算法時看到R的蹤影楚殿,工程師會在R里建立一個原型黑忱,然后再到Java或Python里寫模型語法”。
舉一個使用R很有名的例子勒魔,在2010年時,PaulButler用R來建立Facebook的世界地圖菇曲,證明了這個語言有多豐富多強(qiáng)大的可視化數(shù)據(jù)能力冠绢,雖然他現(xiàn)在比以前更少使用R了。
“R已經(jīng)逐漸過時了常潮,在龐大的數(shù)據(jù)集底下它跑的慢又笨重”Butler說弟胀。
所以接下來他用什么呢?
Python
如果說R是神經(jīng)質(zhì)又令人喜愛的Geek,那Python就是隨和又好相處的女生喊式。
Python結(jié)合了R的快速孵户、處理復(fù)雜數(shù)據(jù)采礦的能力以及更務(wù)實(shí)的語言等各個特質(zhì),迅速地成為主流岔留,Python比起R夏哭,學(xué)起來更加簡單也更直觀,而且它的生態(tài)系統(tǒng)近幾年來不可思議地快速成長献联,在統(tǒng)計(jì)分析上比起R功能更強(qiáng)竖配。
Butler說何址,“過去兩年間,從R到Python地顯著改變进胯,就像是一個巨人不斷地推動向前進(jìn)”用爪。
在數(shù)據(jù)處理范疇內(nèi),通常在規(guī)模與復(fù)雜之間要有個取舍胁镐,而Python以折衷的姿態(tài)出現(xiàn)偎血。IPythonNotebook(記事本軟件)和NumPy被用來暫時存取較低負(fù)擔(dān)的工作量,然而Python對于中等規(guī)模的數(shù)據(jù)處理是相當(dāng)好的工具盯漂;Python擁有豐富的資料族颇玷,提供大量的工具包和統(tǒng)計(jì)特征。
美國銀行用Python來建立新產(chǎn)品和在銀行的基礎(chǔ)建設(shè)接口宠能,同時也處理財(cái)務(wù)數(shù)據(jù)亚隙,“Python是更廣泛又相當(dāng)有彈性,所以大家會對它趨之若鶩违崇“⑵”O(jiān)’Donnell如是說。
然而羞延,雖然它的優(yōu)點(diǎn)能夠彌補(bǔ)R的缺點(diǎn)渣淳,它仍然不是最高效能的語言,偶爾才能處理龐大規(guī)模伴箩、核心的基礎(chǔ)建設(shè)入愧。Driscoll是這么認(rèn)為的。
Julia
今日大多數(shù)的數(shù)據(jù)科學(xué)都是透過R嗤谚、Python棺蛛、Java、Matlab及SAS為主巩步,但仍然存在著鴻溝要去彌補(bǔ)旁赊,而這個時候,新進(jìn)者Julia看到了這個痛點(diǎn)椅野。
Julia仍太過于神秘而尚未被業(yè)界廣泛的采用终畅,但是當(dāng)談到它的潛力足以搶奪R和Python的寶座時,數(shù)據(jù)黑客也難以解釋竟闪。原因在于Julia是個高階离福、不可思議的快速和善于表達(dá)的語言,比起R要快的許多炼蛤,比起Python又有潛力處理更具規(guī)模的數(shù)據(jù)妖爷,也很容易上手。
“Julia會變的日漸重要理朋,最終赠涮,在R和Python可以做的事情在Julia也可以”子寓。Butler是這么認(rèn)為的。
就現(xiàn)在而言笋除,若要說Julia發(fā)展會倒退的原因斜友,大概就是它太年輕了。Julia的數(shù)據(jù)小區(qū)還在初始階段垃它,在它要能夠和R或Python競爭前鲜屏,它還需要更多的工具包和軟件包。
Driscoll說国拇,它就是因?yàn)樗贻p洛史,才會有可能變成主流又有前景糕韧。
Java
Driscoll說杆查,Java和以Java為基礎(chǔ)的架構(gòu),是由硅谷里最大的幾家科技公司的核心所建立的腋颠,如果你從Twitter务热、Linkedin或是Facebook里觀察忆嗜,你會發(fā)現(xiàn)Java對于所有數(shù)據(jù)工程基礎(chǔ)架構(gòu)而言,是非称槠瘢基礎(chǔ)的語言捆毫。
Java沒有和R和Python一樣好的可視化功能,它也不是統(tǒng)計(jì)建模的最佳工具冲甘,但是如果你需要建立一個龐大的系統(tǒng)绩卤、使用過去的原型,那Java通常會是你最基的選擇江醇。
Hadoop and Hive
為了迎合大量數(shù)據(jù)處理的需求濒憋,以Java為基礎(chǔ)的工具群興起。Hadoop為處理一批批數(shù)據(jù)處理陶夜,發(fā)展以Java為基礎(chǔ)的架構(gòu)關(guān)鍵跋炕;相較于其他處理工具,Hadoop慢許多律适,但是無比的準(zhǔn)確和可被后端數(shù)據(jù)庫分析廣泛使用。和Hive搭配的很好遏插,Hive是基于查詢的架構(gòu)下捂贿,運(yùn)作的相當(dāng)好。
Scala
又是另一個以Java為基礎(chǔ)的語言胳嘲,和Java很像厂僧,對任何想要進(jìn)行大規(guī)模的機(jī)械學(xué)習(xí)或是建立高階的算法,Scala會是逐漸興起的工具了牛。它是善于呈現(xiàn)且擁有建立可靠系統(tǒng)的能力颜屠。
“Java像是用鋼鐵建造的辰妙;Scala則是讓你能夠把它拿進(jìn)窯烤然后變成鋼的黏土”Driscoll說。
Kafka andStorm
說到當(dāng)你需要快速的甫窟、實(shí)時的分析時密浑,你會想到什么?Kafka將會是你的最佳伙伴。其實(shí)它已經(jīng)出現(xiàn)五年有了粗井,只是因?yàn)樽罱魈幚砼d起才變的越來越流行尔破。
Kafka是從Linkedin內(nèi)誕生的,是一個特別快速的查詢訊息系統(tǒng)浇衬。Kafka的缺點(diǎn)呢?就是它太快了懒构,因此在實(shí)時操作時它會犯錯,有時候會漏掉東西耘擂。
魚與熊掌不可兼得胆剧,「必須要在準(zhǔn)確度跟速度之間做一個選擇」,Driscoll說醉冤。所以全部在硅谷的科技大公司都利用兩個管道:用Kafka或Storm處理實(shí)時數(shù)據(jù)秩霍,接下來打開Hadoop處理一批批處理數(shù)據(jù)系統(tǒng),這樣聽起來有點(diǎn)麻煩又會有些慢冤灾,但好處是前域,它非常非常精準(zhǔn)。
Storm是另一個從Scala寫出來的架構(gòu)韵吨,在硅谷逐漸大幅增加它在串流處理的受歡迎程度匿垄,被Twitter并購,這并不意外归粉,因?yàn)門witter對快速事件處理有極大的興趣椿疗。
Matlab
Matlab可以說是歷久不衰,即使它標(biāo)價很高糠悼;在非常特定的利基市場它使用的相當(dāng)廣泛届榄,包括密集的研究機(jī)器學(xué)習(xí)、信號處理倔喂、圖像辨識等等铝条。
Octave
Octave和Matlab很像,除了它是免費(fèi)的之外席噩。然而班缰,在學(xué)術(shù)信號處理的圈子,幾乎都會提到它悼枢。
GO
GO是另一個逐漸興起的新進(jìn)者埠忘,從Google開發(fā)出來的,放寬點(diǎn)說,它是從C語言來的莹妒,并且在建立強(qiáng)大的基礎(chǔ)架構(gòu)上名船,漸漸地成為Java和Python的競爭者。
這么多的軟件可以使用旨怠,但我認(rèn)為不見得每個都一定要會才行渠驼,知道你的目標(biāo)和方向是什么,就選定一個最適合的工具使用吧!可以幫助你提升效率又達(dá)到精準(zhǔn)的結(jié)果运吓。