
大數(shù)據(jù)產(chǎn)品的特點(diǎn)和要素
在談?wù)撎攸c(diǎn)和要素之前,先聊聊什么是大數(shù)據(jù)產(chǎn)品,這是個(gè)仁者見仁智者見智的問題,由于其特點(diǎn)過于抽象,每次解釋都很困難。業(yè)內(nèi)人士問我的工作內(nèi)容時(shí)還比較好回答,謙虛的時(shí)候我會(huì)說做做數(shù)據(jù),吹牛的時(shí)候我會(huì)說跑跑模型,尤其是這幾年隨著大數(shù)據(jù)這個(gè)概念越來越火,往往一說到我做大數(shù)據(jù)大家就都多少有了些概念。
可對(duì)于業(yè)外人士這個(gè)問題就難解釋多了,早年還在做網(wǎng)頁(yè)搜索排序的時(shí)候,我就會(huì)經(jīng)常撇開自己做的內(nèi)容舉電商的例子。我會(huì)說我做的事情就是決定你賣的東西能不能排在前面讓別人容易搜到,而決定排名的因素有很多,比如價(jià)格、歷史銷售數(shù)量、好評(píng)數(shù)瀏覽量等等,一般這么講對(duì)方就似乎懂了,覺得我做的事情聽著靠譜。
正如很少有人正面定義大數(shù)據(jù)是什么而是每次說起大數(shù)據(jù)就是說4個(gè)V一樣,更多情況我們選擇從他們的一些特性刻畫他們。所以,本文將要提到數(shù)據(jù)產(chǎn)品往往并不是一個(gè)具象的功能或者事件,他更多的是一個(gè)決策系統(tǒng),指導(dǎo)各個(gè)功能根據(jù)不同的場(chǎng)景完成最佳的響應(yīng)。所以搜索引擎,反作弊反欺詐系統(tǒng),推薦引擎,興趣點(diǎn)/主題提取系統(tǒng)當(dāng)然都是我要討論的大數(shù)據(jù)產(chǎn)品,而廣義上講的一些數(shù)據(jù)產(chǎn)品,比如數(shù)據(jù)詞典類的黑名單白名單,報(bào)表,OLAP, ETL,數(shù)據(jù)流等等則不在討論范圍之內(nèi)。
從特性上講,我今天要談的大數(shù)據(jù)產(chǎn)品往往具有概率的準(zhǔn)確性,自適應(yīng)性和閉環(huán)性等特點(diǎn)。
所謂概率準(zhǔn)確性就是說無(wú)論如何積極的使用最新最高級(jí)的算法,無(wú)論如何實(shí)時(shí)的更新模型,無(wú)論多么努力的清洗數(shù)據(jù)總會(huì)很多bad case摻夾其中。如果以工程的角度把這些負(fù)例當(dāng)bug來看,那么這個(gè)bug可是無(wú)窮無(wú)盡永遠(yuǎn)修不完的。所以數(shù)據(jù)產(chǎn)品往往只能做到高概率的正確,在很多場(chǎng)景就足夠好了。之所以要強(qiáng)調(diào)這一點(diǎn),我認(rèn)為這可以說是大數(shù)據(jù)產(chǎn)品設(shè)計(jì)的世界觀之一了。
做軟件開發(fā),網(wǎng)站應(yīng)用開發(fā)或者是數(shù)據(jù)流等工作很多年的人對(duì)準(zhǔn)確的定義往往更加嚴(yán)苛。對(duì)他們來說,自己的產(chǎn)品離準(zhǔn)確度達(dá)到100%也許也總有差距,可一個(gè)產(chǎn)品只達(dá)到80%的準(zhǔn)確性就沾沾自喜了實(shí)在讓人難以理解。
可是”泛泛來講”,能達(dá)到80%準(zhǔn)確的大數(shù)據(jù)產(chǎn)品已經(jīng)相當(dāng)不錯(cuò)了,很多投入無(wú)數(shù)人力物力數(shù)十年的技術(shù)積累也難將準(zhǔn)確度提高個(gè)10%。所謂“泛泛來講”原因就是大數(shù)據(jù)產(chǎn)品所要解決的問題本身對(duì)準(zhǔn)確性的定義就很難衡量,以搜索引擎為例,相關(guān)性應(yīng)該是衡量搜索結(jié)果好壞的最重要標(biāo)準(zhǔn)之一,從早期的tfidf, page ranking,到后來各種plsa, lda, wordvec2等技術(shù)的引入。我們還是明顯的看到各個(gè)搜索引擎的相關(guān)性是在提高了,可是相關(guān)性的準(zhǔn)確度達(dá)到80%了么?什么又是相關(guān)性的準(zhǔn)確性呢?所以這些事往往只能比較出現(xiàn)在比過去做得好,可是何為進(jìn)化的終極至少目前大多講不清楚。
自適應(yīng)性就是指大數(shù)據(jù)產(chǎn)品一般不是一個(gè)發(fā)行版,執(zhí)行著固定的邏輯不是靜態(tài)的一成不變的,而是總是隨著趨勢(shì)的改變、數(shù)據(jù)的積累,適應(yīng)著行為的變化而自適應(yīng)的反饋出相應(yīng)的結(jié)論。所以大數(shù)據(jù)產(chǎn)品是靠數(shù)據(jù)變得鮮活起來的,自身的邏輯只是給數(shù)據(jù)提供一個(gè)骨骼,支撐各個(gè)數(shù)據(jù)在各個(gè)位置發(fā)揮自己的作用而已。
所謂閉環(huán)性是指大數(shù)據(jù)產(chǎn)品的決策會(huì)直接影響業(yè)務(wù)的表現(xiàn),業(yè)務(wù)的表現(xiàn)會(huì)提升用戶的體驗(yàn),而用戶體驗(yàn)的改善又會(huì)更新數(shù)據(jù)的特性,最終數(shù)據(jù)不同又會(huì)使產(chǎn)品的決策不同。
那么性質(zhì)差不多講清楚了,開始講講各個(gè)要素吧
巧婦難為無(wú)米之炊,但是光有原始數(shù)據(jù)也肯定是不夠的,除了對(duì)數(shù)據(jù)量,數(shù)據(jù)質(zhì)量和數(shù)據(jù)刻畫能力的要求之外(以上因素往往受業(yè)務(wù)邏輯限制),對(duì)于大數(shù)據(jù)產(chǎn)品來說,涉及每一個(gè)元數(shù)據(jù)必須清晰到每一個(gè)細(xì)節(jié)并且很好地進(jìn)行清洗。所謂清晰的到每一個(gè)細(xì)節(jié),就是說對(duì)每一個(gè)數(shù)據(jù)庫(kù)中的column或者日志中的字段,我們都要知道詳細(xì)的定義,知道每個(gè)取值的含義,進(jìn)一步的最好知道詳細(xì)的計(jì)算邏輯。如果只是依賴文檔當(dāng)然是很快的一種上手的方式,但文檔更新的滯后性往往造成了一些字段含義被誤解。
比如有一個(gè)字段為了節(jié)省空間是用bit的方式存儲(chǔ)的,文檔可能是這樣介紹的,該字段共用了兩個(gè)bit分別表示兩個(gè)地區(qū)是否命中一個(gè)邏輯,1代表命中。于是就可能出現(xiàn)了這樣一幕,我們需要取第二位對(duì)應(yīng)的地域的信息的統(tǒng)計(jì)結(jié)果時(shí),某位工程師寫了.filter( _ >=2)這樣的簡(jiǎn)單易懂的代碼,對(duì)兩個(gè)地域來講這個(gè)邏輯雖然不好但是不錯(cuò), 但殊不知這個(gè)文檔已經(jīng)過時(shí)很久,其實(shí)已經(jīng)是對(duì)應(yīng)了四個(gè)地域,這個(gè)條件會(huì)將很多其它情況通過過濾。
所以每個(gè)數(shù)據(jù)項(xiàng)在知道定義之后,統(tǒng)計(jì)其最大,最小,null的數(shù)量,分布情況是一個(gè)基本而且必須的過程,如果有條件最好畫一個(gè)一目了然的histgram或者boxplot更好。然后看每一項(xiàng)根據(jù)這個(gè)定義是不是可以解釋。數(shù)據(jù)清洗的過程當(dāng)然是基于了對(duì)每一個(gè)字段的理解深刻進(jìn)行的。一個(gè)大公司往往會(huì)有專門的團(tuán)隊(duì)對(duì)于核心數(shù)據(jù)進(jìn)行清理,即使這樣,數(shù)據(jù)清理所占的工作量依然是巨大的,而對(duì)一個(gè)從raw data開始的大數(shù)據(jù)產(chǎn)品數(shù)據(jù)清理的工作量甚至可能會(huì)超過總工程量的80%
人也是我認(rèn)為最重要的一條。而對(duì)于人的特性中我并不認(rèn)為最重要的是技能或者背景,更多的我認(rèn)為是懷疑和求是的精神。我和很多各種水平,各種背景的數(shù)據(jù)工程師工作過,有的可以對(duì)一些比較復(fù)雜的機(jī)器學(xué)習(xí)算法的每個(gè)細(xì)節(jié)侃侃而談,有的甚至連線性回歸的關(guān)鍵指標(biāo)都講不出來,但實(shí)際上從對(duì)一個(gè)產(chǎn)品的貢獻(xiàn)度來講后者未必低于前者。
所以一個(gè)不錯(cuò)的數(shù)據(jù)工程師,會(huì)機(jī)器學(xué)習(xí)算法當(dāng)然好,但最重要的是有懷疑和求是的精神。我認(rèn)為做數(shù)據(jù),其實(shí)就是在抽象對(duì)世界的一個(gè)認(rèn)知,講真理什么的就講遠(yuǎn)了,但是我們要不停的考慮數(shù)據(jù)的可解釋性,策略結(jié)論的合理性,反面樣例存在的原因。既要不停的用一般的common sense去度量每一步的數(shù)據(jù),又要依賴數(shù)據(jù)工具和各種metrics去公正的評(píng)估策略的結(jié)果,還要相信數(shù)學(xué)模型得到的結(jié)論不停修正自己的世界觀。
這里所講的數(shù)據(jù)流并不是單純的數(shù)據(jù)采集清洗以及存儲(chǔ)的過程,還包括了自動(dòng)挖掘,特征提取,模型訓(xùn)練和模型發(fā)布上線的過程。這個(gè)因素給人的印象似乎和前面談的不一致,這好像是在說純工程上的問題。但在一些場(chǎng)景之下,數(shù)據(jù)模型的高速迭代對(duì)業(yè)務(wù)來說就是一個(gè)非常重要的改進(jìn)。曾經(jīng)在做一個(gè)項(xiàng)目里預(yù)估模型時(shí),單是從每天更新一次的模型提高到了一天四次更新,在各方面線上表現(xiàn)就有了明顯的提升。
所以在項(xiàng)目的初期,也許確實(shí)沒有必要做到高頻的更新,但設(shè)計(jì)中應(yīng)該涵蓋對(duì)這種時(shí)效的提升考慮。比如只要做大機(jī)器夠多,MR數(shù)量夠多,模型更新的頻次就能增加,這樣就算可以接收的設(shè)計(jì)。如果能利用一些data streaming技術(shù)如spark來做實(shí)時(shí)機(jī)器學(xué)習(xí)那就更牛了,可是也要具體場(chǎng)合具體分析,如果每天的業(yè)務(wù)量本身就有限,又何必搞那么復(fù)雜,過猶不及。但是無(wú)論如何,無(wú)論是data pipeline還是模型分布,中間任何一個(gè)環(huán)節(jié)需要人手工做某些事情是絕對(duì)不能忍受的。
線下評(píng)估省錢省力省時(shí)間,可是線上才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),這也引入了三個(gè)問題,線上模型表現(xiàn)和線下訓(xùn)練數(shù)據(jù)處理的一致性,線上實(shí)驗(yàn)平臺(tái)設(shè)計(jì)以及線下評(píng)估的不斷完善。這三個(gè)問題每一個(gè)都可以展開講很久,都是值得我們不斷努力改善的方向。
這個(gè)只簡(jiǎn)單講兩句,未必復(fù)雜的高級(jí)的算法就是好的,未必別人的最佳實(shí)踐就是可以復(fù)制的。選擇算法的時(shí)候,對(duì)于自己精通的算法,即使簡(jiǎn)單只要用的恰當(dāng)也許效果也相當(dāng)不錯(cuò),當(dāng)然我們也不能故步自封在已知的領(lǐng)域,不停嘗試新的技術(shù)也是推動(dòng)大數(shù)據(jù)產(chǎn)品不停進(jìn)化的動(dòng)力。
之所以講了這么多點(diǎn)才講到似乎應(yīng)該第一個(gè)講的需求分析,就是大數(shù)據(jù)產(chǎn)品的不確定性決定的。要解決的問題雖然明確,但是解決的方法卻不是唯一的,而且很可能是需要不停探索嘗試才能解決的。我們每做一個(gè)原型,每做一個(gè)分析的時(shí)候只要不停的問自己,這個(gè)數(shù)據(jù)說明了什么,這個(gè)數(shù)據(jù)是否有用,這個(gè)方向是否可能跟要解決的問題在某個(gè)維度有一個(gè)小的夾角,這些工作都可能成為后來非常有意義甚至是決定性的因素。
講到這個(gè)點(diǎn)的時(shí)候,我猶豫了很久,因?yàn)檫@個(gè)點(diǎn)就像是要向大家介紹一個(gè)會(huì)給自己帶來某些好處的劣習(xí)一樣。一切大數(shù)據(jù)產(chǎn)品的最終形態(tài)應(yīng)該是由數(shù)據(jù)和模型來闡述它自己而沒有任何人工的因素。
我所經(jīng)歷的好多比較大的項(xiàng)目也都是在向著這個(gè)方向努力,可是不得不說,對(duì)于業(yè)務(wù)剛剛上線的時(shí)候,簡(jiǎn)單暴力的人工規(guī)則往往效果極佳,所以很多項(xiàng)目都是到了人工干預(yù)不再見效的時(shí)候才開始引入機(jī)器學(xué)習(xí)的模型,到目前為止我無(wú)法判斷這是不是最佳實(shí)踐,畢竟當(dāng)初開開心心加入的規(guī)則在去除的時(shí)候則是萬(wàn)般艱難,各種規(guī)則的疊加造成了牽一發(fā)而動(dòng)全身。但一開始就能做到毫無(wú)人工干預(yù),讓模型來解釋自己是否又太過理想呢。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10