學習數據挖掘,必須明確自己的發展方向和目標。很多人對數據行業里發展方向并不清楚,我們先來說說數據行業的職業發展方向。
數據行業從廣義上講可以分為以下幾個職位:
一、數據挖掘工程師
數據挖掘工程師多是通過對海量數據進行挖掘,尋找數據的存在模式,從而通過數據挖掘來解決具體問題。其更多是針對某一個具體的問題,是以解決具體問題為導向的。例如:聚類分析,通過對于會員各種人口統計學、行為數據進行分析,對客戶進行分類,更好地理解客戶,知道公司會員是到底如何?高、中、低低價值的客戶構成,既可以后期公司的運營提供指導,提高活動效率,可以指導公司的營銷。
做數據挖掘工程, 必須精通數據庫。很多時候,你模型的數據預處理,可能完成在數據庫里完成,你用到的數據庫技巧更高。必須要會成熟的數據挖掘工具、數據挖掘算法,等,當然如果你會一、二款開源軟件,并會寫一些程序代碼那是最好的,大公司都喜歡用開源的軟件。
二、數據分析師
數據分析師更注意是對數據、數據指標的解讀,通過對數據的分析,來解決商業問題。主要有包括:(1)業務監控:診斷當前業務是否正常?是否存在問題?業務發展是否達到預期?如果沒有達到預期,問主要問題在哪?是什么原因引起的?(2)建立分析體系:這些數據分析師已經對業務有一定的理解,對業務也相對比較熟悉,更多幫業務方建立一套分析體系,或者更高級是做成數據產品。例如:營銷活動。分析師會告訴業務方,在活動前你應該分析哪些數據,從而制定恰當的營銷計劃。在營銷過程中,你應該看哪些數據,從而及時做出營銷活動調整。在營銷活動,應該如何進行活動效果評估以及行業未來發展的趨勢分析。
三、商業分析師。
商業分析師在行業、宏觀的層面進行業務分析,預測未來行業的發展,競爭對手的業務構成,幫助公司制定戰略發展計劃,并及時跟蹤、分析市場動態,從而及時對戰略進行不斷優化。主要技能要求:要熟悉基本的統計分析知識、對于與網站相關的業務還可能要求掌握等網站分析工具等。
四、數據建模師
這個職位與數據挖掘工程師還是有本質區別的。數據建模師,更多偏向于中、小數據量,而且其使用更多更多是統計學的方法,數據建模師其實很少會提到算法這個詞。但是有時候,這二個模型越來越沒有明確的分工,一般來說都會二個職位的人都會去學習對方的知識,所以這二個職位有合并的趨勢。
新進入數據行業的同學,可以根據自己的背景背景選擇相應的職位,學數據、統計學的朋友更多可以偏向于建模師,而計算機特別是寫編程好的同學,可以走數據挖掘工程師,也許適應性更好,但這不是絕對的。
那么如何學習數據挖掘呢?
磨刀不誤砍柴工。在學習數據挖掘之前應該明白幾點:
數據挖掘目前在中國的尚未流行開,猶如屠龍之技。
數據初期的準備通常占整個數據挖掘項目工作量的70%左右。
數據挖掘本身融合了統計學、數據庫和機器學習等學科,并不是新的技術。
數據挖掘技術更適合業務人員學習(相比技術人員學習業務來的更高效)
數據挖掘適用于傳統的BI(報表、OLAP等)無法支持的領域。
數據挖掘項目通常需要重復一些毫無技術含量的工作。
如果你閱讀了以上內容覺得可以接受,那么繼續往下看。
學習一門技術要和行業靠攏,沒有行業背景的技術如空中樓閣。技術尤其是計算機領域的技術發展是寬泛且快速更替的(十年前做網頁設計都能成立公司),一般人沒有這個精力和時間全方位的掌握所有技術細節。但是技術在結合行業之后就能夠獨當一面了,一方面有利于抓住用戶痛點和剛性需求,另一方面能夠累計行業經驗,使用互聯網思維跨界讓你更容易取得成功。不要在學習技術時想要面面俱到,這樣會失去你的核心競爭力。
一、目前國內的數據挖掘人員工作領域大致可分為三類。
1)數據分析師:在擁有行業數據的電商、金融、電信、咨詢等行業里做業務咨詢,商務智能,出分析報告。
2)數據挖掘工程師:在多媒體、電商、搜索、社交等大數據相關行業里做機器學習算法實現和分析。
3)科學研究方向:在高校、科研單位、企業研究院等高大上科研機構研究新算法效率改進及未來應用。
二、說說各工作領域需要掌握的技能。
(1)。數據分析師
需要有深厚的數理統計基礎,但是對程序開發能力不做要求。
需要熟練使用主流的數據挖掘(或統計分析)工具如Business Analytics and Business Intelligence Software(SAS)、SPSS、EXCEL等。
需要對與所在行業有關的一切核心數據有深入的理解,以及一定的數據敏感性培養。
經典圖書推薦:《概率論與數理統計》、《統計學》推薦David Freedman版、《業務建模與數據挖掘》、《數據挖掘導論》、《SAS編程與數據挖掘商業案例》、《Clementine數據挖掘方法及應用 》、《Excel 2007 VBA參考大全》、《IBM SPSS Statistics 19 Statistical Procedures Companion》等。
(2)。數據挖掘工程師
需要理解主流機器學習算法的原理和應用。
需要熟悉至少一門編程語言如(Python、C、C++、Java、Delphi等)。
需要理解數據庫原理,能夠熟練操作至少一種數據庫(Mysql、SQL、DB2、Oracle等),能夠明白MapReduce的原理操作以及熟練使用Hadoop系列工具更好。
經典圖書推薦:《數據挖掘概念與技術》、《機器學習實戰》、《人工智能及其應用》、《數據庫系統概論》、《算法導論》、《Web數據挖掘》、《 Python標準庫》、《thinking in Java》、《Thinking in C++》、《數據結構》等。
(3)。科學研究方向
需要深入學習數據挖掘的理論基礎,包括關聯規則挖掘 (Apriori和FPTree)、分類算法(C4.5、KNN、Logistic Regression、SVM等) 、聚類算法 (Kmeans、Spectral Clustering)。目標可以先吃透數據挖掘10大算法各自的使用情況和優缺點。
相對SAS、SPSS來說R語言更適合科研人員The R Project for Statistical Computing,因為R軟件是完全免費的,而且開放的社區環境提供多種附加工具包支持,更適合進行統計計算分析研究。雖然目前在國內流行度不高,但是強烈推薦。
可以嘗試改進一些主流算法使其更加快速高效,例如實現Hadoop平臺下的SVM云算法調用平臺--web 工程調用hadoop集群。
需要廣而深的閱讀世界著名會議論文跟蹤熱點技術。如KDD,ICML,IJCAI,Association for the Advancement of Artificial Intelligence,ICDM 等等;還有數據挖掘相關領域期刊:ACM Transactions on Knowledge Discovery from Data,IEEE Transactions on Knowledge and Data Engineering,Journal of Machine Learning Research Homepage,IEEE Xplore: Pattern Analysis and Machine Intelligence, IEEE Transactions on等。
可以嘗試參加數據挖掘比賽培養全方面解決實際問題的能力。如Sig KDD ,Kaggle: Go from Big Data to Big Analytics等。
可以嘗試為一些開源項目貢獻自己的代碼,比如Apache Mahout: Scalable machine learning and data mining ,myrrix等(具體可以在SourceForge或GitHub.上發現更多好玩的項目)。
經典圖書推薦:《機器學習》 《模式分類》《統計學習理論的本質》《統計學習方法》《數據挖掘實用機器學習技術》《R語言實踐》,英文素質是科研人才必備的《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》等。
三、以下是通信行業數據挖掘工程師的工作感受。
真正從數據挖掘項目實踐的角度講,溝通能力對挖掘的興趣愛好是最重要的,有了愛好才可以愿意鉆研,有了不錯的溝通能力,才可以正確理解業務問題,才能正確把業務問題轉化成挖掘問題,才可以在相關不同專業人才之間清楚表達你的意圖和想法,取得他們的理解和支持。所以我認為溝通能力和興趣愛好是個人的數據挖掘的核心競爭力,是很難學到的;而其他的相關專業知識誰都可以學,算不上個人發展的核心競爭力。
說到這里可能很多數據倉庫專家、程序員、統計師等等都要扔磚頭了,對不起,我沒有別的意思,你們的專業對于數據挖掘都很重要,大家本來就是一個整體的,但是作為單獨一個個體的人來說,精力有限,時間有限,不可能這些領域都能掌握,在這種情況下,選擇最重要的核心,我想應該是數據挖掘技能和相關業務能力吧(從另外的一個極端的例子,我們可以看, 比如一個迷你型的挖掘項目,一個懂得市場營銷和數據挖掘技能的人應該可以勝任。這其中他雖然不懂數據倉庫,但是簡單的Excel就足以勝任高打6萬個樣本的數據處理;他雖然不懂專業的展示展現技能,但是只要他自己看的懂就行了,這就無需什么展示展現;前面說過,統計技能是應該掌握的,這對一個人的迷你項目很重要;他雖然不懂編程,但是專業挖掘工具和挖掘技能足夠讓他操練的;這樣在迷你項目中,一個懂得挖掘技能和市場營銷業務能力的人就可以圓滿完成了,甚至在一個數據源中根據業務需求可以無窮無盡的挖掘不同的項目思路,試問就是這個迷你項目,單純的一個數據倉庫專家、單純的一個程序員、單純的一個展示展現技師、甚至單純的一個挖掘技術專家,都是無法勝任的)。這從另一個方面也說明了為什么溝通能力的重要,這些個完全不同的專業領域,想要有效有機地整合在一起進行數據挖掘項目實踐,你說沒有好的溝通能力行嗎?
數據挖掘能力只能在項目實踐的熔爐中提升、升華,所以跟著項目學挖掘是最有效的捷徑。國外學習挖掘的人都是一開始跟著老板做項目,剛開始不懂不要緊,越不懂越知道應該學什么,才能學得越快越有效果。我不知道國內的數據挖掘學生是怎樣學的,但是從網上的一些論壇看,很多都是紙上談兵,這樣很浪費時間,很沒有效率。
另外現在國內關于數據挖掘的概念都很混亂,很多BI只是局限在報表的展示和簡單的統計分析,卻也號稱是數據挖掘;另一方面,國內真正規模化實施數據挖掘的行業是屈指可數(銀行、保險公司、移動通訊),其他行業的應用就只能算是小規模的,比如很多大學都有些相關的挖掘課題、挖掘項目,但都比較分散,而且都是處于摸索階段,但是我相信數據挖掘在中國一定是好的前景,因為這是歷史發展的必然。
講到移動方面的實踐案例,如果你是來自移動的話,你一定知道國內有家叫華院分析的公司(申明,我跟這家公司沒有任何關系,我只是站在數據挖掘者的角度分析過中國大多數的號稱數據挖掘服務公司,覺得華院還不錯,比很多徒有虛名的大公司來得更實際),他們的業務現在已經覆蓋了絕大多數中國省級移動公司的分析挖掘項目,你上網搜索一下應該可以找到一些詳細的資料吧。我對華院分析印象最深的一點就是2002年這個公司白手起家,自己不懂不要緊,一邊自學一邊開始拓展客戶,到現在在中國的移動通訊市場全面開花,的確佩服佩服呀。他們最開始都是用EXCEL處理數據,用肉眼比較選擇比較不同的模型,你可以想象這其中的艱難吧。
至于移動通訊的具體的數據挖掘的應用,那太多了,比如不同話費套餐的制訂、客戶流失模型、不同服務交叉銷售模型、不同客戶對優惠的彈性分析、客戶群體細分模型、不同客戶生命周期模型、渠道選擇模型、惡意欺詐預警模型,太多了,記住,從客戶的需求出發,從實踐中的問題出發,移動中可以發現太多的挖掘項目。最后告訴你一個秘密,當你數據挖掘能力提升到一定程度時,你會發現無論什么行業,其實數據挖掘的應用有大部分是重合的相似的,這樣你會覺得更輕松。
四、成為一名數據科學家需要掌握的技能圖。
評論