我在數據科學輔導創業公司工做,我發現有一條建議讓我本身一遍又一遍地給有抱負的學員。這真的不是我所指望的那樣。網絡
我建議他們首先考慮他們想要成爲何樣的數據科學家,而不是建議一個新的庫或工具,或者一些簡歷***。app
這一點相當重要的緣由在於,數據科學不是一個單一的,定義明確的領域,公司不會僱用通用的,萬能的「數據科學家」,而是擁有很是專業技能的我的。框架
爲了瞭解緣由,想象一下你是一家試圖聘請數據科學家的公司。你幾乎確定會有一個至關明確的問題,你須要幫助,而這個問題須要一些至關具體的技術知識和主題專業知識。例如,一些公司將簡單模型應用於大型數據集,一些公司將複雜模型應用於小型模型,一些公司須要動態訓練模型,一些公司根本不使用(傳統)模型。機器學習
這些都須要徹底不一樣的技能組合,而有一點特別奇怪的是有抱負的數據科學家收到的建議每每如此通用:「學習如何使用Python,構建一些分類/迴歸/聚類項目,並開始申請工做「。ide
咱們這些在該行業工做的人承擔了不少責任。在隨意的對話,博客文章和演示文稿中,咱們傾向於將過多的東西納入「數據科學」中。爲生產構建強大的數據管道?這是一個「數據科學問題。」發明一種新的神經網絡?這是一個「數據科學問題」。工具
這並很差,由於它每每會致使有抱負的數據科學家失去對特定問題類別的關注,而是成爲全部行業的jacks(在一個已經飽含多面手的市場中,這會使得更難以引發注意或突破)。oop
可是,若是你不知道哪一個常見的問題類能夠在第一時間專一,那麼很難避免成爲一名多面手。這就是我將「數據科學」標題下常常混爲一談的五個問題列出來的緣由:學習
1. 數據工程師測試
職位描述:您將爲處理大量數據的公司管理數據管道。這意味着你要確保,當須要數據清理,預處理時,你能夠從源頭有效地收集和檢索數據。優化
爲何這很重要:若是您只使用過存儲在.csv或.txt文件中的相對較小(<5 Gb)的數據集,那麼可能很難理解爲何會有人要創建全職工做的人和維護數據管道。這有如下幾個緣由:
(1)50 Gb數據集不適合您計算機的RAM,所以您一般須要其餘方式將其提供給您的模型
(2)大量數據可能須要花費大量時間來處理,而且常常須要冗餘存儲。管理該存儲須要專業的技術知識。
要求:您將使用的技術包括Apache Spark,Hadoop和/或Hive,以及Kafka。您極可能須要在SQL中擁有堅實的基礎。
你要處理的問題聽起來像:
「如何構建一個每分鐘可處理10000個請求的管道?」
「如何清除此數據集而不將其所有加載到RAM中?」
2. 數據分析師
職位描述:您的工做是將數據轉化爲可操做的業務洞察。您一般會成爲技術團隊和業務戰略,銷售或營銷團隊的中間人。數據可視化將成爲您平常工做的重要組成部分。
爲何這很重要:高技術人員一般很難理解爲何數據分析師如此重要,但他們確實如此。他們須要將通過訓練,測試的模型和大量用戶數據轉換爲易於理解的格式,以便圍繞它們設計業務策略。數據分析師幫助確保數據科學團隊不會浪費時間來解決沒法提供商業價值的問題。
要求:您將使用的技術包括Python,SQL,Tableau和Excel。你還須要成爲一名優秀的溝通者。
你要處理的問題聽起來像:
「是什麼推進了咱們的用戶增加數字?」
「咱們如何向管理層解釋最近用戶費用的增長讓人們失望?」
3. 數據科學家
職位描述:您的工做將是清理和探索數據集,並進行預測以實現業務價值。您的平常工做將涉及訓練和優化模型,並常常將其部署到生產中。
爲何這很重要:若是你有一堆數據對於人類來講太大而沒法解析,並且太有價值而沒法被忽略,那麼你須要一些方法從中汲取可被消化的看法。這是數據科學家的基本工做:將數據集轉換爲易於理解的結論。
要求:您將使用的技術包括Python,scikit-learn,Pandas,SQL,以及可能的Flask,Spark和/或TensorFlow / PyTorch。一些數據科學職位純粹是技術性的,但大多數人要求你具有必定的商業意識,這樣你就不會最終解決沒有人的問題。
你要處理的問題聽起來像:
「咱們到底擁有多少種不一樣的用戶類型?」
「咱們能夠創建一個模型來預測哪些產品將銷售給哪些用戶?」
4. 機器學習工程師
職位描述:您的工做是構建,優化和部署機器學習模型到生產。您一般會將機器學習模型視爲API或組件,您能夠將其插入到全棧應用程序或某種硬件中,但您也可能須要本身設計模型。
要求:您將使用的技術包括Python,Javascript,scikit-learn,TensorFlow / PyTorch(和/或企業深度學習框架),以及SQL或MongoDB(一般用於app DB)。
你要處理的問題聽起來像:
「如何將此Keras模型集成到咱們的Javascript應用程序中?」
「如何減小推薦系統的預測時間和預測成本?」
5. 機器學習研究員
職位描述:您的工做是找到解決數據科學和深度學習中的挑戰性問題的新方法。您不會使用開箱即用的解決方案,而是製做本身的解決方案。
要求:您將使用的技術包括Python,TensorFlow / PyTorch(和/或企業深度學習框架)和SQL。
你要處理的問題聽起來像:
「如何將模型的準確性提升到更接近現有技術的水平?」
「自定義優化器會幫助減小培訓時間嗎?」
我在這裏列出的五個職位描述絕對不是孤立的。例如,在早期創業公司,數據科學家也可能必須是數據工程師和/或數據分析師。可是大多數工做會比其餘工做更整齊地落入其中一個類別 - 公司規模越大,這些類別就越適用。
總的來講,要記住的是,爲了得到僱傭,你一般會更好地創建一個更集中的技能組合:若是你想成爲一名數據分析師,不要學習TensorFlow,若是你想成爲一名機器學習研究員,不優先學習Pyspark。
相反,要考慮一下您但願幫助公司創建的價值,並善於實現這一價值。最重要的是,這是進入大門的最佳方式。