登录
首页精彩阅读面对大数据应理解基础程序
面对大数据应理解基础程序
2014-07-16
收藏


        隨著 Big Data 熱潮持續延燒,幾乎每個產業都有如洪水般傾瀉的資訊,面對上萬筆的顧客瀏覽紀錄,只有挖掘数据背后的价值才能让企业掌握了主动权,要想成为数据分析人员,我们必须要了解相关的学习软件。


R语言


若要列出所有程式語言,你能忘記其他的沒關係,但最不能忘的就是 R。從 1997 年悄悄地出現,最大的優勢就是它免費,為昂貴的統計軟體像是 Matlab 或 SAS 的另一種選擇。
但是在過去幾年來,它的身價大翻轉,變成了資料科學界眼中的寶。不只是木訥的統計學家熟知它,包括 Wall Street 交易員、生物學家,以及矽谷開發者,他們都相當熟悉 R。多元化的公司像是 Google、Facebook、美國銀行以及 New York Times 通通都使用 R,它的商業效用持續提高。
R 的好處在於它簡單易上手,透過 R,你可以從複雜的資料集中篩選你要的資料,從複雜的模型函數中操作資料,建立井然有序的圖表來呈現數字。


Python


如果說 R 是神經質又令人喜愛的 Geek,那 Python 就是隨和又好相處的女生。
Python 結合了 R 的快速、處理複雜資料採礦的能力以及更務實的語言等各個特質,迅速地成為主流,Python 比起 R,學起來更加簡單也更直觀,而且它的生態系統近幾年來不可思議地快速成長,在統計分析上比起 R 功能更強。
Butler 說,「過去兩年間,從 R 到 Python 地顯著改變,就像是一個巨人不斷地推動向前進」。
在資料處理範疇內,通常在規模與複雜之間要有個取捨,而 Python 以折衷的姿態出現。IPython Notebook(記事本軟體)和 NumPy 被用來暫時存取較低負擔的工作量,然而 Python 對於中等規模的資料處理是相當好的工具;Python 擁有豐富的資料族,提供大量的工具包和統計特徵。
美國銀行用 Python 來建立新產品和在銀行的基礎建設介面,同時也處理財務資料,「Python 是更廣泛又相當有彈性,所以大家會對它趨之若鶩。」O’Donnell 如是說。
然而,雖然它的優點能夠彌補 R 的缺點,它仍然不是最高效能的語言,偶爾才能處理龐大規模、核心的基礎建設。


Julia


今日大多數的資料科學都是透過 R、Python、Java、Matlab 及 SAS 為主,但仍然存在著鴻溝要去彌補,而這個時候,新進者 Julia 看到了這個痛點。
Julia 仍太過於神秘而尚未被業界廣泛的採用,但是當談到它的潛力足以搶奪 R 和 Python 的寶座時,資料駭客也難以解釋。原因在於 Julia 是個高階、不可思議的快速和善於表達的語言,比起 R 要快的許多,比起 Python 又有潛力處理更具規模的資料,也很容易上手。
「Julia 會變的日漸重要,最終,在 R 和 Python 可以做的事情在 Julia 也可以」。Butler 是這麼認為的。
就現在而言,若要說 Julia 發展會倒退的原因,大概就是它太年輕了。Julia 的資料社區還在初始階段,在它要能夠和 R 或 Python 競爭前,它還需要更多的工具包和軟件包。
Driscoll 說,它就是因為它年輕,才會有可能變成主流又有前景。


Java


Driscoll 說,Java 和以 Java 為基礎的架構,是由矽谷裡最大的幾家科技公司的核心所建立的,如果你從 Twitter、Linkedin 或是 Facebook 裡觀察,你會發現 Java 對於所有資料工程基礎架構而言,是非常基礎的語言。
Java 沒有和 R 和 Python 一樣好的視覺化功能,它也不是統計建模的最佳工具,但是如果你需要建立一個龐大的系統、使用過去的原型,那 Java 通常會是你最基的選擇。
Hadoop and Hive
為了迎合大量資料處理的需求,以 Java 為基礎的工具群興起。Hadoop 為處理一批批資料處理,發展以 Java 為基礎的架構關鍵;相較於其他處理工具,Hadoop 慢許多,但是無比的準確和可被後端資料庫分析廣泛使用。和 Hive 搭配的很好,Hive 是基於查詢的架構下,運作的相當好。


Scala


又是另一個以 Java 為基礎的語言,和 Java 很像,對任何想要進行大規模的機械學習或是建立高階的演算法,Scala 會是逐漸興起的工具。它是善於呈現且擁有建立可靠系統的能力。
「Java 像是用鋼鐵建造的;Scala 則是讓你能夠把它拿進窯烤然後變成鋼的黏土」Driscoll 說。


Kafka and Storm


說到當你需要快速的、實時的分析時,你會想到什麼?Kafka 將會是你的最佳夥伴。其實它已經出現五年有了,只是因為最近串流處理興起才變的越來越流行。
Kafka 是從 Linkedin 內誕生的,是一個特別快速的查詢訊息系統。Kafka 的缺點呢?就是它太快了,因此在實時操作時它會犯錯,有時候會漏掉東西。
魚與熊掌不可兼得,「必須要在準確度跟速度之間做一個選擇」,Driscoll 說。所以全部在矽谷的科技大公司都利用兩個管道:用 Kafka 或 Storm 處理實時數據,接下來打開 Hadoop 處理一批批處理資料系統,這樣聽起來有點麻煩又會有些慢,但好處是,它非常非常精準。
Storm 是另一個從 Scala 寫出來的架構,在矽谷逐漸大幅增加它在串流處理的受歡迎程度,被 Twitter 併購,這並不意外,因為 Twitter 對快速事件處理有極大的興趣。


Matlab


Matlab 可以說是歷久不衰,即使它標價很高;在非常特定的利基市場它使用的相當廣泛,包括密集的研究機器學習、信號處理、圖像辨識等等。

数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询