以什么姿勢進入DataMining會少走彎路? http://mp.weixin.qq.com/s?__biz=MzA5NzkxMzg1Nw==&mid=2653159305&idx=1&sn=077410cb7d95af0c343a13dbbd4e53fc&mpshare=1&scene=1&srcid=0510gYeDGwNdlniGYhamMGjn#wechat_redirect
前言:大數(shù)據(jù)時代早已經(jīng)來臨宜猜,很多年輕人急著鬧著想要躋身于大數(shù)據(jù)行業(yè)搏存,不免也有一些不得志的中年人。自然而然的會報各種培訓(xùn)班的妖,理所當(dāng)然認(rèn)為付出總有一天會賺回來的绣檬。但卻走了不少彎路,花了不少錢嫂粟。倘若在我寫的文章中娇未,能有所啟發(fā)和收獲,希望諸位能夠以恰當(dāng)?shù)淖藙葸M入DataMining吧赋元!
畫外音:看過身邊花1w+大洋報培訓(xùn)班忘蟹,周末夜里堅持學(xué)習(xí)的同學(xué)飒房;面過碩士、博士甚至留學(xué)交換生媚值,但結(jié)果總不盡如人意狠毯;現(xiàn)如今堪比前端一樣渾濁的算法領(lǐng)域,讓人擔(dān)憂褥芒。
承認(rèn)一點嚼松,每個人都在進步,每個人都走過彎路锰扶,曾幾某時献酗,自己也一腔熱血的寫過一篇文章,后來分享了出來 “神愛眾人坷牛,于是帶來Python” 罕偎。目前來看,那篇文章寫得并不好京闰,感興趣的可以去看看颜及。
前不久,給公司同事做算法培訓(xùn)時候蹂楣,說了自己在算法領(lǐng)域的四點信仰俏站,可以和看官一起分享:
信仰1:不以具體業(yè)務(wù)場景出發(fā),不考慮大數(shù)據(jù)并發(fā)實現(xiàn)的數(shù)據(jù)挖掘痊土,都在耍流氓肄扎;
信仰2:知其然,曉其所以然赁酝,萬變不離其宗犯祠,必定變化莫測,這正是算法魅力酌呆;
信仰3:在DataMining領(lǐng)域雷则,不做兩種人。一種是工具人肪笋,一種是研究者;
信仰4:擁有健康度迂、豐滿的數(shù)據(jù)藤乙,業(yè)務(wù)場景建模已經(jīng)成功90%以上了;
余下的內(nèi)容惭墓,也將對上面四點分別做闡述坛梁,附帶案例說明:
學(xué)會考慮業(yè)務(wù)場景建模,多思考大數(shù)據(jù)并發(fā)下的實現(xiàn):
案例1:一些網(wǎng)絡(luò)授課腊凶,每當(dāng)提起分類算法划咐,最常用的典型二分類是男性和女性判別拴念?
a.普遍的講解流程,介紹各種分類算法褐缠,DT政鼠、LR、NB和SVM等等队魏;b.接下來公般,考慮用戶一些基礎(chǔ)的網(wǎng)站行為數(shù)據(jù),平均訪問時長胡桨、nick官帘、瀏覽page、每日pv等等昧谊;c.最后刽虹,帶入數(shù)據(jù),套用模型呢诬,個別還會考慮清洗數(shù)據(jù)涌哲,一切就Over;
一堂簡單網(wǎng)絡(luò)授課馅巷,也許不能面面俱到膛虫,
但也絕對不能錯誤的引導(dǎo)DM(數(shù)據(jù)挖掘)的核心要領(lǐng)
。比如:
讓學(xué)習(xí)者認(rèn)為算法是整個數(shù)據(jù)挖掘的核心钓猬?數(shù)據(jù)挖掘就是隨便找到數(shù)據(jù)套用模型稍刀,甚至工具包就OK了?
很多很多不恰當(dāng)?shù)乃枷牍噍敵ú埽亲尙F(xiàn)如今算法行業(yè)魚龍混雜账月,我也不是批判者,也不是熬雞湯人澳迫。我會這樣簡單去介紹局齿,二分類場景下的男性和女性判別:
Step1:Where 在哪個行業(yè)下的用戶性別判斷的場景需求?(比如:電商行業(yè))
Step2:Why 需要去分析用戶性別橄登?(現(xiàn)如今抓歼,在資金有限的情況下[廣告費,站外流量和短信等等]拢锹,精準(zhǔn)化營銷的需求越來越強烈谣妻,同時用戶體驗也會是至關(guān)重要,如何做到千人千面卒稳?如何提高整個平臺蹋半,或者商家店鋪的成交轉(zhuǎn)化率、用戶回購率和用戶粘度充坑?甚至如何給每個用戶展示他所想看到的寶貝詳情頁减江?這些的這些染突,都是需要對用戶,乃至店鋪辈灼、商品和品牌進行畫像份企,構(gòu)建標(biāo)簽體系,其中就包括用戶性別R鹦荨)
Step3:What 如何去分析用戶性別薪棒?(在數(shù)據(jù)挖掘中,特征選取不當(dāng)榕莺,模型構(gòu)建不當(dāng)俐芯,都會容易引起[欠擬合]和[過擬合],因此在電商行業(yè)的用戶性別分析钉鸯,首先明確一個概念區(qū)別(用戶網(wǎng)站性別和用戶線下性別)吧史,顧名思義,一個是用戶真實性別唠雕,一個是用戶在網(wǎng)站的行為性別贸营,而真正對我們有意義的,當(dāng)然是后者岩睁。因此钞脂,在考慮用戶性別分析特征時,核心要素是考慮用戶在平臺購買過的類目行為(每款商品在設(shè)計之初捕儒,都會明確目標(biāo)群體)冰啃。但是,畢竟會存在很多用戶是新用戶刘莹,這也正是模型的冷啟動問題阎毅。如果你認(rèn)為算法是最厲害的,到這里点弯,你會無能為力扇调;但如果你夠了解業(yè)務(wù),了解數(shù)據(jù)抢肛,你會觀察到用戶的收貨姓名(但狼钮,注意,經(jīng)驗表明捡絮,每一個電商購物用戶燃领,都可能會存在多個收貨姓名 ? 甚至存在非姓名的收貨姓名?剩下深入的細節(jié)锦援,需要建模之處進行合理把控的)
Step4:When 什么時候去分析用戶?(通過上面的分析剥悟,想必已經(jīng)夠清楚了灵寺,模型構(gòu)建一定要場景化曼库,也必然場景細分,也有就用戶細分略板!這里主要分三類毁枯,a.新用戶,b.購買行為數(shù)在一定范圍內(nèi)叮称?c.高頻購買行為用戶种玛?
Step5:How 去分析用戶性別?(整個二分類場景瓤檐,模型被我放在最后赂韵,希望學(xué)習(xí)數(shù)據(jù)挖掘的同學(xué),對于業(yè)務(wù)和算法的分量挠蛉,要在心目中有分寸祭示。這里會考慮冷啟動模型、分類算法(比如樸素貝葉斯)和符號模型的組合谴古。這里灌輸一個思想:模型 质涛!= 單算法,而是由多算法+一系列規(guī)則邏輯組合而成)
[總結(jié)]:一堂課程掰担,還是花了很多培訓(xùn)費汇陆,即使不能闡述太多,但我想带饱,如果通過上述方式毡代,會不會更恰當(dāng)呢?
案例2:很多學(xué)者不考慮大數(shù)據(jù)并發(fā)的實現(xiàn)纠炮,玩習(xí)慣性的單機版時間久了月趟,很難走出這道坎。比如很多人用協(xié)同過濾恢口,考慮過大數(shù)據(jù)量下大矩陣相乘的實現(xiàn)孝宗?
知其然,曉其所以然耕肩,萬變不離其宗因妇,必定變化莫測:
案例3:很多使用算法,甚至數(shù)據(jù)清洗方式的同學(xué)猿诸,更多是將知道的方法組合在一起婚被,認(rèn)為這就是數(shù)據(jù)挖掘?
我想梳虽,這也許還是
網(wǎng)絡(luò)課程給學(xué)習(xí)者帶來的詬病吧址芯!
因為課程上已經(jīng)千篇一律的講述了數(shù)據(jù)挖掘的流程體系,所以學(xué)習(xí)者都會這樣做:a.業(yè)務(wù)場景需求出現(xiàn):不假思索就采取能想到的特征變量;b.不考慮數(shù)據(jù)清洗谷炸,不考慮歸一化北专,無量綱化處理,甚至異常和缺失值旬陡,就直接進入模型拓颓;c.不了解具體某一個算法的原理性,一味的用各種工具包描孟,甚至扯上了Spark驶睦,R,Mahout 和python等等匿醒,輸入數(shù)據(jù)就OK了场航;......很多很多,畢竟我不是批判者青抛,我只是希望大家能夠做一件正確的事旗闽,再正確做好這件事!
如果換做我蜜另,我會這樣思考适室!
Step1:業(yè)務(wù)需求出現(xiàn)時,多向?qū)I(yè)運營人員了解業(yè)務(wù)背景举瑰,結(jié)合自己理解捣辆,確定初步的特征變量,觀察數(shù)據(jù)分布此迅;
Step2:考慮異常值和缺失值處理(這些都是觀察數(shù)據(jù)找到的思路)汽畴,甚至結(jié)合數(shù)據(jù)分布,采取合適的無量綱化處理方式耸序, 甚至一定程度上降維忍些;
Step3:結(jié)合業(yè)務(wù)場景建模,用戶群體細分坎怪,確定模型選擇罢坝,以及所選算法,比如NB(樸素貝葉斯)搅窿。
Step4:需要深入了解樸素貝葉斯的原理嘁酿,知道優(yōu)勢和不足,甚至優(yōu)化方向(比如:取Log男应、加平滑曲線等)
[總結(jié)]這里只是一個大概的思路闹司,如果課堂時間允許情況下,用具體二分類(性別判別)的案例分析流程沐飘,這樣學(xué)生能夠領(lǐng)悟到更透徹游桩。而不是一味的就那幾步數(shù)據(jù)挖掘步驟牲迫!
在DataMining領(lǐng)域,不做兩種人众弓。一種是工具人恩溅,一種是研究者:
做數(shù)據(jù)挖掘,如果真正熱愛這個行業(yè)谓娃,并希望落實想法,不推薦大家做以上兩類人蜒滩,工具人和研究者滨达。[工具人]:面試過很多人,(這里談離線批處理)基本都是Python(很多面試者被豆瓣電影評分的案例害得不淺案┘琛<癖椤)郎汪,很多一味追潮流攻旦,也整一個Spark來調(diào)包,認(rèn)為就是懂?dāng)?shù)據(jù)挖掘了龄捡,甚至Mahout和R等等啦辐;PS:我曾經(jīng)反問一位面試者谓传,如果讓你招人,你會愿意選擇芹关,只會用包续挟,缺乏思考怎么去用?為什么這樣用侥衬?甚至如何改進和組合的人诗祸? 顯而易見,面試者的答案是不會招這樣的人轴总!我這里不是批判工具如何不好直颅,曾經(jīng)大學(xué),我也只是會用Matlab怀樟、Spss功偿,甚至Lingo。畢業(yè)初期漂佩,也只是會用Python和R等脖含。我主要說的是,優(yōu)秀的模型投蝉,不單單是某一個算法能夠解決的养葵,其中還包括很多組合算法和邏輯規(guī)則。單獨的使用工具瘩缆,結(jié)合業(yè)務(wù)的個性化需求會得不到很好滿足关拒,甚至如果讓你調(diào)優(yōu)算法,一方面你缺乏算法原理的理解,另一方面着绊,你修改源碼的也會很費腦谐算、費神啊归露![總結(jié)]:技術(shù)沒什么吸引人的洲脂,它的魅力在于服務(wù)業(yè)務(wù),通過業(yè)務(wù)發(fā)展來驅(qū)動技術(shù)提高剧包。這里推薦MapReduce恐锦!
[研究者]這類人,不過多討論疆液,畢竟這個社會是需要這樣一類人存在的一铅,我也很佩服他們。 我前面說的前提是堕油,如果真正熱愛大數(shù)據(jù)下的數(shù)據(jù)挖掘潘飘,并落實想法,還是直接作為一個實踐者吧掉缺!
擁有健康卜录、豐滿的數(shù)據(jù),業(yè)務(wù)場景建模已經(jīng)成功90%以上了
越到最后攀圈,闡述的理由會更少暴凑。因為,該說的都已經(jīng)說了赘来!只想勸各位數(shù)據(jù)挖掘愛好者现喳、實踐者或工作者.好的模型,不是用了如此NB的算法模型犬辰,而是優(yōu)秀的泛化能力嗦篱,而具備泛化能力的模型,缺乏良好的數(shù)據(jù)源幌缝,會是一棵長不大的樹苗的灸促;Google的阿法狗如此厲害,和它完備涵卵、真實和健康的數(shù)據(jù)源密不可分的浴栽!