99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀如何成為一名數(shù)據極客?
如何成為一名數(shù)據極客?
2016-07-09
收藏


對于數(shù)據崗位的員工,互聯(lián)網公司頗有些不同的稱謂,像統(tǒng)計工程師、大數(shù)據工程師、數(shù)據分析師、算法工程師、數(shù)據科學家等,每一種之間的技能差距簡直是風馬牛不相及。但我覺得,數(shù)據崗位的需求千變萬化,真正能通過數(shù)據解決問題的人,不僅要通曉兩到三種崗位的技能,而且要深刻理解數(shù)據方法論,能將數(shù)據玩弄于鼓掌之中,這種人我稱之為數(shù)據極客。好比武俠小說中的絕頂高手,殺人已不需要用劍,劍意就能殺人于無形。數(shù)據極客都需要具備哪些能力?懂數(shù)據的人會怎么去思考和解決問題?我想舉我自身遇到的4個小例子來說明。


懂得創(chuàng)造數(shù)據

在大部分人的常識里,數(shù)據是客觀存在的,既不會遞增,也不會消減。所有當他們繪制報表、展開分析、構建模型時,很容易遭遇的瓶頸是沒有數(shù)據,俗話說,巧婦難為無米之炊。真實的狀況卻是:數(shù)據是無窮無盡的,哪怕有時我們與數(shù)據之間的距離很遠,就像遠在天邊的繁星,「手可摘星辰」只是一個傳說,但經過大氣層的折射我們卻能時刻感受到它們的光輝。不僅光會折射,數(shù)據同樣也會折射。舉一個小例子:

實習生Q跑來問我:「Boss趕著要大廳發(fā)言的數(shù)據去對付投資人,但是后臺礙于發(fā)言的數(shù)據量級太大,一直都沒有保存,無論數(shù)據庫還是日志系統(tǒng)都沒有記錄?!?/span>

我想了一下,問:「客戶端進入大廳頁面的事件一直都有監(jiān)控,可以用那個數(shù)據替代嗎?」

「但是這個數(shù)據并不精確,因為進入大廳的并不完全轉化為發(fā)言?!?/span>

「是的,雖然不十分精確,但可以暫時用這個數(shù)據近似。然后,好友添加的數(shù)據一定程度也能反映大廳發(fā)言的熱度,因為之前的統(tǒng)計顯示,70%的好友關系產生來自于大廳。哦,對了,你有沒有關注大廳界面的發(fā)送按鈕的事件統(tǒng)計?這會是一個更為精確的替代數(shù)據?!?/span>

這就是一個數(shù)據從無到有被創(chuàng)造出來的例子。雖然原始數(shù)據沒有保存,但是數(shù)據極客的任務就是通過其他可能被獲取的數(shù)據逼近原始數(shù)據,從而還原一個較為真實的狀況。如果沒有數(shù)據能夠成為一個罷工的借口,那么我相信恐怕90%的數(shù)據極客都得失業(yè)了。但反過來,如果不是對業(yè)務對數(shù)據的采集都了如指掌,同樣沒辦法快速實現(xiàn)這種變數(shù)據的戲法。

數(shù)據是立體的

20世紀初,畢加索興起了立體主義的繪畫潮流,追求以許多組合的碎片形態(tài)去描寫對象物,并將其置于同一個畫面之中,物體的各個角度交錯疊放創(chuàng)造出了一個多維的迷人空間。這和理想的數(shù)據展示多么相似:客觀存在的問題經過多維度的數(shù)據解讀,被展現(xiàn)在一個二維的平面上,讓讀者即便只站在一個角度,也能看到這個問題在所有角度上的表現(xiàn)。再舉一個小例子(是的,這個例子完全與數(shù)據崗位無關,是一個來自客戶端工程師的困擾):

W是U公司負責海外業(yè)務的安卓工程師,最近盯的是視頻播放的項目,有次閑聊的時候說起,最近做了好幾個底層庫的性能優(yōu)化,但從指標上看卻沒有明顯提升,每次向老大匯報的時候總是心虛。

「性能優(yōu)化的指標是怎么統(tǒng)計的?」

