歡迎來(lái)到合肥浪訊網(wǎng)絡(luò)科技有限公司官網(wǎng)
  咨詢服務(wù)熱線:400-099-8848

如何與高權(quán)重網(wǎng)站進(jìn)行互動(dòng)

發(fā)布時(shí)間:2016-02-09 文章來(lái)源:  瀏覽次數(shù):2382


Intetix Foundation(英明泰思基金會(huì))由從事數(shù)據(jù)科學(xué)、非營(yíng)利組織和公共政策研究的中國(guó)學(xué)者發(fā)起成立,致力于通過(guò)數(shù)據(jù)科學(xué)改善人類(lèi)社會(huì)和天然環(huán)境。通過(guò)聯(lián)絡(luò)、動(dòng)員中美最頂尖的數(shù)據(jù)科學(xué)家和社會(huì)科學(xué)家,以及分布在全球的志愿者,我們創(chuàng)造性地踐行著我們的使命:為夸姣糊口洞見(jiàn)數(shù)據(jù)價(jià)值。

原作者: Robert Chang


2015年6月17日是我在Twitter工作兩周年的紀(jì)念日。回想起來(lái),兩年間,數(shù)據(jù)科學(xué)在Twitter的應(yīng)用方式和范圍發(fā)生了很大變化:


·   工具的智能化上,Pig已經(jīng)由期了,現(xiàn)在的數(shù)據(jù)流水線都是用Scalding(建立在串聯(lián)之上的Scala領(lǐng)域特定語(yǔ)言,便于具體描述Hadoop MapReduce任務(wù)——譯者注)編譯的。


·   組織結(jié)構(gòu)上,數(shù)據(jù)科學(xué)家和產(chǎn)品經(jīng)理、工程師的工作環(huán)環(huán)相嵌,合作之緊密親密史無(wú)前例。


以上只是眾多改變中的一小部門(mén)。拿我來(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)上風(fēng)的。


與此同時(shí),人們對(duì)于數(shù)據(jù)科學(xué)的需求與渴想在不斷攀升。


“大數(shù)據(jù)就像青春期的性:每個(gè)人都在討論,但鮮有人在行,大家覺(jué)得所有人都在做,所以大家都聲稱(chēng)自己在做。”——Dan Ariely(行為經(jīng)濟(jì)學(xué)大牛,著有《怪誕行為學(xué)》—譯者注)


關(guān)于如何成為一名數(shù)據(jù)科學(xué)家的討論有良多良多。盡管這些探討信息量都很大(我便是眾多受益者之一),人們老是傾向于過(guò)分夸大技術(shù)、工具和技巧的重要性。我認(rèn)為,對(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è)行列中!


來(lái)Twitter之前,我認(rèn)為數(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用戶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)的詳細(xì)的實(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í)有素的軟件工程師。構(gòu)建型數(shù)據(jù)科學(xué)家的關(guān)注點(diǎn)是把數(shù)據(jù)“投入出產(chǎn)”。他們建立的模型通常以“推薦”的方式與用戶互動(dòng),好比產(chǎn)品、你可能熟悉的人、廣告、片子、搜索結(jié)果等。


真但愿自己早些知道這兩種數(shù)據(jù)科學(xué)家的分別。假如你想成為一名數(shù)據(jù)科學(xué)家,注意這種分別——這對(duì)你選擇職業(yè)道路以及做取舍長(zhǎng)短常有匡助的。


個(gè)人而言,我是學(xué)數(shù)學(xué)、操縱研究和統(tǒng)計(jì)出身的。我以為我是一名分析型數(shù)據(jù)科學(xué)家,但我非常享受用到編程設(shè)計(jì)的構(gòu)建型項(xiàng)目!


