資料科學家在做什麼?Data Scientist 工作內容與3大核心技能

資料科學家(Data Scientist)收集和分析大量結構化和非結構化數據。資料科學家的角色結合了計算機科學、統計學和數學。他們分析、處理和建模數據,然後解釋結果,為公司制定可行的計劃。


資料科學家工作內容,從實際案例分析

資料科學家的工作主要為溝通、分析,提出解決方案,但具體怎麼執行?拆解實際案例,來看資料科學家一步步分析並解決商業問題的過程。

案例:老闆希望資料科學團隊做 Chatbot,如何反應?

資料科學家發現與解決問題的四步驟:

  1. 溝通需求與目標
  2. 拆解問題,不斷假設驗證
  3. 建立模型
  4. 模型迭代與優化

以下分別說明各步驟內容。

步驟一:溝通需求與目標

當別人提出需求時,很重要的一點是「先問他到底為什麼要做?」

溝通很重要,如果不了解背後動機,時間花了做出來對方不滿意,那就是兩敗俱傷。所以要先溝通需求,釐清原本的問題是什麼。

如果公司要做 Chatbot,有兩個可能性:

  1. 客服團隊成本太高,那麼 Chatbot 要解決的問題是降低成本
  2. 客服團隊的客服品質不好,那麼 Chatbot 要解決的問題是能提升品質

釐清需求後,要再了解對方的團隊是否有以前的資料可以用,如果沒有,就要從蒐集資料開始。

步驟二:拆解問題,不斷假設驗證

確定有資料後,接下來開始分析,根據目標提出假設。

比如目標是要提高客服品質,那首先要先用資料證明為何客服品質不好,如果沒有資料,就先蒐集資料,比如讓使用者填問卷,先確定這是團隊要解決的問題。

確定客服品質不好後,繼續假設:

  1. 客服品質不好,是因為跟 Chatbot 聊天要聊很多次問題才被解決嗎?如果是,那可能是對話的 Flow 設計有問題
  2. 或是 Chatbot 每次都不太懂使用者在講什麼?如果是,那可能是資料科學的模型精確度不高

若最後確定是第二點,Chatbot 每次都不太懂使用者在講什麼,那麼所謂不懂,是否有資料可以證明它真的不懂?有沒有實際數字可以衡量?

在這一步,需要不斷去拆解問題、提出假設,再用資料去驗證,最後才能找到問題的癥結點。

前兩步驟也是資料科學工作中花最多時間的步驟,溝通跟分析問題大概佔了 70%,剩下 30%  時間才是做模型。

免費點我下載數據技能路線指南

步驟三:建立模型

最後,當團隊取得共識,知道要解決的問題是什麼,有一個完整故事與邏輯證明每個流程是相關的,會開始提解決方案。

解決方案的第一版通常是確定問題的三個月後提出,下一步才是做模型。

如果這個問題是新的,沒解決過的問題,團隊會先做文獻綜述(Literature review),查看其他人的論文做過哪些嘗試,進而去選擇一個較好的方法,避免走錯路浪費時間。

開始建立 AI 模型時,第一步是做基準模型(Baseline Model),基準模型就是找一個方法很簡單但很可靠的方式,去初步驗證資料能不能用、資料品質如何,比如使用 XGBoost、Linear Regression 等。

當基準模型做好後,就不用擔心資料的問題了,接下來就可以專心把模型做好。

步驟四:模型迭代與優化

模型建立好之後,後續就是看需求方有沒有新的需求或方向,或團隊是否有更多時間把模型做得更好,成立長期的專案小組。

至於如何才算結案?

每個資料科學專案其實沒有結案的一天,取決於公司需求與資源,是否將模型從基本程度提升到更精確的水平,這其中可能是從花費三個月到三年的差異。

藉由上述案例分享呈現了資料科學家如何分析與解決商業問題。

數據分析 Data Analysis 怎麼做?資料分析 5 步驟


資料科學家需具備什麼核心技能與特質?

想成為資料科學家,常見入門背景有哪些?非相關科系,該從哪個方面切入學習?資料科學家的核心能力為何?

