初識(shí)語(yǔ)言
學(xué)習(xí)計(jì)算機(jī)語(yǔ)言就像學(xué)一門自然語(yǔ)言,首先要有交流/應(yīng)用的動(dòng)力棵介,其次是要掌握基本的語(yǔ)法規(guī)則和語(yǔ)匯钉鸯,之后是情景中不斷演練和改進(jìn)。語(yǔ)言能力無(wú)止境邮辽,編程藝術(shù)也是這樣唠雕。
雖然我是個(gè)地地道道的理科生,卻一直對(duì)碼代碼這種事情特別懼怕吨述,曾經(jīng)有C++的一門課岩睁,常常是想了半天,湊出了幾行揣云,一按編譯鍵捕儒,又是各種bug,就這樣留下了些心理障礙。從大一到了現(xiàn)在大四刘莹,終于有一種“紙上得來(lái)終覺(jué)淺阎毅,絕知此事要躬行”的感悟,下定決心要學(xué)會(huì)一門編程語(yǔ)言点弯。
大四上學(xué)期扇调,學(xué)校的事情已經(jīng)不多了,便咬咬牙修了一門名叫《統(tǒng)計(jì)方法選講》的課抢肛,名字很無(wú)辜肃拜,內(nèi)容卻是實(shí)實(shí)在在的Statistical Learning, 而且還要將上課學(xué)到的算法自己寫程序?qū)崿F(xiàn)。統(tǒng)計(jì)方面一般會(huì)選擇R雌团,不過(guò)在Statistical/Machine Learning領(lǐng)域會(huì)更多地用到Matlab燃领。幸好是從R這樣一個(gè)入門難度極低的工具入手,我也得以發(fā)出“由也升堂矣,未入于室也”這樣的感慨锦援,不然猛蔽,可能連“升堂”的機(jī)會(huì)都沒(méi)有。
可以說(shuō)灵寺,這個(gè)學(xué)期學(xué)習(xí)R的過(guò)程還是很愉快曼库,也很有成就感的。于此同時(shí)略板,我也感覺(jué)到國(guó)內(nèi)大學(xué)對(duì)于編程教學(xué)還有相當(dāng)程度的缺失毁枯,一般理科會(huì)教C/C++,文科教VB叮称,相對(duì)會(huì)在各類研究和工作中用到的Matlab, Python, R等來(lái)說(shuō)并不太實(shí)用种玛。而這些工具呢,又大多只能靠學(xué)生自學(xué)掌握瓤檐。我想赂韵,對(duì)于編程類內(nèi)容,自我實(shí)踐挠蛉、探索確實(shí)相當(dāng)重要祭示,但可能會(huì)花費(fèi)更多的時(shí)間,或者停留在低水平而難以進(jìn)步谴古,因此希望寫個(gè)帖子质涛,把我的一些經(jīng)驗(yàn)分享給大家,也希望能得到大家的一點(diǎn)建議掰担,共同進(jìn)步汇陆。
學(xué)習(xí)資源介紹
RStudio/ R Markdown
為什么把它們放在第一個(gè)呢,是因?yàn)镽Studio可以提供更優(yōu)良的編程環(huán)境恩敌,R Markdown(必須有RStudio才可以實(shí)現(xiàn))可以方便的將你的代碼瞬测、運(yùn)算結(jié)果及文字說(shuō)明輸出成HTML, PDF等文件格式。這兩者相當(dāng)于提供了一個(gè)良好的學(xué)習(xí)環(huán)境,有事半功倍的效果月趟。《統(tǒng)計(jì)建模與R軟件》薛毅 陳立萍 編著
看這本書作為學(xué)習(xí)R語(yǔ)言的入門指南真是再好不過(guò)灯蝴,最好能拿著紙質(zhì)書,便于翻閱查看孝宗。大致把這本書過(guò)一遍穷躁,能夠掌握R基本語(yǔ)法和語(yǔ)匯,社會(huì)科學(xué)對(duì)統(tǒng)計(jì)的應(yīng)用可以滿足因妇。
這本書的優(yōu)點(diǎn)有這幾個(gè):
條理清晰问潭,章節(jié)分布合理,不會(huì)出現(xiàn)看不明白的地方婚被,便于自學(xué)狡忙。
內(nèi)容包含比較全面,主成分分析址芯、聚類分析灾茁、蒙特卡洛模擬等方法也都會(huì)提到。
看過(guò)這本書的人多谷炸,習(xí)題遇到困難能很方便得到解答北专。An Introduction to Statistical Learning with Application in R
這本是統(tǒng)計(jì)學(xué)習(xí)方面入門級(jí)別的書,即使數(shù)學(xué)基礎(chǔ)一般也能容易看懂旬陡。The Elements of Statistical Learning
這本是統(tǒng)計(jì)學(xué)習(xí)方面較為高級(jí)別的書拓颓,部分內(nèi)容數(shù)學(xué)要求比較高。好在它有一個(gè)網(wǎng)站描孟,書中所用的數(shù)據(jù)都可以在該網(wǎng)站上下載到驶睦,如果要深入學(xué)習(xí)此書,最好能邊學(xué)邊練画拾,結(jié)合書上所講算法寫程序啥繁,對(duì)比書中結(jié)果。Coursera專項(xiàng)課程:Data Science Specialization
這個(gè)專項(xiàng)課程是由約翰霍普金斯大學(xué)開設(shè)的青抛,一共分了九門小課程,優(yōu)缺點(diǎn)都比較突出(可以說(shuō)優(yōu)缺點(diǎn)其實(shí)是對(duì)立的):
優(yōu)點(diǎn):每門都只有一個(gè)月酬核,容易堅(jiān)持學(xué)完蜜另,也方便注冊(cè)學(xué)習(xí)新的課程(時(shí)間自由度很好)。
缺點(diǎn):分成九門課之后內(nèi)容比較散嫡意,其中有幾門課相對(duì)比較無(wú)趣和倉(cāng)促举瑰。
作為R語(yǔ)言入門,我跟了一個(gè)月的R Programming(第二門)蔬螟,后來(lái)因?yàn)樯险n學(xué)到機(jī)器學(xué)習(xí)的內(nèi)容所以又學(xué)了一門Practical Machine Learning(第八門)此迅,中間跳掉了這么多門確實(shí)感覺(jué)基礎(chǔ)不夠,之后還打算把Getting and Cleaning Data, Exploratory Data Analysis, Developing Data Products這三門也學(xué)一下,這樣估計(jì)可以從獲取整理數(shù)據(jù)耸序、繪制圖表忍些、建模及最終做出產(chǎn)品有一個(gè)完整的了解,也算為大四下能好好寫一篇畢業(yè)論文打個(gè)基礎(chǔ)吧坎怪。
PS:這個(gè)專項(xiàng)課程專門開發(fā)了一套叫swirl的R package罢坝,用一句話概況就是用R來(lái)學(xué)R語(yǔ)言,通過(guò)交互方式介紹R函數(shù)用法和一些非常好用的包(比如繪圖里的ggplot2等等)搅窿,專項(xiàng)課程里將此作為補(bǔ)充和加分內(nèi)容嘁酿,但不上課也可以下載下來(lái)使用學(xué)習(xí),具體方法點(diǎn)鏈接進(jìn)去看即可男应。
Coursera: Data Analysis and Statistical Inference
這門課在MOOC上的評(píng)價(jià)很好闹司。或者說(shuō)上面那個(gè)Data Science專項(xiàng)課程經(jīng)常受到吐槽沐飘,不夠我已經(jīng)覺(jué)得學(xué)到了很多東西(條件是每星期的Quiz認(rèn)真做开仰,Project積極完成,研究Peer寫的程序)薪铜,想必這個(gè)評(píng)分超高的課程一定在課程設(shè)計(jì)上更有趣味性吧众弓。這門課從名字上來(lái)說(shuō)就是統(tǒng)計(jì)推斷的內(nèi)容,鑒于我自己的統(tǒng)計(jì)知識(shí)和應(yīng)用能力也不夠好隔箍,有空的時(shí)候我也打算學(xué)習(xí)一下這門課谓娃。Coursera: Machine Learning
Coursera上元老級(jí)別課程,會(huì)講更多機(jī)器學(xué)習(xí)的理論知識(shí)蜒滩,編程要求用Matlab, 這里就不做過(guò)多介紹滨达。我還打算更多地學(xué)習(xí)這個(gè)領(lǐng)域的知識(shí),已計(jì)劃跟12月28日馬上開班的課程俯艰,持續(xù)兩個(gè)多月時(shí)間捡遍。
嗯,不知不覺(jué)已經(jīng)寫了這么多了竹握,現(xiàn)在編程還不算溜画株,但興趣很大,希望未來(lái)一年里可以掌握R, Matlab, Python這三把利器啦辐。不多說(shuō)了谓传,學(xué)習(xí)去了!