在初期創(chuàng)業(yè)公司、成長(zhǎng)期創(chuàng)業(yè)公司和具有一定規(guī)模的公司擔(dān)任數(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這樣的軟件,由于這種公司并沒(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ī)智而樞紐的:搞清自己到底想做什么類(lèi)型的數(shù)據(jù)科學(xué)工作,然后下功夫衡量這個(gè)企業(yè)的體系體例舉措措施能不能幫你實(shí)現(xiàn)你的目標(biāo)。


發(fā)展初期的創(chuàng)業(yè)公司:數(shù)據(jù)分析主要致力于執(zhí)行記實(shí)(log),建立ETL過(guò)程(Extract-Transform-Load 的縮寫(xiě),用來(lái)描述將數(shù)據(jù)從來(lái)源端經(jīng)由抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的真?zhèn)過(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ù),但因?yàn)閿?shù)據(jù)的“地基”已經(jīng)建好了,公司會(huì)天然地從單純收集數(shù)據(jù)轉(zhuǎn)向從數(shù)據(jù)中形成觀點(diǎn)、提煉價(jià)值。除非這個(gè)企業(yè)本來(lái)對(duì)數(shù)據(jù)的戰(zhàn)略用途就長(zhǎng)短常規(guī)的,大多數(shù)分析型工作主要涉及定義樞紐績(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)上風(fēng),好比:搜索結(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ù)據(jù)倉(cāng)庫(kù)干凈而不亂,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)品部分、工程部分和數(shù)據(jù)科學(xué)部分花了好幾個(gè)月才共同熟悉到數(shù)據(jù)科學(xué)在Growth中扮演著至關(guān)重要的角色。根據(jù)與產(chǎn)品部分緊密親密合作的經(jīng)歷,我的工作內(nèi)容可以分為以下四大類(lèi):


產(chǎn)品洞見(jiàn)


數(shù)據(jù)流水線


A/B測(cè)試


建模


下面我會(huì)分別我做這幾類(lèi)工作的經(jīng)歷與心得。    


產(chǎn)品洞見(jiàn)


在消費(fèi)者技術(shù)公司做數(shù)據(jù)科學(xué)有個(gè)獨(dú)特之處:我們可以利用數(shù)據(jù)來(lái)理解并推測(cè)用戶的意見(jiàn)和偏好。當(dāng)用戶與產(chǎn)品互動(dòng)時(shí),我們能記實(shí)到有價(jià)值的數(shù)據(jù)與元數(shù)據(jù)(描述其他數(shù)據(jù)并提供相關(guān)信息的數(shù)據(jù)集),把它們儲(chǔ)存起來(lái)以便日后分析。


這個(gè)過(guò)程叫做“記實(shí)日志”或“丈量”,而且在不斷進(jìn)級(jí)。數(shù)據(jù)科學(xué)家們常常會(huì)由于數(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)品分析:


推送動(dòng)靜分析——多少用戶合用推送動(dòng)靜?這個(gè)比例是用戶組維度的嗎?仍是客戶端維度?各種類(lèi)型的推送動(dòng)靜點(diǎn)擊率是多少?


短信投放率——如何計(jì)算不同移動(dòng)運(yùn)營(yíng)商下Twitter的短信投放率?新興國(guó)家用戶的投放率更低嗎?如何進(jìn)步這一比率呢?


多個(gè)賬戶——為什么某些國(guó)家的用戶擁有多個(gè)Twitter號(hào)的比例更高?人們使用多個(gè)Twitter號(hào)的念頭是什么?


詳細(xì)分析形式多種多樣——對(duì)簡(jiǎn)樸的數(shù)據(jù)行為(推送分析)給出直白的解釋?zhuān)粍?chuàng)造新生(卻重要的)業(yè)務(wù)指標(biāo)的計(jì)算方法;最后,你可能會(huì)負(fù)責(zé)深入分析用戶行為(小號(hào))。


通過(guò)產(chǎn)品分析進(jìn)而形成洞見(jiàn)是一個(gè)迭代過(guò)程。想做到這一點(diǎn),你需要質(zhì)疑以上題目的謎底,理解產(chǎn)品所處的業(yè)務(wù)環(huán)境,找到合適的數(shù)據(jù)集來(lái)解決題目。久而久之,你將能夠純熟地定位你需要的那組數(shù)據(jù)并對(duì)其含義了如指掌。你將能夠正確地估算做一項(xiàng)分析需要多長(zhǎng)時(shí)間。更重要的是,你會(huì)逐漸從被動(dòng)轉(zhuǎn)為主動(dòng),提出新奇有趣的分析角度——產(chǎn)品負(fù)責(zé)人可能都沒(méi)想到,由于他們根本不知道某組數(shù)據(jù)的存在,抑或是不知道截然不同的數(shù)據(jù)源可以以某種方式互補(bǔ)結(jié)合。


