數據科學工作中存在的7大問題與解決方案
- 2020 年 4 月 10 日
- 筆記
註:在本文中,雖然我使用數據科學家一詞,但是諸如機器學習工程師,數據分析師,數據工程師,BI分析師之類的熱門職務也承擔著類似的責任,可以在此處互換使用。
本文編譯自Dan_Friedman的技術博客。
我對成為數據科學家的潛在影響寄予厚望。我覺得每個公司都應該是一個「數據公司」。
但我的期望沒有達到現實。
我的期望從何而來?
我在2016年中參加了為期12周的數據科學訓練營。在這12周的時間裏,有11周的時間專註於機器學習(ML)和人工智能(AI)。彼時,ML和AI的新聞報道創下了歷史新高。特斯拉為自動駕駛汽車鋪平了道路,甚至像通用汽車(GM)這樣的老龐然大物也向一家AI公司投資了超過10億美元,以保持其在汽車技術領域的領先地位。在消費者端,出現了可以利用AI技術進行同聲傳譯的耳機,也出現了可以擊敗世界上最好電競團隊的AI。
那時我覺得如果我努力鑽研代碼和數據,可以發現一些隱藏的範式,在工業上利用機器學習模型並能對其進行優化。高管可能會依靠我的基於數據的見解來確定產品路線圖,此時我將在公司發揮巨大價值,走上人生巔峰。
但是,幾乎沒有任何事情發生。
在過去的幾年中,我曾擔任數據科學家,數據工程師和行業顧問。我還從數十位數據科學家和類似行業的故事中學到了東西,積極閱讀有關數據科學的文章,並在Twitter上關注數據科學的領袖人物。
在這些實踐當中,我發現了一些共性的問題。
以下是數據科學未能達到行業期望的七種共性問題。後面我會針對這些問題提出解決方案。
-
人們不知道「數據科學」的作用。
-
數據科學的領導力非常缺乏。
-
數據科學不一定總是按照規範構建的。
-
你可能是唯一的「數據人」。
-
數據科學家的影響力很難衡量-數據並不總是可以轉化為價值。
-
數據和基礎架構存在嚴重的質量問題。
-
數據工作可能非常不道德。需要道德勇氣。
1.人們不知道「數據科學」是做什麼的。
有人認為「數據科學」全是ML,AI或自定義算法。其他人則認為它僅僅是分析而已。許多數據科學家可能將其大部分時間都花在抽取-轉換-加載(ETL)上。事實是,所有這些事情都是可能的!
由於缺乏清晰性,在面試中,你可能會被問到有關這些主題的更多信息。在有關數據相關工作的50多次面試中,有人問我有關AB測試,SQL分析問題,優化SQL查詢,如何用Python編寫遊戲,邏輯回歸,梯度提升決策樹,數據結構或算法編程問題!
研究各式各樣的概念並且還能每個都研究地很深入是非常困難的。別灰心,由於沒有需要解決的具體問題,面試可能會讓你感到困惑與沮喪。你應該問招聘經理更多問題的細節,比如為什麼會問這個技術點,當你知道來龍去脈後,才可以更好地應對。
在工作中碰到難題時,可能公司也沒什麼人可以指導你找到解決方案。由於人們不知道數據科學的作用,因此很多時候你得自己懂一些開發,軟件工程,數據工程方面的知識。如果你是團隊中僅有的「數據人」的話,那麼建議你在上班前就建立一個外部顧問團,以便以後隨時諮詢。
2.非常缺乏數據科學的領導能力
大多數負責數據科學決策的高管都沒有接受過實際數據科學理論和技術的教育或培訓。相反,他們依靠那些可以及時啟動的非數據驅動的即插即用功能。
很少有團隊具有數據主管,數據科學經理或其他相關角色。作為數據科學家,你的彙報對象有可能僅僅是產品專家或工程及其他領域的專家。
這些不精通數據的高管和經理通常是做出重要產品決策的人。在科技領域,自上而下的決策仍然非常普遍。你可能因為人微言輕而無法參與決策,從而讓自己的研究發揮價值。作為數據科學家,你該何去何從?
這是一個真事兒,一位研究員通過定性和定量數據花了一個多月的時間研究客戶中的特定價值。她提出了一份寫得很好並且有證據支持的報告。然而,幾天後,產品的關鍵負責人卻為團隊規划了一個相反的發展方向。
即使你的項目已獲批准,但項目的計劃和執行可能還得靠你自己。領導不太可能親自幫助你研究和規劃項目。這可能是一條非常艱難的道路,尤其是對行業中資歷較淺的人來說。
3.數據科學不一定總是按規範構建
你和同行可能對數據科學項目的潛力抱有期望。探索性分析和機器學習是兩種常見的項目類型。
在探索性分析中,你可能需要處理這些常見的問題:有多少用戶單擊此按鈕;點擊屏幕的用戶百分比是多少;按地區或帳戶類型註冊了多少用戶?但是,能夠回答這些問題所需的數據可能不存在!如果數據確實存在,則很可能是非結構化的數據,或者難以查找的數據。你可能已經花費了數小時或數天時間,最後發現你沒辦法給老闆一個好的答案。
在機器學習中,公司可能要求你優化某個流程的用戶體驗,但具體優化到什麼程度並沒人告訴你。我是說如果這種功能真的可以被優化的話。
在一些大型互聯網產品中,比如一個新聞推送的功能,這些推送的內容往往與用戶沒有直接的關係。但是像Facebook和Twitter類似的產品會通過優化排序方式來促使用戶消費更多的與自己相關的內容,但是具體能優化到什麼程度,沒有人能夠知道。
該團隊通過一種稱為uCTR(唯一點擊率)的評估指標評估了推薦系統的優化。本質上,這是用戶在會話中點擊該帖子以對其喜歡或發表評論的可能性。
高管們期望這種用戶體驗將得到極大的改善。機器學習團隊確實將指標提高了50%以上——但僅適用於一小群高頻用戶,因為這些用戶提供了更多的數據。即使使用了機器學習模型,大多數用戶的觀看體驗仍然很差!
50%似乎很重要,但也可能微不足道。相對變化很高,但絕對變化並不高。想像一下:你有10元現金,一天之內就增加了50%。你現在有15元現金。但是,從絕對規模來看,這仍然是一個很小的數目。僅僅是1頓飯錢!
由於許多ML項目可能無法滿足團隊的期望,因此大多數項目都沒有在生產環境中使用。
4.你可能是唯一的「數據人」
企業中幾乎每個團隊都希望通過定量方法來了解他們的進度。所有團隊,無論是銷售,客戶支持,工程還是市場營銷,都需要指標和數據驅動的儀錶板來衡量其效率和進度。
大多數擁有少於100名員工的公司很少有精通SQL,數據庫,數據分析和數據可視化的員工。這些是分析數據和產生這些儀錶板輸出所必需的技能。
作為全職的數據科學家,你可能很容易一次被多個團隊的請求淹沒。準備要求這些團隊限定條件並捍衛自己的要求,如果他們的需求超出了你實際優先級隊列的範圍,則準備好說「不」。我建議對項目使用RICE優先級排序技術。
此外,你可能會很快意識到這項工作中的許多工作都是重複的,雖然很耗時,但卻「容易」。實際上,大多數分析都需要大量時間來理解數據,清洗和組織數據。你可能需要花費最少的時間來完成數據科學家認為的「有趣」部分:複雜的統計數據,機器學習和具有實際結果的實驗。
5.你的影響很難衡量——數據並不總是轉化為價值
我想到了兩種解釋本節標題的方法。
一方面,數據科學家經常扮演「支持」角色。大多數組織的大部分決定都來自於決策者過去的閱讀和個人經驗,而不是來自數據科學家的分析。如果你能找到其他方式採取行動的中小型組織,我會感到震驚。通常,你要在果斷而不是過於謹慎方面上犯錯,以便成功開展業務。(但是,這可能會適得其反。)作為組織中的數據科學家,你對企業至關重要嗎?可能不會。該業務可以持續一段時間,並且在沒有你的情況下仍然可以生存。仍將進行銷售,仍將開發出某些功能,客戶支持將處理客戶的顧慮等。
當我剛開始工作時,本來我以為我會因為可以幫助證明業務決策合理性而受到重視。但是,這種情況很少發生。白宮前首席數據科學家DJ Patil曾在播客節目中說過,作為數據科學家,你應該努力尋找能夠產出價值的情景!在公司內部,你可以通過為股東們的決策提供佐證材料來發揮自己的價值。
通常在公司中扮演「支持」角色的另一個挑戰是量化你的影響。一項常見的數據科學任務是幫助產品經理回答有關數據中最近活動的問題。你還可以根據自己的見解發佈產品推薦。所以如何衡量你的這項工作是否有影響?
很難做到。大多數人不會定量地對數據分析做出影響力評價。
通過對銷售團隊的分析使你避免了龐大而昂貴的新工作流程,你是否就為公司節省了1000萬?或者銷售團隊節省了1000萬?如果這1000萬從未被花過,那麼有人會珍視它嗎?
在工作中,我建議你很好地記錄你的工作,並根據諸如員工薪水,資本投資,機會成本等因素來計算分析的貨幣價值。這些分析也將在以後的晉陞/審查工作中派上用場。
我意識到實際的分析是一項艱巨的任務,而且我只聽說過一位數據科學經理與他的團隊合作得很好!在如何最好地進行這些分析方面尋求他人的幫助。
6.數據和基礎架構存在嚴重的質量問題
在數據科學書籍,在線課程,在線教程和Kaggle競賽中,面臨的問題與行業中存在的問題完全不同。
在這些在線資源中,你將擁有易於使用,文檔齊全並以大綱形式組織的「乾淨」數據,使你可以應用數據科學技術來解決問題。
關於工作數據的質量,我經常將它與撕開的垃圾袋進行比較,將其內容物撒在地上,而你的伴侶卻要求你找到一個不小心放在裏面的漂亮耳環。從本質上講,這些數據將很難找到且記錄不善或根本沒有記錄。數據也可以非結構化格式顯示,例如複雜的JSON,帶有標點符號的已提交文本響應,emoji表情等。此外,看起來有用的數據也可能存在很大的風險。
就像著名的諺語「垃圾輸入,垃圾輸出」。如果沒有高質量數據,則可能不會產生滿足利益相關者期望的高質量輸出。
數據清洗可能會成為你工作的大部分。2016年,流行的專註於ML的公司Crowdflower向經驗豐富的數據科學家分發了一份調查報告,稱「我們調查的每5名數據科學家中就有3名實際上花費最多的時間來清理和整理數據」。在許多情況下,數據科學家應稱為數據管理員。
請注意,如果你將大部分時間花在數據清洗上,那麼編程,學習ML和進行分析的時間就很少了。
除「臟數據」外,另一個主要挑戰是在基礎架構較差的情況下處理數據。想像一下,繁忙的高速公路上有很多坑窪,收費站和大的車流。你的工作是為改善這些環境而提供引導,需要提交的結果是數據分析洞察。
你可能會遇到未針對查詢進行優化的數據庫,或者無法通過其數據沿襲識別數據中的真相來源。你可能需要等待數天或數周才能訪問數據庫,或者由於基礎設施不佳而陷入困境,因為人們害怕更改它,因為擔心破壞一切!可能沒有集中的數據存儲,使用了多個儀錶板工具,使查找信息變得困難,也沒有用於過去的數據科學工作的存儲庫。
當我2012年在Target HQ工作時,員工通常會在早上7點左右提早上班,以便在很少有人這樣做的時候查詢數據庫。他們希望他們能更快地獲得數據庫結果。但是,他們仍然經常需要等待幾個小時才能獲得結果。
甚至我在大型科技創業公司的朋友都抱怨數據基礎設施和技術債存在同樣的問題。一個朋友不得不在周六來上班,以便能夠查詢數據而沒有極端的等待時間。
想像一下,想要調查數據預測,而不得不等待數小時!然後,想像一下你在SQL查詢中犯了一個錯誤,不得不重新實現它並再次等待數小時!這實際上要等待一整天,甚至無法獲取數據!
在工作中,如果你發現基礎設施不佳,請儘早與經理取得聯繫。清楚地記錄問題,並嘗試合併數據工程,基礎架構或開發團隊來幫助解決問題!我也鼓勵你學習這些技能!
7.數據工作可能極不道德。需要道德勇氣
這是我最擔心的問題。我已經聽說過收集和分析私人用戶數據(從他們的私人消息到應用程序中的每次交互)的可疑做法。作為數據科學家,你可能不會進行道德培訓,也不會在產品決策中發表意見。
Uber 因其秘密的內部工具Greyball逃避執法而臭名昭著。該工具可以幫助識別各自城市中的執法人員,並向他們提供Uber的「偽造」體驗,以向騎手展示,但沒人會接他們。如果你是數據科學家,負責預測誰是執法人員或修改核心駕駛員路由算法以逃避這些人員,該怎麼辦?你會做嗎?
ML模型的建議也可能是不道德的。我曾經從事一項向消費者提供機器學習預測的活動。這些預測是根據ML模型訓練中的錯誤做法創建的,數據中幾乎沒有信號。後來,付費客戶抱怨這些建議多麼糟糕,但該公司從未公開道歉。
可能會有一段時間,一家電子商務公司要求你作為數據科學家:「如果我們想弄清楚客戶是否懷孕,即使她不希望我們知道,你能做到嗎?」 這些是真事!但是弄清楚這一點的倫理意義是什麼?作為消費者,你是否希望你和你的家人被這樣的營銷困擾?如果另一半不知道自己的伴侶是否懷孕怎麼辦?如果他們正在考慮墮胎怎麼辦?在公司中,尤其是規模較小的公司,可能不會考慮這些道德問題!
結論:我們該何去何從?
我不想阻止人們申請數據科學工作。這會對公司的使命產生巨大影響。
相反,嘗試在面試問題中詢問這些問題,以幫助你評估下一個職位。如果你在工作中已經面臨這些問題,請與你的經理或同事一起嘗試並儘快解決它們,以改善你的工作經驗。