常見入門資料科學領域的三大背景

圖片來源:How to take on the Data Science career path right after college?

Data Science Society 文章提到的資料科學職涯路徑圖,說明最常入門資料科學的三大背景為:資訊科學、數學與統計、商業知識,因為資料科學家的工作會運用到溝通、分析與建立模型。

三者中最重要的為「數學與統計能力」。資料科學需要去摸索並解決問題,而怎麼做決定就需要統計能力。當看到一個問題,是否能用資料證明,它跟什麼是有相關的,或是做 A/B 測試時,知道要把 A/B 測試跑在多少人身上,能得到準確的估計結果。擁有數學與統計能力,才能真正做到資料導向的決策。

「所謂數學與統計能力,不用真的很厲害到數學家那種程度,但至少要有底子,例如不一定要會算信賴區間,但要知道這個概念是什麼。」

至於資訊科學或資工能力,主要在建立模型時會用到。想進入資料科學領域的工程師,可以選擇學 Python,因為 Python 有較多的網路資源。

上述背景知識有助於入門資料科學領域,而若想成為優秀的資料科學家,應具備的三大核心能力:

核心能力一:機器學習

機器學習是目前必備的硬技能,若沒有機器學習這項技能,不太可能做出解決方案,就算使用套件,也會需要懂機器學習,才能將資料處理的效能做到可以用。

核心能力二:批判性思考

批判性思考主要是辨識及分析問題的能力。當看到一個現象時,怎麼做假設並驗證,是否能問出有用的問題,最後解決掉。

比如很多時候模型的整體表現不錯,但一上線發現有點問題,這時候批判性思考很重要,要去找出什麼地方有錯,通常會去參考別人做錯的案例,但問題在於線上的資料,它沒有正確答案,會需要去思考各式各樣的環節,到底哪裡可能出錯。

核心能力三:溝通能力

資料科學家需具備良好的溝通能力,能夠用淺白的方式和他人清楚解釋及說明。

對於很多不懂資料科學的人,資料科學就像是一個黑盒子,很多時候對方在和資料科學家談話時,他其實是不信任的,因為他不知道資料科學家在做什麼。這時候溝通就很重要,要把你在做的事情,及為什麼這樣做,用白話的方式解釋清楚。


資料分析師、資料科學家、資料工程師,有何差異?

三者的差異簡單來講可分為:

  • 資料分析師:負責找到問題,是第一步(數據分析師的3個必備技能與工作內容
  • 資料科學家:在不知道解決方法的情況下,負責找出一個解法,在過程中也會用到分析
  • 資料工程師:在所有已知的解決方法中,挑選一個適合作法,每天都在做取捨

其中資料科學家,與資料工程師這兩個職位,通常在國外大公司如 Facebook、Google 通常沒有明確的區分,重點是聘你進去後能夠幫公司解決問題,如果本身有相關技能最好,沒有技能,有資源的公司也會讓你去學。

如果是比較小、資源不太充足的公司,就會很明確地說要什麼樣的人,因為他們已經有既有的問題在等你了。

資料科學家、資料分析師、資料工程師,實務上如何在資料團隊分工


想成為資料科學家,如何累積作品?

在資料科學社群平台 Kaggle 累積作品是蠻好的入門方式。很多人來應徵資料科學家時,會展示在 Kaggle 的作品、建了哪些 AI 模型。但要注意,更重要的是面試官想知道你如何去挖掘背後的問題,如何看待資料,你的想法與其他人有何差異。因此除了展示作品集外,還是要著重對問題本身的分析。


小結

資料科學家的工作,很高的佔比在於與人溝通需求、拆解及分析問題,其中會運用到溝通能力及批判性思考,並藉由數理與統計知識進行決策,最後,才是使用機器學習與技術能力建立模型,提出解決方案。

因此,想進入資料科學的領域,成為優秀的資料科學家,除了硬技能的掌握外,更需要擁有分析與拆解問題的思維,才能釐清問題的癥結點,提出最有效的解決方案。