涉及的技能


?  記實(shí)日志和丈量。識(shí)別數(shù)據(jù)斷層。與工程師建立良好的工作關(guān)系。


?  定位、識(shí)別并使用相關(guān)數(shù)據(jù)集。


?  理解類(lèi)型的分析,正確估算各種分析的耗時(shí)或難易程度。


?  玩轉(zhuǎn)查詢語(yǔ)言。能用R或Python做典型的數(shù)據(jù)處理。


數(shù)據(jù)流水線


固然分析型數(shù)據(jù)科學(xué)家不怎么寫(xiě)直接面臨用戶的代碼,為了處理數(shù)據(jù)流水線,我們?nèi)允菚?huì)常常向代碼庫(kù)貢獻(xiàn)一些代碼。


假如你對(duì)Unix公司的Pipe(一個(gè)運(yùn)行一系列指令的操縱)有所耳聞,數(shù)據(jù)流水線就很好理解了——不外是一系列操縱,整合在一起以后能夠自動(dòng)捕獲數(shù)據(jù),輪回地處理并整合數(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í)候,一系列題目就泛起了:依靠關(guān)系治理、計(jì)劃鋪排、資源配置、監(jiān)測(cè)、錯(cuò)誤講演,甚至還有警報(bào)。


下面是創(chuàng)建數(shù)據(jù)流水間的典型過(guò)程示例:


首先,你熟悉到,輪回性地出產(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)審),預(yù)備改代碼。也許你的貿(mào)易邏輯有題目,或者你的代碼沒(méi)能做到速度與效率的最優(yōu)化。


也許你需要測(cè)試程序,空運(yùn)行(不帶數(shù)據(jù)跑代碼——譯者注)一下,看看代碼是否運(yùn)行正常。


整合代碼。把代碼配置好,鋪排好每一個(gè)事項(xiàng)。


設(shè)置監(jiān)控、錯(cuò)誤講演、警報(bào)機(jī)制,以防代碼運(yùn)行犯錯(cuò)。


數(shù)據(jù)流水線顯然比臨時(shí)性分析復(fù)雜得多,但數(shù)據(jù)流水線的好處是,它可以自動(dòng)運(yùn)轉(zhuǎn),出產(chǎn)出來(lái)的數(shù)據(jù)可以被儀表板所利用,這樣更多的用戶就可以使用你的數(shù)據(jù)或結(jié)果。更重要(但往往被忽視)的一點(diǎn)是,簡(jiǎn)歷數(shù)據(jù)流水線的過(guò)程是個(gè)軟件工程實(shí)操的絕佳機(jī)會(huì)。你可認(rèn)為日后建立專(zhuān)業(yè)化流水線打好基礎(chǔ),好比機(jī)器學(xué)習(xí)模型(本文最后一部門(mén)會(huì)對(duì)此進(jìn)行具體說(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。


?  把握依靠治理、計(jì)劃鋪排、資源配置、監(jiān)測(cè)、錯(cuò)誤講演,以及給出提示信息。


A/B測(cè)試


此時(shí)此刻,你用的Twitter APP很有可能和我的有所不同,很可能你有的功能我沒(méi)有。從內(nèi)部工作職員的角度講,Twitter的用戶非常多,因此Twitter可以抽出一小部門(mén)流量來(lái)體驗(yàn)尚未面世的新功能,以便將這部門(mén)實(shí)驗(yàn)組用戶對(duì)新功能的反饋情況與控制組用戶(即未體驗(yàn)新功能的用戶——譯者注)作對(duì)比——這就是A/B測(cè)試,即用來(lái)測(cè)試變量A與變量B哪個(gè)效果更好。


個(gè)人以為,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ò)程是這樣的:收集樣本-用戶分組-開(kāi)始測(cè)試-衡量結(jié)果-對(duì)比分析。聽(tīng)上去很簡(jiǎn)樸對(duì)吧?然而,我以為A/B測(cè)試是最被低估、相稱(chēng)棘手的分析工作,而且學(xué)校一般不教你這種技能。為了說(shuō)明這一點(diǎn),讓我們往返顧一下一上五個(gè)步驟以及實(shí)戰(zhàn)過(guò)程中的常見(jiàn)題目:


?  收集數(shù)據(jù):樣本量需要多少?每組應(yīng)該分配多少用戶?能不能保證明驗(yàn)效果足夠顯著?


?  用戶分組:哪些用戶合用于這個(gè)測(cè)試?應(yīng)該在程序的哪個(gè)階段開(kāi)始分組并對(duì)用戶展示測(cè)試的新功能?這種分組是否會(huì)造成數(shù)據(jù)稀釋?zhuān)ê帽饶承y(cè)試組的用戶在使用過(guò)程中根本用不到我們測(cè)試的新功能)?


