如何系統(tǒng)地學(xué)習(xí)數(shù)據(jù)挖掘
數(shù)據(jù)挖掘:What?Why?How?
這個問題思考了很久,作為過來人談一談,建議先看下以前的一些回答。
磨刀不誤砍柴工。在學(xué)習(xí)數(shù)據(jù)挖掘之前應(yīng)該明白幾點:
- 數(shù)據(jù)挖掘目前在中國的尚未流行開,猶如屠龍之技。
- 數(shù)據(jù)初期的準(zhǔn)備通常占整個數(shù)據(jù)挖掘項目工作量的70%左右。
- 數(shù)據(jù)挖掘本身融合了統(tǒng)計學(xué)、數(shù)據(jù)庫和機器學(xué)習(xí)等學(xué)科,并不是新的技術(shù)。
- 數(shù)據(jù)挖掘技術(shù)更適合業(yè)務(wù)人員學(xué)習(xí)(相比技術(shù)人員學(xué)習(xí)業(yè)務(wù)來的更高效)
- 數(shù)據(jù)挖掘適用于傳統(tǒng)的BI(報表、OLAP等)無法支持的領(lǐng)域。
- 數(shù)據(jù)挖掘項目通常需要重復(fù)一些毫無技術(shù)含量的工作。
如果你閱讀了以上內(nèi)容覺得可以接受,那么繼續(xù)往下看。
學(xué)習(xí)一門技術(shù)要和行業(yè)靠攏,沒有行業(yè)背景的技術(shù)如空中樓閣。技術(shù)尤其是計算機領(lǐng)域的技術(shù)發(fā)展是寬泛且快速更替的(十年前做網(wǎng)頁設(shè)計都能成立公司),一般人沒有這個精力和時間全方位的掌握所有技術(shù)細節(jié)。但是技術(shù)在結(jié)合行業(yè)之后就能夠獨當(dāng)一面了,一方面有利于抓住用戶痛點和剛性需求,另一方面能夠累計行業(yè)經(jīng)驗,使用互聯(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è)里做機器學(xué)習(xí)算法實現(xiàn)和分析。
3)科學(xué)研究方向:在高校、科研單位、企業(yè)研究院等高大上科研機構(gòu)研究新算法效率改進及未來應(yīng)用。
二、說說各工作領(lǐng)域需要掌握的技能
(1).數(shù)據(jù)分析師
- 需要有深厚的數(shù)理統(tǒng)計基礎(chǔ),但是對程序開發(fā)能力不做要求。
- 需要熟練使用主流的數(shù)據(jù)挖掘(或統(tǒng)計分析)工具如Business Analytics and Business Intelligence Software(SAS)、SPSS、EXCEL等。
- 需要對與所在行業(yè)有關(guān)的一切核心數(shù)據(jù)有深入的理解,以及一定的數(shù)據(jù)敏感性培養(yǎng)。
- 經(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ù)挖掘工程師
需要理解主流機器學(xué)習(xí)算法的原理和應(yīng)用。
需要熟悉至少一門編程語言如(Python、C、C++、Java、Delphi等)。
需要理解數(shù)據(jù)庫原理,能夠熟練操作至少一種數(shù)據(jù)庫(Mysql、SQL、DB2、Oracle等),能夠明白MapReduce的原理操作以及熟練使用Hadoop系列工具更好。
經(jīng)典圖書推薦:《數(shù)據(jù)挖掘概念與技術(shù)》、《機器學(xué)習(xí)實戰(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é)研究方向
- 需要深入學(xué)習(xí)數(shù)據(jù)挖掘的理論基礎(chǔ),包括關(guān)聯(lián)規(guī)則挖掘 (Apriori和FPTree)、分類算法(C4.5、KNN、Logistic Regression、SVM等) 、聚類算法 (Kmeans、Spectral Clustering)。目標(biāo)可以先吃透數(shù)據(jù)挖掘10大算法各自的使用情況和優(yōu)缺點。
- 相對SAS、SPSS來說R語言更適合科研人員The R Project for Statistical Computing,因為R軟件是完全免費的,而且開放的社區(qū)環(huán)境提供多種附加工具包支持,更適合進行統(tǒng)計計算分析研究。雖然目前在國內(nèi)流行度不高,但是強烈推薦。
- 可以嘗試改進一些主流算法使其更加快速高效,例如實現(xiàn)Hadoop平臺下的SVM云算法調(diào)用平臺–web 工程調(diào)用hadoop集群。
- 需要廣而深的閱讀世界著名會議論文跟蹤熱點技術(shù)。
- 如KDD,ICML,IJCAI,Association for the Advancement of Artificial Intelligence 等等;
- 數(shù)據(jù)挖掘相關(guān)領(lǐng)域期刊:ACM Transactions on Knowledge Discovery from Data,IEEE Transactions on Knowledge and Data Engineering,Journal of Machine Learning Research Homepage等。
- 可以嘗試參加數(shù)據(jù)挖掘比賽培養(yǎng)全方面解決實際問題的能力。如Sig KDD ,Kaggle: Go from Big Data to Big Analytics等。
- 可以嘗試為一些開源項目貢獻自己的代碼,比如Apache Mahout: Scalable machine learning and data mining ,myrrix等(具體可以在SourceForge或GitHub.上發(fā)現(xiàn)更多好玩的項目)。
- 經(jīng)典圖書推薦:《機器學(xué)習(xí)》 《模式分類》《統(tǒng)計學(xué)習(xí)理論的本質(zhì)》《統(tǒng)計學(xué)習(xí)方法》《數(shù)據(jù)挖掘?qū)嵱脵C器學(xué)習(xí)技術(shù)》《R語言實踐》,英文素質(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ù)挖掘項目實踐的角度講,溝通能力對挖掘的興趣愛好是最重要的,有了愛好才可以愿意鉆研,有了不錯的溝通能力,才可以正確理解業(yè)務(wù)問題,才能正確把業(yè)務(wù)問題轉(zhuǎn)化成挖掘問題,才可以在相關(guān)不同專業(yè)人才之間清楚表達你的意圖和想法,取得他們的理解和支持。所以我認為溝通能力和興趣愛好是個人的數(shù)據(jù)挖掘的核心競爭力,是很難學(xué)到的;而其他的相關(guān)專業(yè)知識誰都可以學(xué),算不上個人發(fā)展的核心競爭力。
說到這里可能很多數(shù)據(jù)倉庫專家、程序員、統(tǒng)計師等等都要扔磚頭了,對不起,我沒有別的意思,你們的專業(yè)對于數(shù)據(jù)挖掘都很重要,大家本來就是一個整體的,但是作為單獨一個個體的人來說,精力有限,時間有限,不可能這些領(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)域,想要有效有機地整合在一起進行數(shù)據(jù)挖掘項目實踐,你說沒有好的溝通能力行嗎?
數(shù)據(jù)挖掘能力只能在項目實踐的熔爐中提升、升華,所以跟著項目學(xué)挖掘是最有效的捷徑。國外學(xué)習(xí)挖掘的人都是一開始跟著老板做項目,剛開始不懂不要緊,越不懂越知道應(yīng)該學(xué)什么,才能學(xué)得越快越有效果。我不知道國內(nèi)的數(shù)據(jù)挖掘?qū)W生是怎樣學(xué)的,但是從網(wǎng)上的一些論壇看,很多都是紙上談兵,這樣很浪費時間,很沒有效率。
另外現(xiàn)在國內(nèi)關(guān)于數(shù)據(jù)挖掘的概念都很混亂,很多BI只是局限在報表的展示和簡單的統(tǒng)計分析,卻也號稱是數(shù)據(jù)挖掘;另一方面,國內(nèi)真正規(guī)模化實施數(shù)據(jù)挖掘的行業(yè)是屈指可數(shù)(銀行、保險公司、移動通訊),其他行業(yè)的應(yīng)用就只能算是小規(guī)模的,比如很多大學(xué)都有些相關(guān)的挖掘課題、挖掘項目,但都比較分散,而且都是處于摸索階段,但是我相信數(shù)據(jù)挖掘在中國一定是好的前景,因為這是歷史發(fā)展的必然。
講到移動方面的實踐案例,如果你是來自移動的話,你一定知道國內(nèi)有家叫華院分析的公司(申明,我跟這家公司沒有任何關(guān)系,我只是站在數(shù)據(jù)挖掘者的角度分析過中國大多數(shù)的號稱數(shù)據(jù)挖掘服務(wù)公司,覺得華院還不錯,比很多徒有虛名的大公司來得更實際),他們的業(yè)務(wù)現(xiàn)在已經(jīng)覆蓋了絕大多數(shù)中國省級移動公司的分析挖掘項目,你上網(wǎng)搜索一下應(yīng)該可以找到一些詳細的資料吧。
我對華院分析印象最深的一點就是2002年這個公司白手起家,自己不懂不要緊,一邊自學(xué)一邊開始拓展客戶,到現(xiàn)在在中國的移動通訊市場全面開花,的確佩服佩服呀。他們最開始都是用EXCEL處理數(shù)據(jù),用肉眼比較選擇比較不同的模型,你可以想象這其中的艱難吧。
至于移動通訊的具體的數(shù)據(jù)挖掘的應(yīng)用,那太多了,比如不同話費套餐的制訂、客戶流失模型、不同服務(wù)交叉銷售模型、不同客戶對優(yōu)惠的彈性分析、客戶群體細分模型、不同客戶生命周期模型、渠道選擇模型、惡意欺詐預(yù)警模型,太多了,記住,從客戶的需求出發(fā),從實踐中的問題出發(fā),移動中可以發(fā)現(xiàn)太多的挖掘項目。最后告訴你一個秘密,當(dāng)你數(shù)據(jù)挖掘能力提升到一定程度時,你會發(fā)現(xiàn)無論什么行業(yè),其實數(shù)據(jù)挖掘的應(yīng)用有大部分是重合的相似的,這樣你會覺得更輕松。
四、成為一名數(shù)據(jù)科學(xué)家需要掌握的技能圖
人一能之,己十之;人十能之,己千之。果能此道矣,雖愚,必明;雖柔,必強。與君共勉。
以上,祝各位挖掘到自己的快樂和金礦。
























