學習數據科學那種編程語言最好?筆者建議先學習 R

剛學習數據科學 (Data Science) 的人都會問:哪種編程語言比較好呢?市場上有很多「需要懂得 R 或 Python」的招聘廣告,那個比較好?本中心的學生也問,為甚麼教 R 而不教 Python?這些問題都非常重要,筆者希望這篇文章能作一個完整的回答,對大家在學習數據科學的路上有助幫。

筆者之前曾翻譯了出自 365 Data Science – 2018 年數據科學家簡歷研究 這兩篇文章,知道數據科學家 (Data Scientist) 這個職位需要學習和使用多種編程語言。(點擊標題可以重温文章) 不僅 R 和 Python,還有如 Tableau,SPSS 等軟件系統。數據科學家可選擇工具和編程語言的範圍越來越廣。有這麼多的建議,如此多的材料,如此多的選擇,沒有任何人能保證你那一種是最好的。

先學習 R Programming

我們的時間是有限的,學習一門新的編程語言是一項耗費大量時間的投資,因此您需要考慮編程語言的可持續性。除了你是在某行業有特殊需要的工具和編程語言之外,筆者認為先學習 R 編程語言 (R Programming) 能為您帶來最好的時間投入回報。

原因有以下兩點:

第一:R 是數據科學界的 “通用語言”

R 編程語言不是唯一的語言,也不是每項工作的最佳工具。然而,它是最廣泛使用的。

R 在商界的廣泛性

R 是 Google 和 Facebook 的主要招聘條件之一。這兩間現代經濟中最好的公司中,他們的數據科學家團隊都使用 R。(如想了 Facebook 的團隊如何使用 R,可以查看 Solomon Messing 的博客。Solomon 是 Facebook 的數據科學家,他的博客文章證明 R 非常出色。)

正如 Revolution Analytics 指出 “ R 是微軟數據科學家的首選工具,他們將以 R 建立 machine learning 項目並應用於 Bing,Azure,Office 以及 Sales & Marketing 和財務部門的數據上。”

除 Google ,Facebook 和微軟等科技巨頭外,R 還廣泛應用於包括美國銀行,福特,TechCrunch,Uber 和 Trulia 在內的眾多公司之中。

R在學術界的地位

R 不僅僅是商界的工具。它在學術界的科學家和研究人員中非常受歡迎。因為 R 正是由統計學家開發的,在基因裏就包含了統計學術的架構和語言。幾乎所有學術界研究都用統計學工具和理論來作証明,R 成為了各個學術研究處理海量數據的重要工具。

R 在學術界的受重視的程度非常關鍵。你試想像,如果最優秀和最聰明的人在大學接受的都是 R 相關的訓練,這必然增加 R 在他們專業中的重要性。離開學術界進入工商業活動的學者、博士和研究人員們將創造一個圍繞 R 而設的社群和技術支援。

此外,隨著數據科學的成熟,商業領域的發展必定需要借助學術界數據科學家的研究,R 語能平滑的把學術研究所用的模型輸入商業研究和開發中。

第二:R 的適應能力

數據科學家這個專業崛起時間尚短,加上不同工業正緩慢地開始應用大數據 (Big Data) ,數據的模式和產量每天劇増,數據科學家在不同行業製作項目時所接觸的數據模式和應用情景可以說是千變萬化,因此不同的工具和編程語言應運而生。

對比其他編程語言,R 有其先天優勢 – R 是由統計學家開發,基因裏包含了統計學術的架構和語言。各行各業的數據都是以傳統統計學的方式來收集和處理的,因此 R 能接近無阻力地應用到各行各業的數據運用中。有統計學相關智識的工作人員更能在不用學習 R 的情況下讀懂 R 的結果。學習 R 能讓你快速掌握不同行業的數據處理、報告和溝通。

筆者是從大學和實驗室出身的數據科學家,曾參與多個橫跨醫療、零售、電訊、地產、市場營銷及慈善機構等項目。R 完整的數據處理和商業報告能力,讓筆者面對入何各方面的人都能做到有效溝通,大大增加了筆者接觸不同行業的適應力,開啟合作之門。

R VS Python,那個更好?

R 和 Python 間的選擇是筆者常接到的問題之一。正如筆者之前提及,兩者之間各有優劣,沒有人能保証最好,只有那個比較適合你。以一般情況下,即沒有任何特定需要下,筆者絕對建議先學 R 。但筆者知道如果不做個比較給大家了解,肯定認為筆者只為開班教 R 才這樣吹噓 R 的好處,所以筆者簡單說一下兩者的分別。

PYTHON 的優劣

Python 是由軟件工程師開發的通用服務編程語言,具有用於數學,統計和機器學習 (machine leaning) 的可靠編程庫。 Python 擁有一流的純機器學習和深度學習工具,但缺乏很多基礎設施,如計量經濟學和報告等通信工具。因此,Python 非常適合計算機科學家和軟件工程師。加上近年 Google 的加深投入,在機器學習 (machine leaning) 方面 Python 越來越受歡迎。

R 的優劣

R 是由科學家開發的統計編程語言,具有用於統計,機器學習 (machine leaning) 和數據科學 (data science) 的開源庫。由於其特定於主題的軟件包及其通信基礎設施的深入,R 非常適合商業應用。 R 包含涵蓋廣泛主題的軟件包,如計量經濟學,金融學和時間序列。 R 擁有一流的可視化,報告和交互性工具,這些工具對於企業和科學都同樣重要。因此,R 非常適合科學家,工程師和商業專業人士使用。當然,R 的廣泛性能和學術基因讓 R 需要多一點時間投入到學習上。

這樣看來,如果你是本身是 IT 相關行業並以機器學習 (machine leaning) 項目為主要工作,無疑選擇 Python 是最好的選擇。但是,想進入數據科學 (data science) 行業的新人和希望進修人士,懂得 R 擁有很大的優勢。只談香港而言,金融、零售、地產和服務業這些主要工業,R 都能輕鬆應對。

結論

R 具有性能廣泛的優勢和適應性,使其時間投入的回報非常高,也是進身商業領域的明顯選擇。 並不是說 Python 不是一個好的選擇,但是,對於廣泛的業務需求,R 更能勝任。如要進身數據科學 (data science) 行業,筆者主推 R 。


數據科學速成班

以專業 R coding 和 實用案例 為材料,助你在 30 天內掌握 Big Data (大數據) 和 A.I. (人工智能) 等複雜概念,並開始應用到你的個人及商業項目上。

導師:香港數據科學家 Warrington Hsu

學員:適合任何對數據科學有興趣的初學者 (沒有 coding 底子要求)