基礎(chǔ)篇: 1.讀書《Introduction to Data Mining》,這本書很淺顯易懂,沒有復(fù)雜高深的公式,很合適入門的人。另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些數(shù)據(jù)倉庫方面的知識。如果對算法比較喜歡,可以再閱讀《Introduction to Machine Learning》。 2.實(shí)現(xiàn)經(jīng)典算法。有幾個部分: a.關(guān)聯(lián)規(guī)則挖掘 (Apriori, FPTree, etc.) b.分類 (C4.5, KNN, Logistic Regression, SVM, etc.) c.聚類 (Kmeans, DBScan, Spectral Clustering, etc.) d.降維 (PCA, LDA, etc.) e.推薦系統(tǒng) (基于內(nèi)容的推薦,協(xié)同過濾,如矩陣分解等) 然后在公開數(shù)據(jù)集上測試,看實(shí)現(xiàn)的效果??梢栽谙旅娴木W(wǎng)站找到大量的公開數(shù)據(jù)集:http://archive.ics./ml/ 3.熟悉幾個開源的工具: Weka (用于上手); LibSVM, scikit-learn, Shogun 4.到 https://www./ 上參加幾個101的比賽,學(xué)會如何將一個問題抽象成模型,并從原始數(shù)據(jù)中構(gòu)建有效的特征 (Feature Engineering). 到這一步的話基本幾個國內(nèi)的大公司都會給你面試的機(jī)會。 進(jìn)階篇: 1.讀書,下面幾部都是大部頭,但學(xué)完進(jìn)步非常大。 a.《Pattern Recognition and Machine Learning》 b.《The Elements of Statistical Learning》 c.《Machine Learning: A Probabilistic Perspective》 第一本比較偏Bayesian;第二本比較偏Frequentist;第三本在兩者之間,但我覺得跟第一本差不多,不過加了不少新內(nèi)容。當(dāng)然除了這幾本大而全的,還有很多介紹不同領(lǐng)域的書,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理論一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。這些書的課后習(xí)題也非常有用,做了才會在自己寫Paper的時候推公式。 2.讀論文。包括幾個相關(guān)會議:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及幾個相關(guān)的期刊:TKDD,TKDE,JMLR,PAMI等。跟蹤新技術(shù)跟新的熱點(diǎn)問題。當(dāng)然,如果做相關(guān)research,這一步是必須的。例如我們組的風(fēng)格就是上半年讀Paper,暑假找問題,秋天做實(shí)驗(yàn),春節(jié)左右寫/投論文。 3.跟蹤熱點(diǎn)問題。例如最近幾年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的業(yè)務(wù)都會涉及這些方面。以及一些熱點(diǎn)技術(shù),例如現(xiàn)在很火的Deep Learning。 4.學(xué)習(xí)大規(guī)模并行計算的技術(shù),例如MapReduce、MPI,GPU Computing。基本每個大公司都會用到這些技術(shù),因?yàn)楝F(xiàn)實(shí)的數(shù)據(jù)量非常大,基本都是在計算集群上實(shí)現(xiàn)的。 5.參加實(shí)際的數(shù)據(jù)挖掘的競賽,例如KDDCUP,或 https://www./ 上面的競賽。這個過程會訓(xùn)練你如何在一個短的時間內(nèi)解決一個實(shí)際的問題,并熟悉整個數(shù)據(jù)挖掘項目的全過程。 6.參與一個開源項目,如上面提到的Shogun或scikit-learn還有Apache的Mahout,或?yàn)橐恍┝餍兴惴ㄌ峁└佑行Э焖俚膶?shí)現(xiàn),例如實(shí)現(xiàn)一個Map/Reduce平臺下的SVM。這也是鍛煉Coding的能力。 到這一步國內(nèi)的大公司基本是想哪去哪,而且待遇也不差;如果英語好,去US那邊的公司難度也不大了。 本人談不上什么高手,下面是個人的一點(diǎn)看法。 一、可以先找一些數(shù)據(jù)挖掘方面優(yōu)秀教材來看,把一些基礎(chǔ)且重要的東西理解清楚。R/matlab/SAS之類是都是一些工具,雖然學(xué)會使用工具挺重要,但關(guān)鍵還是工具后面的思想。關(guān)于自學(xué),不知lz是否看過下面的帖子。其中,我挺贊同帖子中pongba的‘只看好書’的看法。 http://www./question/132920/?bsh_bid=98365272 二、個人覺得非常重要的一點(diǎn),盡量參與一些真實(shí)的實(shí)踐項目,從實(shí)際項目/問題出發(fā)學(xué)得更快,也學(xué)得更好!數(shù)據(jù)挖掘是個很寬泛的概念,涉及面很廣,不同應(yīng)用領(lǐng)域的數(shù)據(jù)挖掘也不一樣。從一些項目作為切入點(diǎn),你可以了解到哪些知識是最欠缺的,哪些最需要學(xué)的,然后再逐漸擴(kuò)充相關(guān)的知識。 三、估計學(xué)什么都差不多,需要不斷堅持和積累吧。 數(shù)據(jù)挖掘這個東西,要看你追求的是什么? 注意到你是想自學(xué)?那一幫情況下,就可以理解為不是奔科研去的,看起來應(yīng)該是追求實(shí)用。 那么作為一個帶了N年數(shù)據(jù)分析團(tuán)隊,算是有點(diǎn)經(jīng)驗(yàn)的人,建議你找點(diǎn)實(shí)際的項目去做。 首先是要弄明白你想挖點(diǎn)什么出來?如果你說不知道,抱歉,你可能還是在追科研的路。 實(shí)際的項目中: 首先就是要明確你希望挖的東西能產(chǎn)生什么業(yè)務(wù)價值,而非用什么挖掘算法,那是手段,可以在后面再關(guān)注;要能夠具體描繪你的挖掘目標(biāo)、價值,以及挖掘成果的預(yù)期展現(xiàn)形式,說服力如何,等等; 其次,和相關(guān)的小伙伴討論,為了挖出你想要的成果,需要利用到哪些數(shù)據(jù)?這些數(shù)據(jù)中,哪些是已經(jīng)有的,哪些還得想辦法去收集?其中是否有些數(shù)據(jù)根本是不可能收集到的?這些收集不到的數(shù)據(jù)對于你想挖的成果會有什么影響?如果是致命影響,直接導(dǎo)致你的挖掘成果缺乏說服力,那就此歇菜,另找其他方向吧。反之,則安排計劃和資源,把能收集到的數(shù)據(jù)盡快收集起來; 再次,根據(jù)收集到的數(shù)據(jù)的特點(diǎn)和收集過程的質(zhì)量情況,清洗收集到的數(shù)據(jù); 根據(jù)挖掘目標(biāo)的情況和收集到的數(shù)據(jù)的特點(diǎn),制定挖掘規(guī)劃,選擇合適的挖掘算法; 然后,就開始挖吧; 第一輪挖完,看看成果如何?有道理嗎?有說服力嗎?大多數(shù)情況,你會發(fā)現(xiàn),哦,暈,忘了應(yīng)該把這幾個因素考慮進(jìn)去了,還應(yīng)該加進(jìn)去這幾方面的數(shù)據(jù)才能看出來。好,繼續(xù)轉(zhuǎn)向第2步,繼續(xù)收集數(shù)據(jù)、清洗、調(diào)算法/參數(shù),挖出來后再評估,一般情況得這么循環(huán)N個回合; 馬馬虎虎出來個差不多靠譜、勉強(qiáng)能自圓其說的初胚,這個成果看上去像那么回事兒了。 總結(jié)一個說法(分析成果)出來,為了你的說法,把數(shù)據(jù)再針對性地洗上幾遍,給出一個更加干凈的分析成果,這個版本基本上有說服力了。 講究一點(diǎn)的,再畫個信息圖什么的,圖文并茂,就可以初步交作業(yè)了; 在真實(shí)的項目中,還有一步,就是選取重要的評估視角和指標(biāo),根據(jù)具體的業(yè)務(wù)特點(diǎn),把你的分析過程做成每周/每日/每小時都能給個角度固定的分析報告的服務(wù)。 再往前一步,如果你對這塊業(yè)務(wù)真的很熟的話,還可以針對不同類型的分析結(jié)果,能給出相應(yīng)的建議應(yīng)對措施(Action),這樣這此挖掘的業(yè)務(wù)價值就真正明確了。你做的活兒也沒有停留在“活兒”這個份兒上,而是決策支持這個級別上了。 磨刀不誤砍柴工。在學(xué)習(xí)數(shù)據(jù)挖掘之前應(yīng)該明白幾點(diǎn):
如果你閱讀了以上內(nèi)容覺得可以接受,那么繼續(xù)往下看。 學(xué)習(xí)一門技術(shù)要和行業(yè)靠攏,沒有行業(yè)背景的技術(shù)如空中樓閣。技術(shù)尤其是計算機(jī)領(lǐng)域的技術(shù)發(fā)展是寬泛且快速更替的(十年前做網(wǎng)頁設(shè)計都能成立公司),一般人沒有這個精力和時間全方位的掌握所有技術(shù)細(xì)節(jié)。但是技術(shù)在結(jié)合行業(yè)之后就能夠獨(dú)當(dāng)一面了,一方面有利于抓住用戶痛點(diǎn)和剛性需求,另一方面能夠累計行業(yè)經(jīng)驗(yàn),使用互聯(lián)網(wǎng)思維跨界讓你更容易取得成功。不要在學(xué)習(xí)技術(shù)時想要面面俱到,這樣會失去你的核心競爭力。 一、目前國內(nèi)的數(shù)據(jù)挖掘人員工作領(lǐng)域大致可分為三類
1)數(shù)據(jù)分析師:在擁有行業(yè)數(shù)據(jù)的電商、金融、電信、咨詢等行業(yè)里做業(yè)務(wù)咨詢,商務(wù)智能,出分析報告; 2)數(shù)據(jù)挖掘工程師:在多媒體、電商、搜索、社交等大數(shù)據(jù)相關(guān)行業(yè)里做機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)和分析; 3)科學(xué)研究方向:在高校、科研單位、企業(yè)研究院等高大上科研機(jī)構(gòu)研究新算法效率改進(jìn)及未來應(yīng)用。 二、說說各工作領(lǐng)域需要掌握的技能
(1)數(shù)據(jù)分析師
經(jīng)典圖書推薦:《概率論與數(shù)理統(tǒng)計》、《統(tǒng)計學(xué)》推薦David Freedman版、《業(yè)務(wù)建模與數(shù)據(jù)挖掘》、《數(shù)據(jù)挖掘?qū)д摗贰ⅰ禨AS編程與數(shù)據(jù)挖掘商業(yè)案例》、《Clementine數(shù)據(jù)挖掘方法及應(yīng)用 》、《Excel 2007 VBA參考大全》、《IBM SPSS Statistics 19 Statistical Procedures Companion》等。 (2)數(shù)據(jù)挖掘工程師
經(jīng)典圖書推薦:《數(shù)據(jù)挖掘概念與技術(shù)》、《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》、《人工智能及其應(yīng)用》、《數(shù)據(jù)庫系統(tǒng)概論》、《算法導(dǎo)論》、《Web數(shù)據(jù)挖掘》、《 Python標(biāo)準(zhǔn)庫》、《thinking in Java》、《Thinking in C++》、《數(shù)據(jù)結(jié)構(gòu)》等。 (3)科學(xué)研究方向
經(jīng)典圖書推薦:《機(jī)器學(xué)習(xí)》 《模式分類》《統(tǒng)計學(xué)習(xí)理論的本質(zhì)》《統(tǒng)計學(xué)習(xí)方法》《數(shù)據(jù)挖掘?qū)嵱脵C(jī)器學(xué)習(xí)技術(shù)》《R語言實(shí)踐》,英文素質(zhì)是科研人才必備的《Machine Learning: A Probabilistic Perspective》《Scaling up Machine Learning : Parallel and Distributed Approaches》《Data Mining Using SAS Enterprise Miner : A Case Study Approach》《Python for Data Analysis》等。 三、以下是通信行業(yè)數(shù)據(jù)挖掘工程師的工作感受 真正從數(shù)據(jù)挖掘項目實(shí)踐的角度講,溝通能力對挖掘的興趣愛好是最重要的,有了愛好才可以愿意鉆研,有了不錯的溝通能力,才可以正確理解業(yè)務(wù)問題,才能正確把業(yè)務(wù)問題轉(zhuǎn)化成挖掘問題,才可以在相關(guān)不同專業(yè)人才之間清楚表達(dá)你的意圖和想法,取得他們的理解和支持。所以我認(rèn)為溝通能力和興趣愛好是個人的數(shù)據(jù)挖掘的核心競爭力,是很難學(xué)到的;而其他的相關(guān)專業(yè)知識誰都可以學(xué),算不上個人發(fā)展的核心競爭力。 說到這里可能很多數(shù)據(jù)倉庫專家、程序員、統(tǒng)計師等等都要扔磚頭了,對不起,我沒有別的意思,你們的專業(yè)對于數(shù)據(jù)挖掘都很重要,大家本來就是一個整體的,但是作為單獨(dú)一個個體的人來說,精力有限,時間有限,不可能這些領(lǐng)域都能掌握,在這種情況下,選擇最重要的核心,我想應(yīng)該是數(shù)據(jù)挖掘技能和相關(guān)業(yè)務(wù)能力吧(從另外的一個極端的例子,我們可以看, 比如一個迷你型的挖掘項目,一個懂得市場營銷和數(shù)據(jù)挖掘技能的人應(yīng)該可以勝任。這其中他雖然不懂?dāng)?shù)據(jù)倉庫,但是簡單的Excel就足以勝任高打6萬個樣本的數(shù)據(jù)處理;他雖然不懂專業(yè)的展示展現(xiàn)技能,但是只要他自己看的懂就行了,這就無需什么展示展現(xiàn);前面說過,統(tǒng)計技能是應(yīng)該掌握的,這對一個人的迷你項目很重要;他雖然不懂編程,但是專業(yè)挖掘工具和挖掘技能足夠讓他操練的;這樣在迷你項目中,一個懂得挖掘技能和市場營銷業(yè)務(wù)能力的人就可以圓滿完成了,甚至在一個數(shù)據(jù)源中根據(jù)業(yè)務(wù)需求可以無窮無盡的挖掘不同的項目思路,試問就是這個迷你項目,單純的一個數(shù)據(jù)倉庫專家、單純的一個程序員、單純的一個展示展現(xiàn)技師、甚至單純的一個挖掘技術(shù)專家,都是無法勝任的)。這從另一個方面也說明了為什么溝通能力的重要,這些個完全不同的專業(yè)領(lǐng)域,想要有效有機(jī)地整合在一起進(jìn)行數(shù)據(jù)挖掘項目實(shí)踐,你說沒有好的溝通能力行嗎? 數(shù)據(jù)挖掘能力只能在項目實(shí)踐的熔爐中提升、升華,所以跟著項目學(xué)挖掘是最有效的捷徑。國外學(xué)習(xí)挖掘的人都是一開始跟著老板做項目,剛開始不懂不要緊,越不懂越知道應(yīng)該學(xué)什么,才能學(xué)得越快越有效果。我不知道國內(nèi)的數(shù)據(jù)挖掘?qū)W生是怎樣學(xué)的,但是從網(wǎng)上的一些論壇看,很多都是紙上談兵,這樣很浪費(fèi)時間,很沒有效率。 另外現(xiàn)在國內(nèi)關(guān)于數(shù)據(jù)挖掘的概念都很混亂,很多BI只是局限在報表的展示和簡單的統(tǒng)計分析,卻也號稱是數(shù)據(jù)挖掘;另一方面,國內(nèi)真正規(guī)模化實(shí)施數(shù)據(jù)挖掘的行業(yè)是屈指可數(shù)(銀行、保險公司、移動通訊),其他行業(yè)的應(yīng)用就只能算是小規(guī)模的,比如很多大學(xué)都有些相關(guān)的挖掘課題、挖掘項目,但都比較分散,而且都是處于摸索階段,但是我相信數(shù)據(jù)挖掘在中國一定是好的前景,因?yàn)檫@是歷史發(fā)展的必然。 講到移動方面的實(shí)踐案例,如果你是來自移動的話,你一定知道國內(nèi)有家叫華院分析的公司(申明,我跟這家公司沒有任何關(guān)系,我只是站在數(shù)據(jù)挖掘者的角度分析過中國大多數(shù)的號稱數(shù)據(jù)挖掘服務(wù)公司,覺得華院還不錯,比很多徒有虛名的大公司來得更實(shí)際),他們的業(yè)務(wù)現(xiàn)在已經(jīng)覆蓋了絕大多數(shù)中國省級移動公司的分析挖掘項目,你上網(wǎng)搜索一下應(yīng)該可以找到一些詳細(xì)的資料吧。我對華院分析印象最深的一點(diǎn)就是2002年這個公司白手起家,自己不懂不要緊,一邊自學(xué)一邊開始拓展客戶,到現(xiàn)在在中國的移動通訊市場全面開花,的確佩服佩服呀。他們最開始都是用EXCEL處理數(shù)據(jù),用肉眼比較選擇比較不同的模型,你可以想象這其中的艱難吧。 至于移動通訊的具體的數(shù)據(jù)挖掘的應(yīng)用,那太多了,比如不同話費(fèi)套餐的制訂、客戶流失模型、不同服務(wù)交叉銷售模型、不同客戶對優(yōu)惠的彈性分析、客戶群體細(xì)分模型、不同客戶生命周期模型、渠道選擇模型、惡意欺詐預(yù)警模型,太多了,記住,從客戶的需求出發(fā),從實(shí)踐中的問題出發(fā),移動中可以發(fā)現(xiàn)太多的挖掘項目。最后告訴你一個秘密,當(dāng)你數(shù)據(jù)挖掘能力提升到一定程度時,你會發(fā)現(xiàn)無論什么行業(yè),其實(shí)數(shù)據(jù)挖掘的應(yīng)用有大部分是重合的相似的,這樣你會覺得更輕松。 來源:愛數(shù)據(jù)網(wǎng) |
|