「海外業(yè)務的網絡狀況普遍不好,所以我們最關注的是視頻頁面的加載時間,統(tǒng)計的是從頁面打開到視頻完全加載的時間差,取所有用戶的均值?!?/span>

「這個指標似乎不那么全面,如果一個用戶等待的時間過長,他有可能提前關閉頁面,是否有統(tǒng)計過關閉頁面的數(shù)據?還有,看過這個時間差的分布狀況么?如果性能優(yōu)化有針對一些特殊的客戶端(比如型號、CPU、內存),有沒有看過特殊客戶端下的指標有沒有提升?」

我默想W的下次匯報一定會大肆耀武揚威一番,嘿嘿。

這就是數(shù)據的魔力所在。通過層層剖析,始終能找到與問題相關的有區(qū)分度的數(shù)據,再通過數(shù)據的變化去定位到問題的發(fā)生原因或者發(fā)展趨勢,給出不容置疑的結論。所以,在解決任何問題之前(也不限于數(shù)據崗位),你都必須先構建起一套立體化的數(shù)據監(jiān)控體系,來強有力的印證你的方案是有效的。

厭惡抽樣

無論是做推薦系統(tǒng)、精準營銷還是反欺詐,都會遇到一個現(xiàn)實的問題:如何檢測一個模型的實際效果?在觀察指標之余,抽取一小部分的標記用戶,觀察他們的行為模式,人為去驗證這個模型的準確率,是一個必要的環(huán)節(jié)。但是抽樣如果用得泛濫了,就不是補藥而是毒藥了。再舉個小例子:

G是團隊的新人,有陣子我看他沒日沒夜的加班,忍不住過問了幾句,看是不是最近業(yè)務上碰到了什么瓶頸。一問下來有點啼笑皆非:原來G正在負責一個反欺詐模型的建設,需要一些黑標簽,他從所有用戶中抽取了好幾個特征用戶群,然后從每個用戶群中再抽樣一批用戶,通過日志觀察是否有欺詐行為,這么一來就耗掉了兩天的時間。

抽樣是一種從局部看整體的方法,在抽樣之上,你還要有對整體的把控。比如像G的做法就不符合數(shù)據極客的行為指南,既然可以通過日志觀察到用戶的行為特征,你就應該先把這種行為特征轉化為可用的統(tǒng)計指標(比如識別欺詐,完全可以用收益相關的指標),再計算這幾個用戶群的均值特征,這樣對比下來一目了然,而且省時省力。

善用工具

感謝谷歌創(chuàng)造了這個時代最廉價的數(shù)據核武器 - Hadoop(當然,如果Spark的bug再少一些,我會考慮把AMPLab放到谷歌的前面),數(shù)據的規(guī)模對大部分企業(yè)而言已經是一個無需顧慮的問題。但是數(shù)據極客不會滿足于會用工具的層次,理解工具的原理,靈活的使用工具,使工具變得更加順手,才能真正達到「善」用工具的境界。再舉一個小例子:

Z博士剛畢業(yè)不久,一腔熱血要把高大上的機器學習算法用到我們的推薦系統(tǒng)上,但是第一次的運算結果居然要8個小時才能跑完,遠遠達不到產品團隊的更新要求。于是老大鼓動我去協(xié)助Z提升整個環(huán)節(jié)的效率,我們一起在白板上梳理了整個計算的流程,我發(fā)現(xiàn)有好幾處都是浪費資源降低效率的做法:原始數(shù)據由單機做一次處理再上傳到Hadoop、多個MapReduce其實可以合并為一個、甚至Hadoop的參數(shù)也可以根據機器的性能稍做調整:加大節(jié)點數(shù)、加大Map和Reduce環(huán)節(jié)的可用內存、添加壓縮以減少節(jié)點間傳輸?shù)臅r間。稍作改造,運算時間便只剩下了原來的四分之一。

說到這里,你也許會覺得數(shù)據極客也沒什么巧妙,他們的方法論,和一切工作的方法論沒什么不同,都會要多用腦子、多用工具、多種角度看待問題。既然如此,我可要恭喜你,你已經完全懂得了數(shù)據的妙用,而我一直以為,懂點數(shù)據,會對人的工作和生活大有助益。

本文為@GavinBuildSomething原創(chuàng),CDA數(shù)據分析師已獲得授權

數(shù)據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }