成為一名資料分析師的新手指導

HanKai發表於2015-03-05

本文是著名學習網站Udacity的資料分析基礎性文章。由於Udacity的就業導向,不同於單純介紹學習路徑,文章還從職業人士的角度講述資料分析的方方面面。文章同時附有視訊,不失為一篇好的介紹文。以下為小標題:

– 資料分析師們做些什麼?
– 如何在沒有相關正規教育經歷的情況下成為資料分析師?
– 一份能使你直通面試的簡歷
– 資料分析的概念
– 資料科學家是什麼?
– 機器學習和自動駕駛車輛
– 文化基因如何在Facebook上傳播?
– 什麼是資料角力?
– 學什麼?以什麼順序?
– 工具
– 資源

資料分析師幹什麼?

資料分析師的主要職責包括尋找、檢索、整理和傳遞從資料中來的見解。資料分析師也幫助報告和發現隱藏在資料潛在產品中的有意義的見解。從商業指標到使用者行為和產品表現,他們負責獲取、分析和報告範圍的資料。

舉個例子,職責可能涵蓋:

  • 書寫查詢從資料庫中檢索資料,和正確的利益相關者分享資料
  • 瀏覽使用者行為來尋找可以用來提升公司產品表現的見解或趨勢
  • 解釋A/B測試的結果,基於此結果做出產品推薦

在有(或無)正規教育的情況下這樣成為資料分析師

作為一名資料分析師,具有分析(數學/統計和程式設計)、溝通能力(展示/資料視覺化)、注重細節地解決問題的系統化途徑、和在商業文案中應用它們的能力等強大的組合能力。下面我們概述了一些你可以學習一些新技能的途徑。

網上有許多公開的資料集——它們是很好的資源,提供給你機會去建立有趣獨立專案的組合。我們在Mortar的朋友建立了一個主要列表,收錄了從當今這個領域最好的知名的一些資料科學家那裡找到的有趣資料集。

如果機器學習更符合你的風格,Kaggle競賽會是一個磨練你的技能和自我提升的好舞臺(一些公司招聘時搜尋Kaggle排行榜)。

如果你想通過資料視覺化展示你的發現,你可以在像Many EyesPlot.lyBlocks.io的網站上建立並與其他人分享有趣的視覺化。

想展示你的新技能和專案,你可以通過GitHub pages、WordPress、Medium或其他網頁或個人部落格平臺建立的網站來展示。

能使你獲得面試的技能組合

優秀的技能組合應該展現一系列專案和你學過的技能範圍

完美地,這些專案要展示你的:

  • 在R語言、Pandas、Numpy、Scipy、Scikit-Learn包或者相關資料分析工具方面的實踐經歷
  • 使用和整理大規模(太大而難以適合一個電子表格)、不相干的和(或)非結構化資料集的經歷
  • 機器學習和資料探勘技術的知識
  • 強大的問題解決、數學、統計和定量推理的技能

最重要的,這些專案應該展示你出色的溝通能力。特別地,顯示你能分析複雜資料集,尋找有趣的見解,用正確的商業文案清晰而簡潔地展示它們。

資料分析師的概念

視訊:資料科學家是什麼

瞭解資料科學家應該具有的能力。

視訊:機器學習和無人駕駛汽車

瞭解谷歌的無人駕駛汽車怎樣運用機器學習。

視訊:模仿因子怎麼通過Facebook傳播

瞭解模仿因子和它們怎樣在社交媒體中傳播

視訊:什麼是 Data Wrangling

瞭解它是什麼意思和它怎樣用於資料分析。

以什麼順序學習?

技能

如果你有興趣成為資料科學家,你應該在日常工作中勝任和能夠運用以下技能。

程式設計

作為資料分析師,具有程式設計能力很重要。曾經很多次你使用過非程式設計工具,如Excel,但是最好和最常用的一些工具,如Pandas、Numpy,以及其他一些庫,都是基於程式設計的。使用這些基於程式設計的工具,你能夠做更深入、更高效的分析。由於流行度高,Python和R都是很好的入門程式語言。

統計學

最低要求,你應該能理解基本的統計描述統計推斷。你應該理解分佈的不同型別,哪種統計檢驗適用於哪種文字,還要能夠在面試中解釋線性迴歸的基礎知識。

機器學習

如果你有大量資料,機器學習中的技術是難以置信的強大。你需要用這些資料去預測未來,或者給出合適的建議。你應該懂得一些最常用的監督學習和非監督學習的演算法(他們是兩種不同類別的機器學習演算法),比如k最近鄰演算法、支援向量機和k均值聚類。你可能不必懂得這些演算法背後的理論和實現細節,但知道什麼時候使用這些演算法很重要。

資料清理

在理想的世界裡,你面對的資料集是乾淨的、準備好進行分析的。然而,現實世界中,絕少是這樣的。你的資料集很可能缺失數值、格式錯誤、或者輸入錯誤。例如,讓我們討論一些日期,一些系統表示2014年9月1日為9.1.2014,其他一些系統會表示為09/01/2014。像這樣的情況,你的資料清理技能會派上用場。

溝通和資料視覺化

作為資料分析師,你的工作不僅要解釋資料,還要同其他利益相關者高效交流你的發現,這樣你就能幫他們做出資料提供的決策。許多利益相關者不會對你的分析背後的技術細節感興趣,這就是為什麼你能通過易於理解的途徑交流和展示你的發現很重要。

工具

這裡使你入門的是你要熟知的一些最流行的程式語言和工具。

  • Python或R:不僅僅是這些程式語言易於學習(相對於C來說),一些最流行的資料科學庫,從資料分析到資料視覺化,都是在這兩種程式語言之上建立的。
  • Pandas/Numpy/Scipy:Python資料科學庫中的三駕馬車一起工作真的很好。Pandas有助於結構化數值或時間系列資料,這樣資料就容易用於分析和處理。Numpy有助於實現許多常用的科學和數學運算,如矩陣乘法,所以你不必重複發明輪子。Scipy在Numpy基礎上擴充,包含很多比你能在Numpy找到的數學運算功能更完備的版本。
  • Scikit-Learn:機器學習演算法難以高效且正確地實現。Scikit-Learn是一個經過實戰測試的工具,它是一個已經為你實現了常用機器學習演算法的Python庫,從組合方法到k均值到SVM,它都有。
  • 當你準備建立一個指數尺度的散點圖和成千上萬的資料點,Mattplotib和Ggplot2應該是你要找的庫。他們分別是Python和R的實質上的繪圖視覺化標準庫。
  • 這是列表中僅有的JavaScript庫。如果你想建立靜態視覺化或圖形,Mattplotib和Ggplot2很棒。然而,如果你想建立互動式視覺化,例如當你的滑鼠停在圖形上,一些東西彈出,或改變形狀,D3.js是你要的庫。不過,你要使用一些HTML、CSS和JavaScript,所以在嘗試D3.js之前,確保複習一下你的前端web開發技能。

資源

我們的資料分析師微學位會幫助你學習上面列的所有技能,但也有其他很好的資源。下面是一些來自朋友的我們的最愛:

相關文章