Q2:
我需要學編程嗎?

編程技能不應是阻擋學習數據科學的因素

數據科學分析方式

上一章我們看到了如何用不需編程的軟體快速的將數據圖像化。事實上,許多世界領導的數據科學軟體也都有介面化的軟體,試圖提供一個無需編程的分析環境。

簡單的來說,市面上的數據分析套裝軟體已經充分滿足的不會編程但需要分析數據的需求。以下我們就來實際操作來感受一下,究竟邊城有哪些好處,與學習的盲點。

Coding or not?

編程 (coding) 最大的好處就是,你可以執行所有你想對數據做的事。如下,按下 RUN 你可以在一組數字 1,3,5,7,11,99 中找到最大值。
list = [1,3,5,7,11,99] max(list)

這個比喻你也許會說很簡單,畢竟 Excel 也可以輕易做到。但試想如果你有一千萬比數據,然後在這一千萬比數據中找到前百分之20大的數值,Excel 也許就不是一個好的工具。如果再加上更多對數據的問題例如:什麼是最多相同的數值?有幾筆不一樣的數值?標準差與後25%平均等。

以下是我們用 Python 所繪出的2D圖形來檢視不同數據的分佈。

在初階數據科學的數據探索階段,我們必須對所搜集的數據進行各種統計上的搜索與驗證,來了解數據的集散程度、分佈、是否有異常值等等。這些量化的動作不是每個套裝軟體都能做的出來,所以最有效的方式還是以編程來解決。

需要學會哪些編程語言?

目前 Python 與 R 是數據科學中的主流編程語言。

Python 近年來發展非常迅速,在許多最新的論文中都可以看到 Python 的原始代碼。基於易於學習和使用的原因,它漸漸超越 R 成為數據科學首選的編程語言。Python 的使用者人數與社群也在不斷的增長,相輔相成之下,大量可用資源與數據庫的使用造就了數據科學編程的主流語言。

R 語言的發展與運用與 Python 十分相似,也有龐大的社群與使用者。許多傳統的統計研究與數據模型都是建立在 R 語言上,這就是為何許多學術界仍沿用 R 為主要語言的原因。

不過對於新手而言,選擇一個編程語言就夠了。因爲 Python 對於新手而言將對優於 R,許多好用數據科學的模組也被陸續開發出來,造就了 Python 快速成長的原因。

兩個語言都有好壞,事實上許多資深的 Python 使用者也都是從 R 的背景而來。如果你能熟悉一個語言,對於轉換成任何另一個語言就不是一件難事了。

為何大家都卡在第一步?

學習數據科學的編程語言,有一件事非常重要:

不要一開始就打開書從頭一頁一頁讀!因為數據科學所需要的編程技巧根本不需要你去精通一個語言。高手不是這樣讀出來的,而是透過解決一個一個問題後學會的。

這裡有兩件事情要釐清:

  1. 數據科學的編程不需要精通任一種語言。假設你選 Python,你不需要精通它,你只需要了解一部分就行。
  2. 最好的學習方式是透過練習,而不是學習從每個語言的功能與函數開始。

許多人都卡在這第一步,就放棄了對數據科學熱情,就是因為他們用了錯誤的方式。或是五姐了數據科學中的程式語言只是輔助的角色。

學一個程式語言的確很花時間與精力,但用對了方法你會覺得很有成就感,因為透過實際演練,你會看著自己如何又學會了一項數據科學的技巧。

諾亞方舟為您準備了一系列新手最佳的編程入門課程,篩選後先學習 Python 的必用功能,再透過練習加強對語言的實際認識。

開始你的旅程

希望你能用正確的方式開始學習程式語言。不論你用什麼語言,都請記得「透過實際練習」而非「一步步死記」程式語言的各種功能和函數。

如果您選擇 Python 作為主要編程語言,不仿試試以下課程 Pyhon 101 直接進入數據科學的領域。

數據科學 Part 2: Coding

Python 101