?  開(kāi)始測(cè)試:有沒(méi)有其他項(xiàng)目組和我們用統(tǒng)一批樣本做測(cè)試?假如和他們發(fā)生樣本沖突,如何確保我們的數(shù)據(jù)沒(méi)有被污染?


?  衡量結(jié)果:實(shí)驗(yàn)結(jié)果的預(yù)期是什么?衡量實(shí)驗(yàn)成功與否的尺度是什么?衡量尺度可追蹤嗎?如何追蹤?需要額外記實(shí)哪些信息?


?  對(duì)比分析:如果在線用戶激增,這是來(lái)自其他變量的干擾嗎?如何判定結(jié)果是否統(tǒng)計(jì)明顯?假如確實(shí)是統(tǒng)計(jì)明顯的,實(shí)際上用戶組之間的差別真的顯著嗎?


處理好以上題目需要很強(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í)數(shù)據(jù)科學(xué)家用來(lái)計(jì)算成敗指標(biāo)的某些數(shù)據(jù),或者實(shí)驗(yàn)代碼“姿勢(shì)”分歧錯(cuò)誤,造成偏誤。


對(duì)于數(shù)據(jù)科學(xué)家來(lái)說(shuō),故意唱唱反調(diào)、匡助團(tuán)隊(duì)完善實(shí)驗(yàn)是極其重要的,由于鋪張?jiān)谶\(yùn)行設(shè)計(jì)不公道的測(cè)試上的時(shí)間會(huì)一去不復(fù)返。更有甚者,根據(jù)不良數(shù)據(jù)做出的不良決議計(jì)劃會(huì)造成非常嚴(yán)峻的后果。


涉及的技能:


?  假設(shè)檢修:統(tǒng)計(jì)檢修、p值、統(tǒng)計(jì)明顯、統(tǒng)計(jì)力、效應(yīng)值、多重檢修


?  實(shí)驗(yàn)缺陷:滯后效應(yīng)、指標(biāo)選擇、數(shù)據(jù)稀釋、分組異常


猜測(cè)模型與機(jī)器學(xué)習(xí)


我在Twitter做的第一個(gè)大型項(xiàng)目是對(duì)現(xiàn)有的郵箱通知產(chǎn)品增設(shè)一套繁瑣的規(guī)則,進(jìn)而減少對(duì)用戶的騷擾。固然這一舉措十分圣母,我們實(shí)在也清晰郵件通知是留住用戶的最有效的手段之一(我們?cè)鴮?duì)此進(jìn)行試驗(yàn),驗(yàn)證了這一點(diǎn)),所以找到一個(gè)合適的度是樞紐。


針對(duì)這個(gè)樞紐點(diǎn),我旋即決定研究觸發(fā)性郵件——當(dāng)用戶在Twitter上有流動(dòng)時(shí),這種郵件會(huì)像雪片一樣飛進(jìn)用戶的郵箱。作為一個(gè)正在努力證實(shí)自己的價(jià)值的野心勃勃的新晉數(shù)據(jù)科學(xué)家,我決定建立一個(gè)高端機(jī)器學(xué)習(xí)模型來(lái)猜測(cè)用戶水平上的郵件點(diǎn)擊率。我用Pig收集了一大堆用戶特征,建立了隨機(jī)森林模型來(lái)猜測(cè)郵件點(diǎn)擊率。我的思路是,假如一個(gè)用戶的點(diǎn)擊率長(zhǎng)期保持在很低的值,我們就可以安心撤銷(xiāo)該用戶的觸發(fā)性郵件。


