零基礎數據挖掘學習清單


先甩片湯話:不知怎么的,就從純工科的學業到管理工作崗位,又進入了數據挖掘的學習。一切都是從頭學起,不會寫代碼,(本科學的C++,也只記得課程的名字),數學也多年未動,離散數學從未接觸,這條路步履維艱。

啥也不說了,有時間抱怨,不如迅速開干,用了一個月不到,首先明確自己哪里不足(其實就是哪里都不足),把自己要補足的東西先碼在這,東西有點多,變身!拼了!

P.S:平時上班,工作也很忙。按照這個計划,已經進行了2-3個月了,已經有點感覺了。其實,這兩三個月也沒有塌下心來學,估計自己半年就可以入門了。

 

                                                                                                                                                              

廢話不多,先把自己的學習清單給自己列出來。本人零基礎,所以有些東西很基礎,高手莫要筆試。

1.數據挖掘基本知識

這一部分主要是看書,先了解一個情況。至於用什么書。口碑比較好的有《數據挖掘:概念與技術(第3版)》。我買了,看了一大半,感覺不太適合初學者。有些概念直接給出,對於底子不好的人有些突兀,要是硬着頭皮使勁看,還是很有收獲的,適合入門以后反復看。推薦一本很老的書《數據倉庫與數據挖掘》,作者:武森等。這本書相對來說不那么厚,很多基礎概念也有論述,對初學者來說很友好。

這一部分的學習是貫穿始終的,有經驗的前輩們介紹,什么時候拿出來看看都是有收獲的。

2.數學基礎

這一部分也是不可或缺的,學一下未必能有感受。學好了,絕對收益無窮。我的計划是穿插在整個學習過程中。主要內容是:線性代數、離散數學。

(1)線性代數

已經學過的,沒學過的都要認真學一下。國內的教材個人以為對概念沒有深入說透。比如特征值和特征向量,到底干嘛用的。矩陣的乘法本質意義,也沒說清楚。

推薦麻省理工的公開課:線性代數。網易公開課就有翻譯好的。附上鏈接:

http://open.163.com/special/opencourse/daishu.html

(2)離散數學

這個大部分人(不是專業的)都沒學過,聽着就頭痛。別急,不用全學,重點是圖論、代數系統、命題(謂詞和邏輯)、集合與關系。隨便找一本薄一點的教材。這些內容其實之前高中本科都有接觸,主要是一些邏輯符號,思維方式需要看懂。否則在一些地方看到一些莫名其妙的符號,不了解,看到一些簡單的公式以為很復雜,得不償失。

(3)運籌學

這個絕對是基礎課,之所以放在后面是因為本人認真學了。推薦的教材《運籌學》教材編寫組編寫。一本大厚綠皮書。對策論等跟博弈論有關的不用看。有條件的可以把算法在跑一遍。絕對收獲良多。

3.工具

這部分本人在網上查了很久,課題組問了幾百遍。最終確認的這幾個。很多人說有編程經驗的人,學一個就一兩周的事,無奈,我零基礎。所以,這一部分絕對是個重點。先說本人確定的語言:MATLAB、Python、R。

(1)MATLAB

先說MATLAB,別說這個老,別說這個是學校搞學術才用的。不想挑起爭論,主要理由——好上手。上手以后就可以跑一些算法,提高一些信心和學習的樂趣。教材我隨便找一本厚厚的備查(從來沒翻過)。我主要看的是官方手冊的Primer。然后就開始寫腳本和函數,如果有看不懂的直接百度、google或者help。寫的都很清楚。這一部分主要是迅速上手,我已經略有收獲了。

(2)Python和R

這兩個放在一起,是因為網上關於這兩個的爭論太多了。本人也無數次迷失過。不爭論優劣,確實是各有優勢。我的順序是首先學python,立志以這個作為自己的主要程序。其次再是R,從畫圖入手。R畫出來的圖真是好看。至於學習的思路:先找一本入門的書,越簡單越好,學完之后找一本手冊,然后練習。

首先python,先看《Head First Python》。挺好的。簡單易懂,網上竟然還能下載到英文的PDF。然后是《利用Python進行數據分析》和《機器學習實戰》。第一本書主要是利用Python做數據挖掘的,基本提到Python學習都會推薦這本。第二本是理解機器學習的佳作,書中用到的語言就是Python。一邊學語言,一邊理解機器學習。很好的順序。

其次R,因為有了前面的一部分基礎,學起來會容易一些。主要推薦教材是《R語言初學者指南》和《R語言實戰》。這部分的學習我准備跳着看,早期主要利用R來畫圖。然后步步深入着學習。這樣才能充分的練習,而不僅僅是紙上談兵。

(3)Mysql

最后加一個,了解一點Mysql,由於零基礎對數據的各種都不了解,強烈推薦一周讀完《深入淺出Mysql》。難度不大,主要是入門。如果以后用得着,再深入研究。

再次重申一遍:這一階段還是要找程序寫。如果有工作或者項目,直接上,學的最快。如果沒有,找篇不錯的,感興趣的博士論文,跑一遍里邊的程序。這部分內容不是學出來的,絕對練出來的。

4.算法

算法太多了,常見的就那些。一方面要看明白,理解算法。另一方面用上面的語言跑出來。既能理解算法,也能很好的熟悉語言。

5.文本編輯器

直接上干貨。Emacs org-mode。這部分是等進入高階階段要學的東西。不是因為難,不是因為不好。主要是因為這個不是本人現在的當務之急。看別人用的,心理癢癢,確實很好。所以,姑且放在這里。

                                                                                                                                                                  

總結

整個入門階段,千萬不要抱着學完一個在學一個的思想。同時學!比如,語言入門了,就找算法實踐。看到一個算法,一定要程序跑出來。中間累了,把數學基礎補一補。看算法的時候,數學哪里不懂,百度哪里。

總結一句話:反復實踐。半年入門。

(有需要,歡迎交流,需要什么資料,本人有的話可以分享。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM