想入門資料科學領域?明確方向更重要
作者 | Jeremie Harris
翻譯 | Mika
CDA 資料分析師原創作品,轉載需授權
我在一家資料科學培訓公司工作。對於學員,我常常給出的建議並不是推薦庫或者工具,而是讓他們首先明確自己想成為什麼樣的資料科學家,確定自己的方向。
當中的原因在於,資料科學並不是單一且定義明確的領域,公司並不會僱用所謂的全能型資料科學家,而是會選擇有擁專業技能的個人。
為了更好的理解,假設你們公司想聘請資料科學家。那麼,你們肯定有明確的問題需要解決,而這需要具體的技術知識和專業知識。例如,有些公司將簡單模型應用於大型資料集;有些公司將複雜模型應用於小型模型;有些公司需要動態訓練模型;有些公司根本不使用(傳統)模型。
以上這些都需要完全不同的技能。對於想進入資料科學領域的人群收到的建議往往是:學習使用Python,構建分類/迴歸/聚類等專案在開始找工作,這其實是不太合理的。
資料科學家在工作中承擔了很多責任。人們會將過多的內容歸入“資料科學”的範疇。為生產構建強大的資料管道,這應該是資料科學方面的問題。開發一種新的神經網路,這應該是資料科學方面的問題。
這種現象並不好,因為這會讓有抱負的資料科學家失去方向和對特定問題的關注。
為了避免成為全能型資料科學家,再次之前讓我們先了解資料科學領域主要有哪些職位,以及他們常常被混淆的原因:
1. 資料工程師
> 職位描述
為處理大量資料的公司管理資料管道。這意味著在資料需要從源頭進行有效地收集和檢索,而且在使用前需要進行清理和預處理。
> 重要性
如果你只使用過儲存在.csv或.txt檔案中的相對較小的資料集(小於5G),那麼你可能很難理解為什麼需要專人維護資料管道。
當中的原因在於:1)計算機很難承載大小為50 G的資料集,因此需要以其他方式將其提供給模型;2)大量資料可能需要花費大量時間來處理,並且經常需要冗餘儲存。進行管理儲存需要專業的技術知識。
> 技能要求
你需要使用Apache Spark、Hadoop、Hive和Kafka。還需要有紮實的SQL的基礎。
> 處理的問題
如何構建每分鐘能處理1萬個請求的管道?
如何在不將其全部載入到RAM的情況下清理該資料集?
2. 資料分析師
> 職位描述
將資料轉化為可操作的商業見解。你通常會成為技術團隊和商業策略業,銷售或營銷團隊之間的中間人。資料視覺化是你日常工作的重要組成部分。
> 重要性
有些人很難理解為什麼資料分析師如此重要,但他們確實如此。資料分析師需要將經過訓練和測試的模型,以及大量使用者資料轉換為易於理解的格式,以便轉化為圍商業策略。資料分析師幫助確保資料科學團隊不會浪費時間來解決無法提供商業價值的問題。
> 技能要求
技能包括Python,SQL,Tableau和Excel。你還需要出色的溝通能力。
> 處理的問題
是什麼帶來了使用者增長?
如何向管理層解釋最近的使用費讓使用者望而卻步?
3. 資料科學家
> 職位描述
清理和探索資料集,並進行能帶來商業價值的預測。你的日常工作包括訓練和優化模型,並將其部署到生產中。
> 重要性
當你有大量難以被解析的資料,你需要從中提取出可理解的分析見解。這是資料科學家的基本工作:將資料集轉換為易於理解的結論。
> 技能要求
包括Python、scikit-learn、Pandas、SQL、也許還需要掌握Flask、Spark、TensorFlow、PyTorch。有些資料科學職位純粹是技術性的,但大多數人要求你具備一定的商業意識。
> 處理的問題
我們有多少種不同的使用者型別?
是否能建立一個模型來預測哪些產品將銷售給哪些使用者?
4. 機器學習工程師
> 職位描述
構建、優化機器學習模型,以及部署到生產。你的工作離不開機器學習模型,而且需要將其放入全棧應用程式或硬體中,但也需要自己設計模型。
> 技能要求
需要掌握Python、Javascript、scikit-learn,TensorFlow 、PyTorch,以及SQL或MongoDB。
> 處理的問題
如何將此Keras模型整合到我們的Javascript應用程式中?
如何減少推薦系統的預測時間和預測成本?
5. 機器學習研究員
> 職位描述
找到解決資料科學和深度學習中的挑戰性問題的新方法。你不會使用開箱即用的解決方案,而是需要建立解決方案。
> 技能要求
需要用到Python、TensorFlow、PyTorch和SQL。
> 處理的問題
如何將模型的準確性提高到最高水平?
自定義優化器有助於減少訓練時間嗎?
結語
我在這裡列出的五個職位絕對不是孤立的。例如,在早期創業公司,資料科學家也需要充當資料工程師或資料分析師的角色。但是大多數工作會按類別分類,公司規模越大,類別則越具體。
總的來說,為了找到心儀的工作,你需要明確具體的方向。如果你想成為一名資料分析師,就不用學習TensorFlow;如果你想成為一名機器學習研究員,那麼不用先學Pyspark。
可以思考一下你希望為公司帶來哪方面的價值,並朝著這個方向努力,這是入門的最佳方式。