Ⅰ 想自學數據挖掘需要什麼基礎
我先介紹下我自己,我不是搞純數學專業的,我是REDHAT LINUX「紅帽子」公司的資深系統級工程師。我也做過數據挖掘方面的工作!為一個在甲骨文的朋友搞一些數據方面的工作。所以為了應付我也大概突擊了下,才發現這門學科有竅門!
首先,我要說的是我覺得你是一名在校大學生!Data Mining不是你想的那麼簡單,他不單單和數學有關系,還包括了計算機領域的諸多學科。還有社會工程學、邏輯學等文科和理科的交叉學科!他是一門龐大的體系。你要是真想學我只能給你指條比較快的成才之路,後面的東西自己慢慢學都趕趟!慢慢充實自己!大學四年好好利用!學無止境!
既然是數據分析那你的高等數學必須要過硬,別著急這只是你的其他學科的基礎課。其次是概率與統計,這才是正科,大學那點玩意就是糊弄人的,你要多看這方面的書。這個一定要學好!線性必須要會要精通。因為數據劃分是數據挖掘里最重要的一個環節。這個就是線性范疇里的了。也要精通,學會線性分析你就發現你就學會了很多。數學有這三個底子就可以了。數學分析不要看了。因為那隻是高數的延伸!
計算機你一定要懂。資料庫你必須得學會。三大數據庫ORACLE.SQL.MYSQL原理基本類似觸類旁通!
還有就是培養你的思維,盡量縝密敏捷。這樣才可以發現數據中的不同!因為有的數據挖掘是計算機處理的。有的則是紙面上的。所以必須學會記錄
好了,就先這么多了。你學會了這幾個就是你進軍下一步的基礎,這幾個就夠你學一陣子的了。
祝你好運哥們!
Ⅱ 學會用聚類演算法進行數據挖掘需要怎樣的數學基礎
會用聚類演算法進行數據挖掘需要線性代數, 變分演算,距離度量,距離矩陣等的數學知識基礎。
在數據科學中,我們可以通過聚類分析觀察使用聚類演算法後獲得一些有價值的信息,其中會涉及許多數學理論與實際計算。
主要有以下幾類演算法:
K-Means(k-平均或k-均值)是普遍知名度最高的一種聚類演算法,在許多有關數據科學和機器學習的課程中經常出現。
Mean shift演算法,又稱均值漂移演算法,這是一種基於核密度估計的爬山演算法,適用於聚類、圖像分割、跟蹤等
DBSCAN是一種基於密度的聚類演算法,它不需要輸入要劃分的聚類個數,對聚類的形狀沒有偏倚。
層次聚類會將每個數據點視為單個聚類,然後連續合並成對的聚類,直到所有聚類合並成包含所有數據點的單個聚類。
關於數據挖掘的相關學習,推薦CDA數據師的相關課程,課程內容兼顧培養解決數據挖掘流程問題的橫向能力以及解決數據挖掘演算法問題的縱向能力。要求學生具備從數據治理根源出發的思維,通過數字化工作方法來探查業務問題,通過近因分析、宏觀根因分析等手段,再選擇業務流程優化工具還是演算法工具,而非「遇到問題調演算法包」。點擊預約免費試聽課。
Ⅲ 怎麼學慣用 R 語言進行數據挖掘
什麼是R語言?應該如何開始學習/使用R語言呢?
學習R有幾個月了,總算是摸著了一點門道。
寫一些自己的心得和經驗,方便自己進一步鼓搗R。如果有人看到我寫的東西而得到了幫助,那就更好了。
什麼是R?R的優點何在?
R是一個數據分析軟體。簡單點說,R可以看做MATLAB的「替代品」,而且具有免費開源的優勢。R可以像MATLAB一樣解決有關數值計算的問題,而且具有強大的數據處理,繪圖功能。
R擁有大量的統計分析工具包,我的感覺是——只有我們沒聽說過的工具,絕對沒有R沒有的工具包。配合著各種各樣的工具包,你可以毀滅任何關於數據和統計的問題。因為數據包的數量龐大,所以查找自己需要的數據包,可能很煩惱。
如果有以下技能,學R會很方便:
1.已經了解些高級程序語言(非常重要)
2.英語不壞
3.概率統計理論基礎
4.看數據不頭疼
5.看cmd or terminal 也不頭疼
你需要一本適合你的R語言教材
我開始學習R的時候,找到了這個帖子
非常強大的關於R語言教材綜述。我非常感謝原帖作者。你可以參考這個帖子選一本適合你的教材。
我這里在說一下我主要使用的幾本教材的心得:
1. 統計建模與R軟體(薛毅著):非常優秀的R語言入門教材,涵蓋了所有R的基礎應用&方法,示例代碼也很優秀。作為一本中文的程序語言教材,絕對是最優秀的之一。但是要看懂這本書,還是需要「已經了解些高級程序語言」。PS:我親愛的吉林大學圖書館,有兩本該教材流通,我常年霸佔一本。
2. R in Nutshell:從講解內容上看,與上一本差別不大,在R語言的應用上都是比較初級的入門,但是有些R軟體&語言上的特性,寫得比薛毅老師的教材深刻。這本書最大的優點就是工具書,方便開始入門時候,對有些「模稜兩可」的東西的查詢。PS:我將這本書列印了出來,簡單的從頭到尾翻過,最大的用途就是像一本字典一樣查詢。
3. ggplot2 Elegant Graphics for Data:這是一本介紹如何使用ggplot2包,進行繪圖的書。ggplot2包,非常強大的繪圖工具,幾乎可以操作任何圖中的元素,而且是提供添加圖層的方式讓我們可以一步步的作圖。提到ggplot2包,應該提到一個詞——「潛力無窮」,每一個介紹
ggplot2的人,都會用這個形容詞。這本書最大的作用也是當做一本繪圖相關的工具書,書中講解詳細,細致,每個小參數的變動都會配圖幫你理解。PS:這本書我也列印出來了,非常適合查詢。
幾個可以逐步提高R能力的網站
1.R-bloggers: 這里有關於R和數據的一切討論,前沿的問題,基礎的問題,應有盡有。可以說這些傢伙們讓R變得越來越強大。我RSS了這個網站,每天都看一下有什麼我感興趣的方法和話題,慢慢的積累一些知識,是一個很有意思的過程。
2.統計之都: 這是一個有大量R使用者交流的論壇,你可以上去提問題,總有好心人來幫助你的。
3.R客: 是關於R的一個博客,更新不快,偏重國內R的一些發展。
R的使用環境
如果你看見terminal or cmd就打怵的話,一定要使用Rstudio。Rstudio的優點是,集成了Rconsole、腳本編輯器、可視化的數據查詢、歷史命令、幫助查詢等,還有的完美的腳本和console的互動。畢竟是可視化的界面,有許多按鈕可以用。R 的腳本編輯器很蛋疼,就比記事本多了個顏色高亮吧,不適合編寫腳本,但適合調試腳本。
最後,說一下,剛開始學習R或者其他什麼語言,都有一個通病,就是一些小細節的不知道,或者是記得不清楚,往往一個蛋疼的bug就可以耗掉大量的時間,這是一個讓人想砸電腦的過程。我往後,會在博客里記錄一些讓我蛋很疼的小細節。本文分為6個部分,分別介紹初級入門,高級入門,繪圖與可視化,計量經濟學,時間序列分析,金融等。
1.初級入門
《An Introction to R》,這是官方的入門小冊子。其有中文版,由丁國徽翻譯,譯名為《R導論》。《R4Beginners》,這本小冊子有中文版應該叫《R入門》。除此之外,還可以去讀劉思喆的《153分鍾學會R》。這本書收集了R初學者提問頻率最高的153個問題。為什麼叫153分鍾呢?因為最初作者寫了153個問題,閱讀一個問題花費1分鍾時間,全局下來也就是153分鍾了。有了這些基礎之後,要去讀一些經典書籍比較全面的入門書籍,比如《統計建模與R軟體》,國外還有《R Cookbook》和《R in action》,本人沒有看過,因此不便評論。
最後推薦,《R in a Nutshell》。對,「果殼裡面的R」!當然,是開玩笑的,in a Nutshell是俚語,意思大致是「簡單的說」。目前,我們正在翻譯這本書的中文版,大概明年三月份交稿!這本書很不錯,大家可以從現在開始期待,並廣而告知一下!
2.高級入門
讀了上述書籍之後,你就可以去高級入門階段了。這時候要讀的書有兩本很經典的。《Statistics with R》和《The R book》。之所以說這兩本書高級,是因為這兩本書已經不再限於R基礎了,而是結合了數據分析的各種常見方法來寫就的,比較系統的介紹了R在線性回歸、方差分析、多元統計、R繪圖、時間序列分析、數據挖掘等各方面的內容,看完之後你會發現,哇,原來R能做的事情這么多,而且做起來是那麼簡潔。讀到這里已經差不多了,剩下的估計就是你要專門攻讀的某個方面內容了。下面大致說一說。
3.繪圖與可視化
亞里斯多德說,「較其他感覺而言,人類更喜歡觀看」。因此,繪圖和可視化得到很多人的關注和重視。那麼,如何學習R畫圖和數據可視化呢?再簡單些,如何畫直方圖?如何往直方圖上添加密度曲線呢?我想讀完下面這幾本書你就大致會明白了。
首先,畫圖入門可以讀《R Graphics》,個人認為這本是比較經典的,全面介紹了R中繪圖系統。該書對應的有一個網站,google之就可以了。更深入的可以讀《Lattice:Multivariate Data Visualization with R》。上面這些都是比較普通的。當然,有比較文藝和優雅的——ggplot2系統,看《ggplot2:Elegant Graphics for Data Analysis》。還有數據挖掘方面的書:《Data Mining with Rattle and R》,主要是用Rattle軟體,個人比較喜歡Rattle!當然,Rattle不是最好的,Rweka也很棒!再有就是交互圖形的書了,著名的交互系統是ggobi,這個我已經喜歡兩年多了,關於ggobi的書有《Interactive and Dynamic Graphics for Data Analysis With R and GGobi》,不過,也只是適宜入門,更多更全面的還是去ggobi的主頁吧,上面有各種資料以及包的更新信息!
特別推薦一下,中文版繪圖書籍有《現代統計圖形》。
4.計量經濟學
關於計量經濟學,首先推薦一本很薄的小冊子:《Econometrics In R》,做入門用。然後,是《Applied Econometrics with R》,該書對應的R包是AER,可以安裝之後配合使用,效果甚佳。計量經濟學中很大一部分是關於時間序列分析的,這一塊內容在下面的地方說。
5.時間序列分析
時間序列書籍的書籍分兩類,一種是比較普適的書籍,典型的代表是:《Time Series Analysis and Its Applications :with R examples》。該書介紹了各種時間序列分析的經典方法及實現各種經典方法的R代碼,該書有中文版。如果不想買的話,建議去作者主頁直接下載,英文版其實讀起來很簡單。時間序列分析中有一大塊兒是關於金融時間序列分析的。這方面比較流行的書有兩本《Analysis of financial time series》,這本書的最初是用的S-plus代碼,不過新版已經以R代碼為主了。這本書適合有時間序列分析基礎和金融基礎的人來看,因為書中關於時間序列分析的理論以及各種金融知識講解的不是特別清楚,將極值理論計算VaR的部分就比較難看懂。另外一個比較有意思的是Rmetrics推出的《TimeSeriesFAQ》,這本書是金融時間序列入門的東西,講的很基礎,但是很難懂。對應的中文版有《金融時間序列分析常見問題集》,當然,目前還沒有發出來。經濟領域的時間序列有一種特殊的情況叫協整,很多人很關注這方面的理論,關心這個的可以看《Analysis of Integrated and Cointegrated Time Series with R》。最後,比較高級的一本書是關於小波分析的,看《Wavelet Methods in Statistics with R》。附加一點,關於時間序列聚類的書籍目前比較少見,是一個處女地,有志之士可以開墾之!
6.金融
金融的領域很廣泛,如果是大金融的話,保險也要被納入此間。用R做金融更多地需要掌握的是金融知識,只會數據分析技術意義寥寥。我覺得這些書對於懂金融、不同數據分析技術的人比較有用,只懂數據分析技術而不動金融知識的人看起來肯定如霧里看花,甚至有人會覺得金融分析比較低級。這方面比較經典的書籍有:《Advanced Topics in Analysis of Economic and Financial Data Using R》以及《Modelling Financial Time Series With S-plus》。金融產品定價之類的常常要用到隨機微分方程,有一本叫《Simulation Inference Stochastic Differential Equations:with R examples》的書是關於這方面的內容的,有實例,內容還算詳實!此外,是風險度量與管理類。比較經典的有《Simulation Techniques in Financial Risk Management》、《Modern Actuarial Risk Theory Using R》和《Quantitative Risk Management:Concepts, Techniques and Tools》。投資組合分析類和期權定價類可以分別看《Portfolio Optimization with R》和《Option Pricing and Estimation of Financial Models with R》。
7.數據挖掘
這方面的書不多,只有《Data Mining with R:learing with case studies》。不過,R中數據挖掘方面的包已經足夠多了,參考包中的幫助文檔就足夠了。
Ⅳ 零基礎如何系統學習數據分析
【導讀】隨著大數據,人工智慧的普及,數據分析也是越來越吃香了,市場人才需求量很大,吸引理論很多初學者和跨行的零基礎小白,那麼零基礎如何系統學習數據分析?一起來看看吧!
什麼是初學者?——如果解析學和數據科學對你來說是全新的領域,你也不知該行業的發展模式,而你又想在這個行業大展拳腳一番,那麼初學者就是你。以下這些應該在你的計劃之內。
1. R語言也好,Python語言也好,學習一門新的編程語言
我曾見到有同學同時學習R語言和Python語言,最後落得兩手空空。這種做法是很致命的。你一定要沉下心來專攻一門。鑒於這兩種語言都是開放源代碼工具,所以在公司里都有廣泛運用。Python被公認為最簡單的編程語言,而R語言一直都是最受青睞的統計工具。學習哪一門的決定權在你,因為兩個同等出色。
推薦課程:推薦R語言和Python入門課程《Python入門:數據挖掘實戰》、《R語言入門》
2. 學習統計學和數學
統計學的內容全都是關於假設和數列,然而沒有統計學和數學的知識你很難深入到數據行業里,這是數據科學家的重中之重。
3.一次性完成一門網路開放課程(最難執行)
大規模網路開放課程可以免費獲取和學習,可這對你來說也是最難實現的諾言。很多學生通常一次性注冊選修很多課程,結果一門也沒有圓滿完成。所以,你一定要一次專注一門課,完成之後再選下一門。
推薦課程:推薦R語言和python進階課程:《R語言實戰》、《Python進階:數據挖掘演算法》
4.了解業界動態,善於探索和發現
你要了解業內動態。我們生活在一個變化的世界,一夜之間事物就可能發生重大變化,今日和流行的技術明日就很可能面臨淘汰。你一定要多與一些富有經驗的專業人士、業內專家交流,預見未來的自己。
以上就是小編今天給大家整理發布的關於「零基礎如何系統學習數據分析?」的相關內容,希望對大家有所幫助。
Ⅳ 如何通過自學,成為數據挖掘「高手」
基礎篇:
1. 讀書《Introction to Data Mining》,這本書很淺顯易懂,沒有復雜高深的公式,很合適入門的人。另外可以用這本書做參考《Data Mining : Concepts and Techniques》。第二本比較厚,也多了一些數據倉庫方面的知識。如果對演算法比較喜歡,可以再閱讀《Introction to Machine Learning》。
2. 實現經典演算法。有幾個部分:
a. 關聯規則挖掘 (Apriori, FPTree, etc.)
b. 分類 (C4.5, KNN, Logistic Regression, SVM, etc.)
c. 聚類 (Kmeans, DBScan, Spectral Clustering, etc.)
d. 降維 (PCA, LDA, etc.)
e. 推薦系統 (基於內容的推薦,協同過濾,如矩陣分解等)
然後在公開數據集上測試,看實現的效果。可以在下面的網站找到大量的公開數據集:http://archive.ics.uci.e/ml/
3. 熟悉幾個開源的工具: Weka (用於上手); LibSVM, scikit-learn, Shogun
4. 到 https://www.kaggle.com/ 上參加幾個101的比賽,學會如何將一個問題抽象成模型,並從原始數據中構建有效的特徵 (Feature Engineering).
到這一步的話基本幾個國內的大公司都會給你面試的機會。
進階篇:
1. 讀書,下面幾部都是大部頭,但學完進步非常大。
a.《Pattern Recognition and Machine Learning》
b.《The Elements of Statistical Learning》
c.《Machine Learning: A Probabilistic Perspective》
第一本比較偏Bayesian;第二本比較偏Frequentist;第三本在兩者之間,但我覺得跟第一本差不多,不過加了不少新內容。當然除了這幾本大而全的,還有很多介紹不同領域的書,例如《Boosting Foundations and Algorithms》,《Probabilistic Graphical Models Principles and Techniques》;以及理論一些的《Foundations of Machine Learning》,《Optimization for Machine Learning》等等。這些書的課後習題也非常有用,做了才會在自己寫Paper的時候推公式。
2. 讀論文。包括幾個相關會議:KDD,ICML,NIPS,IJCAI,AAAI,WWW,SIGIR,ICDM;以及幾個相關的期刊:TKDD,TKDE,JMLR,PAMI等。跟蹤新技術跟新的熱點問題。當然,如果做相關research,這一步是必須的。例如我們組的風格就是上半年讀Paper,暑假找問題,秋天做實驗,春節左右寫/投論文。
3. 跟蹤熱點問題。例如最近幾年的Recommendation System,Social Network,Behavior Targeting等等,很多公司的業務都會涉及這些方面。以及一些熱點技術,例如現在很火的Deep Learning。
4. 學習大規模並行計算的技術,例如MapRece、MPI,GPU Computing。基本每個大公司都會用到這些技術,因為現實的數據量非常大,基本都是在計算集群上實現的。
5. 參加實際的數據挖掘的競賽,例如KDDCUP,或 https://www.kaggle.com/ 上面的競賽。這個過程會訓練你如何在一個短的時間內解決一個實際的問題,並熟悉整個數據挖掘項目的全過程。
6. 參與一個開源項目,如上面提到的Shogun或scikit-learn還有Apache的Mahout,或為一些流行演算法提供更加有效快速的實現,例如實現一個Map/Rece平台下的SVM。這也是鍛煉Coding的能力。
到這一步國內的大公司基本是想哪去哪,而且待遇也不差;如果英語好,去US那邊的公司難度也不大了。