其他的都好說(shuō),只有一個(gè)題目——我的程序都是用本地電腦上的R寫(xiě)的。別人承認(rèn)我很努力,但他們無(wú)法利用我的模型來(lái)創(chuàng)造價(jià)值,由于我的沒(méi)有被產(chǎn)品化,公司的組織架構(gòu)無(wú)法和我的局部模型交互。多么慘痛的教訓(xùn)!


一年后,我得到了與兩名來(lái)自Growth的數(shù)據(jù)科學(xué)家一起建立顧客流失猜測(cè)模型的寶貴機(jī)會(huì)。這一次,有了足夠的建立數(shù)據(jù)流水線的經(jīng)驗(yàn),我知道建立機(jī)器學(xué)習(xí)流水線實(shí)在是類(lèi)似的——在練習(xí)階段,我們可以用Python在線下做輪回模型更新;在猜測(cè)部門(mén),我們可以逐日收集用戶特征,用猜測(cè)公式(大多數(shù)只是“點(diǎn)產(chǎn)品”)天生每個(gè)用戶的流失率評(píng)分。


我們花了幾個(gè)星期建起來(lái)流水線,確認(rèn)其具有良好的猜測(cè)能力,全面部署,將用戶流失率評(píng)分輸入到Vertica、Hadoop文件分散系統(tǒng),以及我們的內(nèi)部鍵值存儲(chǔ)“Manhattan”。我們把這些scores涉及的非常便于分析師、數(shù)據(jù)科學(xué)家和工程師查詢。這一點(diǎn)大大匡助我們宣傳并促進(jìn)這個(gè)模型的使用。這是我在建造出產(chǎn)模型時(shí)學(xué)到的最重要的一課。


我故意沒(méi)有提及建立機(jī)器學(xué)習(xí)模型的步驟——建立題目框架,定義標(biāo)簽,手機(jī)練習(xí)數(shù)據(jù),設(shè)計(jì)特征,建立樣品,客觀地測(cè)試模型的可行性。這些步驟顯然都很重要,但我以為這些步驟前人都已經(jīng)講得很明白了,無(wú)需我來(lái)提供相關(guān)建議。


我覺(jué)得大多數(shù)優(yōu)秀的數(shù)據(jù)科學(xué)家,特別是分析型數(shù)據(jù)科學(xué)家,都不存在不會(huì)建模的題目。他們的困惑在于,知道該怎么建模,但不清晰怎么把自己的模型融入到整體生態(tài)環(huán)境里。我對(duì)此的建議是,多和經(jīng)驗(yàn)豐碩的構(gòu)建型數(shù)據(jù)科學(xué)家交流,搞清你需要把握什么技能,潛心修煉,屆時(shí)天然能得心應(yīng)手地接管相關(guān)項(xiàng)目。 請(qǐng)用許我引用以下這段話來(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é)課程客座講座


說(shuō)得非常好。


這里所涉及的技能:


? 模式識(shí)別:識(shí)別可以用模型解決的題目。


? 建模和機(jī)器學(xué)習(xí)的基本功:探索式數(shù)據(jù)分析、簡(jiǎn)歷特征、特征選擇、模型選擇、練習(xí)/驗(yàn)證/測(cè)試、模型評(píng)估


? 出產(chǎn)化:把握上文提到和數(shù)據(jù)流水線相關(guān)的一切知識(shí)。建立索引標(biāo)志以便他人查詢。


一些感想


數(shù)據(jù)科學(xué)家的工作確實(shí)非常令人高興,那種突然窺到天機(jī)的高興感堪比腎上腺素爆發(fā)。從零開(kāi)始構(gòu)建數(shù)據(jù)管道和機(jī)器學(xué)習(xí)模型會(huì)令你成就感滿滿,做A/B測(cè)試時(shí),那種翻手為云覆手為雨的上帝姿態(tài)也非常有樂(lè)趣。數(shù)據(jù)科學(xué)家這條路有苦又累,沿途九九八十一難,但智慧努力的人會(huì)迅速克服的。


任重而道遠(yuǎn),同道仍需努力。Good luck各位,更為重要的是享受這其中的樂(lè)趣!

上一條:網(wǎng)頁(yè)設(shè)計(jì)和規(guī)劃網(wǎng)站時(shí),需...

下一條:做好網(wǎng)站內(nèi)部?jī)?yōu)化讓樞紐詞...