這週一樣會透過導讀一些優質文章,讓讀者了解 3 個問題:
- 為何一個專業的資料科學家需要具備「產品理解」?
- 何謂「顧客流失分析」?
- 我們該如何使用 Python(XGBoost)來建立簡單的預測模型以改善產品?
此外,我們也將簡單介紹在資料科學領域中逐漸崛起的「資料工程師」,其職責以及專精領域跟「資料科學家」有何不同。
最後也會分享一些與資料科學家/資料工程師相關的文章。
後文為了減少累贅,可能會穿插以下縮寫:
- 資料科學家 = Data Scientist = DS
- 資料工程師 = Data Engineer = DE
另外有興趣了解此文摘緣由的讀者可以參考前篇:資料科學文摘 Vol.1 AutoML、Airflow 及 DAU。
讓我們開始吧!
本週閱讀清單¶
- 產品理解
- Python、客戶流失預測
- DS / DE 相關
就跟以往一樣,儘管下文會依照此順序列出文章與摘要,你仍然點擊上面的任意門,從最有興趣的文章開始閱讀:)
作者闡述為何產品理解(Product Sense)對一個 DS 很重要,適合新手 DS 閱讀參考。
通常在企業裡頭,一個資料科學家要發揮最大的影響力,就是透過手上的資料,產生可執行的洞見(Actionable Insight),進而影響產品(Product)的發展方向。不管我們做了多少分析、多少層的神經網路模型,或是產生多少特徵值(Features),如果最後這些產物沒有對產品的發展有任何影響,一切都白搭。
我們可以透過深刻地了解自家產品(比方說使用自家的 App)、暸解競爭對手、與使用者直接溝通等方式,來培養「產品理解」。有了產品理解以後,甚至可以反過來幫助我們做特徵工程(Feature Engineering),知道在建立預測模型時什麼特徵會是重要的;還能培養從資料看不出來的敏銳直覺(intuition)。
理解產品的 DS 能同時從資料看出的趨勢以及業界直覺來改善產品並解決人們問題。
在 SmartNews,資料科學團隊也是在產品部門之下,與此有異曲同工之妙:)
Medium 的人說明他們在找的 Product Scientist 應該要有什麼特質:簡單來說就是有「產品理解」的 DS,能將資料轉換成更好的產品的人材。
一個好的 DS 需要強大的溝通能力來向其他人說明洞見、了解 A/B 測試的統計顯著性(statistical significance)、以及能合理地解釋 KPI 成長的背後因素。以及最重要的:你渴望改善某個產品。
最後一點大概是所有分析領域的人都不可或缺的:
你要先對某個產品抱持著熱情,才會想方設法地找出洞見並改善它。
不管是什麼領域的 DS,都要想辦法了解自家的產品,以提供可執行的洞見。反過來說,你應該選擇進入真的有興趣的公司 / 產業。老生常談:擇你所愛,愛你所擇。
這篇適合沒用過 XGBoost 也不熟悉 App 產業的讀者。
此文主要解釋了何謂客戶流失(Customer Churn)、如何利用 Python 來建立一個簡單的 XGBoost 模型,以及如何對一個簡單的資料集做預測。
就跟預測使用一個產品 / 服務的使用者人數相同,能準確預測有多少使用者會在什麼時候放棄使用某產品(Churn)這件事情,對了解一個產品(如手機 App)的發展趨勢是很重要的事情。如果我們把「預測使用者會不會放棄使用產品」這個問題視為一個二元分類問題:
- 1 = 客戶流失,停止使用某產品
- 0 = 客戶持續使用某產品
並使用如 XGBoost 等 tree-based 的模型的話,可以直接從模型中得到各個特徵的重要程度(Feature Importance),由此獲得改善產品功能的靈感 / 線索。這同時告訴我們一個重要的事情:
除了準確度,選擇解釋性高的預測模型可以讓 DS 更容易解釋模型給決策者並影響企業決策。
當然,如何定義何謂「客戶流失」就需要資料科學家掌握領域知識。另外值得注意的是,隨著產品功能的進化,客戶流失的定義也有可能跟著改變。
適合想成為資料工程師(DE)並對大數據處理有興趣的讀者。
不同於我們之前以 DS 的角度討論為何資料科學家需要了解資料工程,這篇直接以 DE 角度探討 DE 對企業的重要:處理大數據的能力。
以各別負責的領域來區分的話,DS 通常負責從資料找出可執行的洞見,DE 則是負責資料管道的開發以及保證數據品質。 儘管一個 DS 也需要具備基本的 ETL 素養以及資料清理能力,這些分析專家能提供最大的價值是在找出洞見,而不是清理資料。
因此稍具規模的公司都會尋找具備大數據處理能力(Spark、Flink、Kafka 等)的 DE 來處理數據,以讓 DS 能更專注在商業分析。
在資料科學領域越趨成熟的情況下, 我們需要更多 DE 與 DS 分工合作,以從海量數據中創造更大價值。
這篇適合想開始學習資料科學的讀者作為參考。
一個誤打誤撞,闖入資料科學世界的工程師述說他是如何從自學程式語言到成為一個資料科學家。列了一些他個人給新人的建議、不少線上課程以及值得追蹤的資料科學家們。
雖然每個人際遇不同,看完這篇可以確定的是,想要成為一個資料科學家絕對不是學完幾堂線上課程就可以了。關鍵在於持續學習新知。(這道理當然可以套用到各行各業上)
一個簡單的資料圖表說明新手 DS 常犯的 13 個錯誤。
每個項目值得一一查看,不過裡頭有幾點我認為值得特別強調:
- 資料科學在於應用。總是要想著該怎麼實際應用學到的知識,而不是死記硬背。
- 專注在能「解決什麼問題」,而不是該學什麼「工具」。
- 業界想要解決的問題不是你在線上課程學到的那麼單純。要解決一個真正的企業問題,你還需要培養資料工程、領域知識(Domain Knowledge)以及良好的溝通能力。
結語¶
這週我們學到在分析任何數據之前,為何理解產品對一個資料科學家來說非常重要;我們也看到一個簡單利用 Python 嘗試預測顧客流失的案例;最後我們看到資料工程師的崛起以及閱讀了 2 篇跟資料科學相關的文章。
程式能力以及分析能力固然重要,但對產品的理解、良好的溝通能力都是成為一個專業的 DS 不可不缺的能力。
閱讀完之後如果有任何想法,或者有其他想推薦給其他讀者們閱讀的文章,都歡迎在底下留言跟其他讀者們分享。
目前預計每週會發佈新文摘,不過當有別的系列文章要寫的話可能會順延一週。如果希望在新文摘出爐的時候馬上收到通知的話,可以點擊下面的訂閱:)
Stay tuned and happy data science!
跟資料科學相關的最新文章直接送到家。 只要加入訂閱名單,當新文章出爐時, 你將能馬上收到通知