twitter員工分享:在twitter搞數(shù)據(jù)科學(xué)是怎樣一種體驗(yàn)?
【數(shù)據(jù)猿導(dǎo)讀】 數(shù)據(jù)科學(xué)家的工作確實(shí)非常令人興奮,那種忽然窺到天機(jī)的興奮感堪比腎上腺素爆發(fā)。從零開(kāi)始構(gòu)建數(shù)據(jù)管道和機(jī)器學(xué)習(xí)模型會(huì)令你成就感滿(mǎn)滿(mǎn),做A/B測(cè)試時(shí),那種翻手為云覆手為雨的上帝姿態(tài)也非常有樂(lè)趣。數(shù)據(jù)科學(xué)家這條路有苦又累,沿途九九八十一難,但聰明努力的人會(huì)迅速克服的

許多Twitter的非機(jī)器學(xué)習(xí)主導(dǎo)的核心產(chǎn)品中,機(jī)器學(xué)習(xí)的比重正在不斷增加(例如“While you were away”功能——Twitter把你下線時(shí)可能錯(cuò)過(guò)的頭條推文推送到你的個(gè)人首頁(yè))。
工具的智能化上,Pig已經(jīng)過(guò)時(shí)了,現(xiàn)在的數(shù)據(jù)流水線都是用Scalding(建立在串聯(lián)之上的Scala領(lǐng)域特定語(yǔ)言,便于詳細(xì)描述Hadoop MapReduce任務(wù)——譯者注)編譯的。
組織結(jié)構(gòu)上,數(shù)據(jù)科學(xué)家和產(chǎn)品經(jīng)理、工程師的工作環(huán)環(huán)相嵌,合作之密切史無(wú)前例。
以上只是眾多改變中的一小部分。拿我來(lái)說(shuō),我的研究領(lǐng)域最近從Growth延伸到PIE (Product產(chǎn)品, Instrumentation實(shí)施, and Experimentation實(shí)驗(yàn)) ,工作是研究Twitter自家開(kāi)始的A/B測(cè)試平臺(tái)上的統(tǒng)計(jì)學(xué)方法。
在Twitter工作真的很刺激。在這里,我能直接觀察學(xué)習(xí)一個(gè)大型科技公司是如何使用數(shù)據(jù)與數(shù)據(jù)科學(xué)來(lái)創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)的。
與此同時(shí),人們對(duì)于數(shù)據(jù)科學(xué)的需求與渴望在不斷攀升。
“大數(shù)據(jù)就像青春期的性:每個(gè)人都在討論,但鮮有人在行,大家覺(jué)得所有人都在做,所以大家都聲稱(chēng)自己在做。”——Dan Ariely(行為經(jīng)濟(jì)學(xué)大牛,著有《怪誕行為學(xué)》—譯者注)
關(guān)于如何成為一名數(shù)據(jù)科學(xué)家的討論有很多很多。盡管這些探討信息量都很大(我便是眾多受益者之一),人們總是傾向于過(guò)分強(qiáng)調(diào)技術(shù)、工具和技巧的重要性。我以為,對(duì)于那些有志成為數(shù)據(jù)科學(xué)家的人來(lái)說(shuō),充分了解數(shù)據(jù)科學(xué)家的實(shí)戰(zhàn)操作是怎樣一番體驗(yàn),是同等重要的。
因此,在我在Twitter工作兩周年之際,我希望以這次回顧為契機(jī)來(lái)分享我的個(gè)人經(jīng)歷,同時(shí)希望數(shù)據(jù)科學(xué)行業(yè)的同事們也能加入到這個(gè)行列中!
分析型數(shù)據(jù)科學(xué)家V.S.構(gòu)建型數(shù)據(jù)科學(xué)家
來(lái)Twitter之前,我以為數(shù)據(jù)科學(xué)家都是“珍稀動(dòng)物”——做數(shù)學(xué)/統(tǒng)計(jì)/計(jì)算機(jī)/機(jī)器學(xué)習(xí)/ 算法/數(shù)據(jù)可視化等等出身。另外,寫(xiě)作技巧和溝通能力與專(zhuān)業(yè)技能同等重要。進(jìn)一步講,在執(zhí)行任務(wù)的過(guò)程中,理清項(xiàng)目環(huán)節(jié)中的輕重緩急、領(lǐng)導(dǎo)團(tuán)隊(duì)、管理項(xiàng)目的能力是最最重要的。除此以外,你還應(yīng)該向大眾傳播一下由數(shù)據(jù)驅(qū)動(dòng)的文化是多么美好。Good luck!
在Twitter工作了幾個(gè)月后,我發(fā)現(xiàn)“珍稀動(dòng)物”們確實(shí)存在,但對(duì)于大多數(shù)努力躋身于“珍稀動(dòng)物”行列的數(shù)據(jù)工作者來(lái)說(shuō),一下子掌握那么多學(xué)科是不現(xiàn)實(shí)也不可能的。也就是說(shuō),幾乎所有和數(shù)據(jù)沾邊的東西都和“數(shù)據(jù)科學(xué)”這個(gè)概念是相關(guān)的。那時(shí),還是菜鳥(niǎo)一枚的我,尋找自己定位的時(shí)候感覺(jué)怯生生的。
久而久之,我意識(shí)到數(shù)據(jù)科學(xué)家可以被分為對(duì)立的兩類(lèi)。這種分類(lèi)有些過(guò)于簡(jiǎn)單粗暴,卻十足精準(zhǔn)。Quora用戶(hù)Michael Hochster將我想表達(dá)的這種分類(lèi)方法漂亮地總結(jié)如下:
A型數(shù)據(jù)科學(xué)家:A,即Analysis(分析)。分析型數(shù)據(jù)科學(xué)家主要致力于尋找數(shù)據(jù)背后的含義,或是以一種靜態(tài)的方式使用這些數(shù)據(jù)。分析型數(shù)據(jù)科學(xué)家類(lèi)似于統(tǒng)計(jì)學(xué)家(他們很可能本來(lái)就是搞統(tǒng)計(jì)的),但他們還懂得統(tǒng)計(jì)課程里不涉及的與數(shù)據(jù)工作相關(guān)的具體的實(shí)際操作,比如數(shù)據(jù)清理、大型數(shù)據(jù)集、數(shù)據(jù)可視化、對(duì)某一領(lǐng)域的深度了解和如何用數(shù)據(jù)講一個(gè)漂亮的故事,等等。
B型數(shù)據(jù)科學(xué)家:B,即Building(構(gòu)建)。構(gòu)建型數(shù)據(jù)科學(xué)家和分析型分局科學(xué)家的共同點(diǎn)是都有統(tǒng)計(jì)學(xué)背景,但前者還是編程高手,抑或是訓(xùn)練有素的軟件工程師。構(gòu)建型數(shù)據(jù)科學(xué)家的關(guān)注點(diǎn)是把數(shù)據(jù)“投入生產(chǎn)”。他們建立的模型通常以“推薦”的方式與用戶(hù)互動(dòng),比如產(chǎn)品、你可能認(rèn)識(shí)的人、廣告、電影、搜索結(jié)果等。
真希望自己早些知道這兩種數(shù)據(jù)科學(xué)家的分別。如果你想成為一名數(shù)據(jù)科學(xué)家,留意這種分別——這對(duì)你選擇職業(yè)道路以及做取舍是非常有幫助的。
個(gè)人而言,我是學(xué)數(shù)學(xué)、操作研究和統(tǒng)計(jì)出身的。我認(rèn)為我是一名分析型數(shù)據(jù)科學(xué)家,但我非常享受用到編程設(shè)計(jì)的構(gòu)建型項(xiàng)目!
不同類(lèi)型公司,數(shù)據(jù)科學(xué)家工作的異同
技術(shù)型人才找工作時(shí)往往要考慮,是去大企業(yè)任職,還是加入小型企業(yè)。雖然關(guān)于這種選擇的討論有很多,但針對(duì)數(shù)據(jù)科學(xué)家的討論就很少了——即,企業(yè)的發(fā)展階段與規(guī)模各有不同,那么數(shù)據(jù)科學(xué)家在這些企業(yè)里扮演的角色會(huì)有什么不同呢?
處于不同發(fā)展階段的企業(yè)所產(chǎn)生的數(shù)據(jù)的速度、種類(lèi)和量級(jí)是不同的。對(duì)于一個(gè)正在探索產(chǎn)品定位的創(chuàng)業(yè)公司,他們多半用不到Hadloop這樣的軟件,因?yàn)檫@種公司并沒(méi)有那么多數(shù)據(jù)可處理。成長(zhǎng)性創(chuàng)業(yè)公司通常會(huì)產(chǎn)生更密集的數(shù)據(jù),但對(duì)他們來(lái)講,PostgreSQL和Vertica這樣的數(shù)據(jù)庫(kù)管理系統(tǒng)就足夠了。但是像Twitter這種規(guī)模的公司,就必須使用Hadoop和MapReduce來(lái)處理數(shù)據(jù)了。
我在Twitter學(xué)到了重要的一課——數(shù)據(jù)科學(xué)家從數(shù)據(jù)中提煉、創(chuàng)造價(jià)值的能力與企業(yè)數(shù)據(jù)平臺(tái)的成熟度是高度相關(guān)的。如果你想保證達(dá)到企業(yè)和個(gè)人之間雙向選擇的最優(yōu)化,做到以下是機(jī)智而關(guān)鍵的:搞清自己到底想做什么類(lèi)型的數(shù)據(jù)科學(xué)工作,然后下功夫衡量這個(gè)企業(yè)的體制設(shè)施能不能幫你實(shí)現(xiàn)你的目標(biāo)。
發(fā)展初期的創(chuàng)業(yè)公司:數(shù)據(jù)分析主要致力于執(zhí)行記錄(log),建立ETL過(guò)程(Extract-Transform-Load 的縮寫(xiě),用來(lái)描述將數(shù)據(jù)從來(lái)源端經(jīng)過(guò)抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過(guò)程——譯者注),模擬數(shù)據(jù),設(shè)計(jì)一個(gè)框架來(lái)追蹤并儲(chǔ)存數(shù)據(jù)。這種公司的工作重點(diǎn)在于打好分析數(shù)據(jù)的基礎(chǔ),而不是分析數(shù)據(jù)本身。
發(fā)展中期的創(chuàng)業(yè)公司:企業(yè)在成長(zhǎng),相應(yīng)地,企業(yè)的數(shù)據(jù)也會(huì)增長(zhǎng)。數(shù)據(jù)平臺(tái)需要適應(yīng)增長(zhǎng)的數(shù)據(jù),但由于數(shù)據(jù)的“地基”已經(jīng)建好了,公司會(huì)自然地從單純收集數(shù)據(jù)轉(zhuǎn)向從數(shù)據(jù)中形成觀點(diǎn)、提煉價(jià)值。除非這個(gè)企業(yè)本來(lái)對(duì)數(shù)據(jù)的戰(zhàn)略用途就是非常規(guī)的,大多數(shù)分析型工作主要涉及定義關(guān)鍵績(jī)效指標(biāo)、促進(jìn)業(yè)績(jī)?cè)鲩L(zhǎng)、尋找增長(zhǎng)的下個(gè)契機(jī)。
達(dá)到一定規(guī)模的公司:企業(yè)規(guī)模增長(zhǎng),數(shù)據(jù)規(guī)模會(huì)跟著增長(zhǎng)。這時(shí),企業(yè)需要利用數(shù)據(jù)創(chuàng)造或保持它的競(jìng)爭(zhēng)優(yōu)勢(shì),比如:搜索結(jié)果要更加優(yōu)化、推薦內(nèi)容的相關(guān)性要更高、物流與企業(yè)運(yùn)作要更加高效。機(jī)器學(xué)習(xí)工程師、企業(yè)運(yùn)營(yíng)優(yōu)化專(zhuān)家、實(shí)驗(yàn)設(shè)計(jì)者之類(lèi)的專(zhuān)家能夠有效幫助企業(yè)實(shí)現(xiàn)以上各種訴求。
我入職的時(shí)候,Twitter的數(shù)據(jù)平臺(tái)已經(jīng)非常成熟了,基礎(chǔ)設(shè)施也非常穩(wěn)定。數(shù)據(jù)倉(cāng)庫(kù)干凈而穩(wěn)定,ETL過(guò)程可以日常性、毫無(wú)壓力地處理無(wú)數(shù)MapReduce任務(wù)。最重要的是,在這里,有一群優(yōu)秀的數(shù)據(jù)科學(xué)家們致力于數(shù)據(jù)平臺(tái)、產(chǎn)品洞悉、Growth、實(shí)驗(yàn)、檢索/相關(guān)性以及許許多多其他方面的工作。
我的心路歷程
我是第一個(gè)專(zhuān)攻Growth的數(shù)據(jù)科學(xué)家。告訴你一個(gè)真實(shí)的故事:產(chǎn)品部門(mén)、工程部門(mén)和數(shù)據(jù)科學(xué)部門(mén)花了好幾個(gè)月才共同認(rèn)識(shí)到數(shù)據(jù)科學(xué)在Growth中扮演著至關(guān)重要的角色。根據(jù)與產(chǎn)品部門(mén)密切合作的經(jīng)歷,我的工作內(nèi)容可以分為以下四大類(lèi):
?1、產(chǎn)品洞見(jiàn)
?2、數(shù)據(jù)流水線
?3、A/B測(cè)試
?4、建模
下面我會(huì)分別我做這幾類(lèi)工作的經(jīng)歷與心得。
1.產(chǎn)品洞見(jiàn)
在消費(fèi)者技術(shù)公司做數(shù)據(jù)科學(xué)有個(gè)獨(dú)特之處:我們可以利用數(shù)據(jù)來(lái)理解并推測(cè)用戶(hù)的意見(jiàn)和偏好。當(dāng)用戶(hù)與產(chǎn)品互動(dòng)時(shí),我們能記錄到有價(jià)值的數(shù)據(jù)與元數(shù)據(jù)(描述其他數(shù)據(jù)并提供相關(guān)信息的數(shù)據(jù)集),把它們儲(chǔ)存起來(lái)以便日后分析。
這個(gè)過(guò)程叫做“記錄日志”或“測(cè)量”,而且在不斷升級(jí)。數(shù)據(jù)科學(xué)家們經(jīng)常會(huì)因?yàn)閿?shù)據(jù)不正常、數(shù)據(jù)不匹配或數(shù)據(jù)缺失而難以開(kāi)展某一項(xiàng)分析。這時(shí)候,和工程師建立良好的工作關(guān)系就顯得很重要了:數(shù)據(jù)科學(xué)家可以幫助工程師識(shí)別系統(tǒng)中的bug和意外行為。反過(guò)來(lái),工程師可以幫數(shù)據(jù)科學(xué)家縮小數(shù)據(jù)斷層,讓數(shù)據(jù)變得更豐富、相關(guān)性更強(qiáng)、更精確。
以下是我在Twitter做的幾個(gè)典型的產(chǎn)品分析:
推送消息分析——多少用戶(hù)適用推送消息?這個(gè)比例是用戶(hù)組維度的嗎?還是客戶(hù)端維度?各種類(lèi)型的推送消息點(diǎn)擊率是多少?
短信投放率——如何計(jì)算不同移動(dòng)運(yùn)營(yíng)商下Twitter的短信投放率?新興國(guó)家用戶(hù)的投放率更低嗎?如何提高這一比率呢?
多個(gè)賬戶(hù)——為什么某些國(guó)家的用戶(hù)擁有多個(gè)Twitter號(hào)的比例更高?人們使用多個(gè)Twitter號(hào)的動(dòng)機(jī)是什么?
具體分析形式多種多樣——對(duì)簡(jiǎn)單的數(shù)據(jù)行為(推送分析)給出直白的解釋;創(chuàng)造新生(卻重要的)業(yè)務(wù)指標(biāo)的計(jì)算方法;最后,你可能會(huì)負(fù)責(zé)深入分析用戶(hù)行為(小號(hào))。
通過(guò)產(chǎn)品分析進(jìn)而形成洞見(jiàn)是一個(gè)迭代過(guò)程。想做到這一點(diǎn),你需要質(zhì)疑以上問(wèn)題的答案,理解產(chǎn)品所處的業(yè)務(wù)環(huán)境,找到合適的數(shù)據(jù)集來(lái)解決問(wèn)題。久而久之,你將能夠熟練地定位你需要的那組數(shù)據(jù)并對(duì)其含義了如指掌。你將能夠準(zhǔn)確地估算做一項(xiàng)分析需要多長(zhǎng)時(shí)間。更重要的是,你會(huì)逐漸從被動(dòng)轉(zhuǎn)為主動(dòng),提出新穎有趣的分析角度——產(chǎn)品負(fù)責(zé)人可能都沒(méi)想到,因?yàn)樗麄兏静恢滥辰M數(shù)據(jù)的存在,抑或是不知道截然不同的數(shù)據(jù)源可以以某種方式互補(bǔ)結(jié)合。
涉及的技能:
記錄日志和測(cè)量。識(shí)別數(shù)據(jù)斷層。與工程師建立良好的工作關(guān)系。
定位、識(shí)別并使用相關(guān)數(shù)據(jù)集。
理解類(lèi)型的分析,準(zhǔn)確估算各種分析的耗時(shí)或難易程度。
玩轉(zhuǎn)查詢(xún)語(yǔ)言。能用R或Python做典型的數(shù)據(jù)處理。
2.數(shù)據(jù)流水線
雖然分析型數(shù)據(jù)科學(xué)家不怎么寫(xiě)直接面對(duì)用戶(hù)的代碼,為了處理數(shù)據(jù)流水線,我們還是會(huì)經(jīng)常向代碼庫(kù)貢獻(xiàn)一些代碼。
如果你對(duì)Unix公司的Pipe(一個(gè)運(yùn)行一系列指令的操作)有所耳聞,數(shù)據(jù)流水線就很好理解了——不過(guò)是一系列操作,整合在一起以后能夠自動(dòng)捕捉數(shù)據(jù),循環(huán)地處理并整合數(shù)據(jù)。
我在Twitter以前的公司任職時(shí),所做的分析工作大多是Ad-Hoc(Ad-Hoc結(jié)構(gòu)是一種省去了無(wú)線中介設(shè)備AP而搭建起來(lái)的對(duì)等網(wǎng)絡(luò)結(jié)構(gòu))。我一般只在自己的電腦上跑程序,也就跑個(gè)一兩次、兩三次。幾乎沒(méi)有人來(lái)檢查我的代碼寫(xiě)的怎么樣;運(yùn)行的時(shí)候也不會(huì)控制代碼的版本。寫(xiě)數(shù)據(jù)流水線的時(shí)候,一系列問(wèn)題就出現(xiàn)了:依賴(lài)關(guān)系管理、計(jì)劃安排、資源配置、監(jiān)測(cè)、錯(cuò)誤報(bào)告,甚至還有警報(bào)。
下面是創(chuàng)建數(shù)據(jù)流水間的典型過(guò)程示例:
首先,你認(rèn)識(shí)到,循環(huán)性地生產(chǎn)數(shù)據(jù)集將會(huì)是一件功德無(wú)量的事。
確認(rèn)了這個(gè)需求以后,你先設(shè)計(jì)出最終產(chǎn)品,例如設(shè)計(jì)輸出數(shù)據(jù)集的數(shù)據(jù)架構(gòu)。
根據(jù)數(shù)據(jù)所在環(huán)境用Pig, Scalding或SQL寫(xiě)代碼。
把代碼提交至code review(代碼評(píng)審),準(zhǔn)備改代碼。也許你的商業(yè)邏輯有問(wèn)題,或者你的代碼沒(méi)能做到速度與效率的最優(yōu)化。
也許你需要測(cè)試程序,空運(yùn)行(不帶數(shù)據(jù)跑代碼——譯者注)一下,看看代碼是否運(yùn)行正常。
整合代碼。把代碼配置好,安排好每一個(gè)事項(xiàng)。
設(shè)置監(jiān)控、錯(cuò)誤報(bào)告、警報(bào)機(jī)制,以防代碼運(yùn)行出錯(cuò)。
數(shù)據(jù)流水線顯然比臨時(shí)性分析復(fù)雜得多,但數(shù)據(jù)流水線的好處是,它可以自動(dòng)運(yùn)轉(zhuǎn),生產(chǎn)出來(lái)的數(shù)據(jù)可以被儀表板所利用,這樣更多的用戶(hù)就可以使用你的數(shù)據(jù)或結(jié)果。更重要(但往往被忽視)的一點(diǎn)是,簡(jiǎn)歷數(shù)據(jù)流水線的過(guò)程是個(gè)軟件工程實(shí)操的絕佳機(jī)會(huì)。你可以為日后建立專(zhuān)業(yè)化流水線打好基礎(chǔ),比如機(jī)器學(xué)習(xí)模型(本文最后一部分會(huì)對(duì)此進(jìn)行詳細(xì)說(shuō)明)、A/B測(cè)試平臺(tái)。
涉及的技能:
版本控制。一般來(lái)講,最常用的工具是Git(軟件開(kāi)發(fā)時(shí)用到的源代碼管理系統(tǒng)——譯者注)。
學(xué)會(huì)做code review,迅速地給出反饋。
程序出錯(cuò)時(shí),知道該怎么測(cè)試、空運(yùn)行、找bug。
掌握依賴(lài)管理、計(jì)劃安排、資源配置、監(jiān)測(cè)、錯(cuò)誤報(bào)告,以及給出提示信息。
3.A/B測(cè)試
此時(shí)此刻,你用的Twitter APP很有可能和我的有所不同,很可能你有的功能我沒(méi)有。從內(nèi)部工作人員的角度講,Twitter的用戶(hù)非常多,因此Twitter可以抽出一小部分流量來(lái)體驗(yàn)尚未面世的新功能,以便將這部分實(shí)驗(yàn)組用戶(hù)對(duì)新功能的反饋情況與控制組用戶(hù)(即未體驗(yàn)新功能的用戶(hù)——譯者注)作對(duì)比——這就是A/B測(cè)試,即用來(lái)測(cè)試變量A與變量B哪個(gè)效果更好。
個(gè)人認(rèn)為,A/B測(cè)試是在大型消費(fèi)者技術(shù)公司工作的特殊福利。數(shù)據(jù)科學(xué)家可以通過(guò)使用真實(shí)隨機(jī)樣本的控制實(shí)驗(yàn)來(lái)研究因果關(guān)系(用觀測(cè)值是很難做到這一點(diǎn)的)。在Twitter,“幾乎每天都要做至少一個(gè)實(shí)驗(yàn)——Alex Roetter,高級(jí)工程師”。A/B測(cè)試已經(jīng)深深烙在Twitter的數(shù)據(jù)科學(xué)家心里,也是產(chǎn)品開(kāi)發(fā)環(huán)節(jié)不可或缺的一環(huán)。
典型的A/B測(cè)試過(guò)程是這樣的:收集樣本-用戶(hù)分組-開(kāi)始測(cè)試-衡量結(jié)果-對(duì)比分析。聽(tīng)上去很簡(jiǎn)單對(duì)吧?然而,我認(rèn)為A/B測(cè)試是最被低估、相當(dāng)棘手的分析工作,而且學(xué)校一般不教你這種技能。為了說(shuō)明這一點(diǎn),讓我們來(lái)回顧一下一上五個(gè)步驟以及實(shí)戰(zhàn)過(guò)程中的常見(jiàn)問(wèn)題:
收集數(shù)據(jù):樣本量需要多少?每組應(yīng)該分配多少用戶(hù)?能不能保證實(shí)驗(yàn)效果足夠明顯?
用戶(hù)分組:哪些用戶(hù)適用于這個(gè)測(cè)試?應(yīng)該在程序的哪個(gè)階段開(kāi)始分組并對(duì)用戶(hù)展示測(cè)試的新功能?這種分組是否會(huì)造成數(shù)據(jù)稀釋(比如某些測(cè)試組的用戶(hù)在使用過(guò)程中根本用不到我們測(cè)試的新功能)?
開(kāi)始測(cè)試:有沒(méi)有其他項(xiàng)目組和我們用同一批樣本做測(cè)試?如果和他們發(fā)生樣本沖突,如何確保我們的數(shù)據(jù)沒(méi)有被污染?
衡量結(jié)果:實(shí)驗(yàn)結(jié)果的預(yù)期是什么?衡量實(shí)驗(yàn)成功與否的標(biāo)準(zhǔn)是什么?衡量標(biāo)準(zhǔn)可追蹤嗎?如何追蹤?需要額外記錄哪些信息?
對(duì)比分析:假如在線用戶(hù)激增,這是來(lái)自其他變量的干擾嗎?如何判斷結(jié)果是否統(tǒng)計(jì)顯著?如果確實(shí)是統(tǒng)計(jì)顯著的,實(shí)際上用戶(hù)組之間的差別真的明顯嗎?
處理好以上問(wèn)題需要很強(qiáng)的統(tǒng)計(jì)學(xué)功底。即使你自己設(shè)計(jì)實(shí)驗(yàn)的時(shí)候思維足夠嚴(yán)謹(jǐn),你的隊(duì)友也有可能掉鏈子。產(chǎn)品經(jīng)理會(huì)比較喜歡對(duì)數(shù)據(jù)先睹為快,或者挑幾個(gè)自己想要的結(jié)果(這是人的天性)。工程師可能會(huì)忘記記錄數(shù)據(jù)科學(xué)家用來(lái)計(jì)算成敗指標(biāo)的某些數(shù)據(jù),或者實(shí)驗(yàn)代碼“姿勢(shì)”不對(duì),造成偏誤。
對(duì)于數(shù)據(jù)科學(xué)家來(lái)說(shuō),故意唱唱反調(diào)、幫助團(tuán)隊(duì)完善實(shí)驗(yàn)是極其重要的,因?yàn)槔速M(fèi)在運(yùn)行設(shè)計(jì)不合理的測(cè)試上的時(shí)間會(huì)一去不復(fù)返。更有甚者,根據(jù)不良數(shù)據(jù)做出的不良決策會(huì)造成非常嚴(yán)重的后果。
涉及的技能:
假設(shè)檢驗(yàn):統(tǒng)計(jì)檢驗(yàn)、p值、統(tǒng)計(jì)顯著、統(tǒng)計(jì)力、效應(yīng)值、多重檢驗(yàn)
實(shí)驗(yàn)缺陷:滯后效應(yīng)、指標(biāo)選擇、數(shù)據(jù)稀釋、分組異常
4.預(yù)測(cè)模型與機(jī)器學(xué)習(xí)
我在Twitter做的第一個(gè)大型項(xiàng)目是對(duì)現(xiàn)有的郵箱通知產(chǎn)品增設(shè)一套繁瑣的規(guī)則,進(jìn)而減少對(duì)用戶(hù)的騷擾。雖然這一舉措十分圣母,我們其實(shí)也清楚郵件通知是留住用戶(hù)的最有效的手段之一(我們?cè)鴮?duì)此進(jìn)行試驗(yàn),驗(yàn)證了這一點(diǎn)),所以找到一個(gè)合適的度是關(guān)鍵。
針對(duì)這個(gè)關(guān)鍵點(diǎn),我旋即決定研究觸發(fā)性郵件——當(dāng)用戶(hù)在Twitter上有活動(dòng)時(shí),這種郵件會(huì)像雪片一樣飛進(jìn)用戶(hù)的郵箱。作為一個(gè)正在努力證明自己的價(jià)值的野心勃勃的新晉數(shù)據(jù)科學(xué)家,我決定建立一個(gè)高端機(jī)器學(xué)習(xí)模型來(lái)預(yù)測(cè)用戶(hù)水平上的郵件點(diǎn)擊率。我用Pig收集了一大堆用戶(hù)特征,建立了隨機(jī)森林模型來(lái)預(yù)測(cè)郵件點(diǎn)擊率。我的思路是,如果一個(gè)用戶(hù)的點(diǎn)擊率長(zhǎng)期保持在很低的值,我們就可以安心撤銷(xiāo)該用戶(hù)的觸發(fā)性郵件。
其他的都好說(shuō),只有一個(gè)問(wèn)題——我的程序都是用本地電腦上的R寫(xiě)的。別人承認(rèn)我很努力,但他們無(wú)法利用我的模型來(lái)創(chuàng)造價(jià)值,因?yàn)槲业臎](méi)有被產(chǎn)品化,公司的組織架構(gòu)無(wú)法和我的局部模型交互。多么慘痛的教訓(xùn)!
一年后,我得到了與兩名來(lái)自Growth的數(shù)據(jù)科學(xué)家一起建立顧客流失預(yù)測(cè)模型的寶貴機(jī)會(huì)。這一次,有了足夠的建立數(shù)據(jù)流水線的經(jīng)驗(yàn),我知道建立機(jī)器學(xué)習(xí)流水線其實(shí)是類(lèi)似的——在訓(xùn)練階段,我們可以用Python在線下做循環(huán)模型更新;在預(yù)測(cè)部分,我們可以每日收集用戶(hù)特征,用預(yù)測(cè)公式(大多數(shù)只是“點(diǎn)產(chǎn)品”)生成每個(gè)用戶(hù)的流失率評(píng)分。
我們花了幾個(gè)禮拜建起來(lái)流水線,確認(rèn)其具有良好的預(yù)測(cè)能力,全面部署,將用戶(hù)流失率評(píng)分輸入到Vertica、Hadoop文件分散系統(tǒng),以及我們的內(nèi)部鍵值存儲(chǔ)“Manhattan”。我們把這些scores涉及的非常便于分析師、數(shù)據(jù)科學(xué)家和工程師查詢(xún)。這一點(diǎn)大大幫助我們宣傳并促進(jìn)這個(gè)模型的使用。這是我在建造生產(chǎn)模型時(shí)學(xué)到的最重要的一課。
我故意沒(méi)有提及建立機(jī)器學(xué)習(xí)模型的步驟——建立問(wèn)題框架,定義標(biāo)簽,手機(jī)訓(xùn)練數(shù)據(jù),設(shè)計(jì)特征,建立樣品,客觀地測(cè)試模型的可行性。這些步驟顯然都很重要,但我認(rèn)為這些步驟前人都已經(jīng)講得很明白了,無(wú)需我來(lái)提供相關(guān)建議。
我覺(jué)得大多數(shù)優(yōu)秀的數(shù)據(jù)科學(xué)家,特別是分析型數(shù)據(jù)科學(xué)家,都不存在不會(huì)建模的問(wèn)題。他們的困惑在于,知道該怎么建模,但不清楚怎么把自己的模型融入到整體生態(tài)環(huán)境里。我對(duì)此的建議是,多和經(jīng)驗(yàn)豐富的構(gòu)建型數(shù)據(jù)科學(xué)家交流,搞清你需要掌握什么技能,潛心修煉,屆時(shí)自然能得心應(yīng)手地接管相關(guān)項(xiàng)目。 請(qǐng)?jiān)试S我引用以下這段話來(lái)為本章畫(huà)上句號(hào):
“機(jī)器學(xué)習(xí)并不等同于R編程。機(jī)器學(xué)習(xí)是以數(shù)學(xué)為根基,用代碼表達(dá),整合到軟件里的。你需要掌握電腦工程師的技能,學(xué)著寫(xiě)可讀、可重復(fù)使用的代碼:別人讀你的代碼的次數(shù)將遠(yuǎn)遠(yuǎn)多于你自己,所以你要寫(xiě)得能讓別人看懂。”——Ian Wong,于哥倫比亞大學(xué)數(shù)據(jù)科學(xué)課程客座講座
這里所涉及的技能:
模式識(shí)別:識(shí)別可以用模型解決的問(wèn)題。
建模和機(jī)器學(xué)習(xí)的基本功:探索式數(shù)據(jù)分析、簡(jiǎn)歷特征、特征選擇、模型選擇、訓(xùn)練/驗(yàn)證/測(cè)試、模型評(píng)估
生產(chǎn)化:掌握上文提到和數(shù)據(jù)流水線相關(guān)的一切知識(shí)。建立索引標(biāo)志以便他人查詢(xún)。
一些感想:
數(shù)據(jù)科學(xué)家的工作確實(shí)非常令人興奮,那種忽然窺到天機(jī)的興奮感堪比腎上腺素爆發(fā)。從零開(kāi)始構(gòu)建數(shù)據(jù)管道和機(jī)器學(xué)習(xí)模型會(huì)令你成就感滿(mǎn)滿(mǎn),做A/B測(cè)試時(shí),那種翻手為云覆手為雨的上帝姿態(tài)也非常有樂(lè)趣。數(shù)據(jù)科學(xué)家這條路有苦又累,沿途九九八十一難,但聰明努力的人會(huì)迅速克服的。
數(shù)據(jù)科學(xué)之路任重而道遠(yuǎn),同志仍需努力。Good luck各位,更為重要的是享受這其中的樂(lè)趣!
來(lái)源:medium.com
刷新相關(guān)文章
我要評(píng)論
人物專(zhuān)訪more >
活動(dòng)推薦more >
- 2018 上海國(guó)際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國(guó)際計(jì)算機(jī)網(wǎng)絡(luò)及信2018-12-03
- 中國(guó)國(guó)際信息通信展覽會(huì)將于2018-09-26
- 第五屆FEA消費(fèi)金融國(guó)際峰會(huì)62018-06-21
- 第五屆FEA消費(fèi)金融國(guó)際峰會(huì)2018-06-21
- “無(wú)界區(qū)塊鏈技術(shù)峰會(huì)2018”2018-06-14
不容錯(cuò)過(guò)的資訊
-
1#后疫情時(shí)代的新思考#疫情之下,關(guān)于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎(jiǎng)“年度汽車(chē)
-
3數(shù)據(jù)智能 無(wú)限未來(lái)—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風(fēng)起云涌時(shí),共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風(fēng)險(xiǎn)感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實(shí)時(shí)新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺(tái)丨數(shù)據(jù)猿
-
9#后疫情時(shí)代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會(huì)丨《云MSP發(fā)展白皮書(shū)》重