Re: [問題] 初學R的問題

作者: Wush978 (拒看低質媒體)   2013-11-05 22:18:34
※ 引述《wudistan (wudistan)》之銘言:
: 大家好,由於大學就讀統計系,在網路上看了許多big data的資料與一些會用到的程式如java、Hadoop、mapreduce、NoSQL與R,由於在當替代役中,雖然想去上資策會課程又無法去,想說利用有空檔時間學習相關知識,其中對R有基礎認識,想從這裡開始從頭開始學,但由於大學所學的與big data所需貌似不是很有相關…
: 小弟愚笨爬了很多文但還是想請問版大們R在學習上該如何與何時進入big data這塊? 謝謝版大們~
想要玩大資料的人,目前的主流是資工出身的同學。統計出身的人相比之下,優勢在於以
機率統計描述資料時,可以更深刻地理解模型背後代表的意義,進而在挖掘資料時找到更
深的資訊。
缺點則是對工具(電腦)的理解不夠深入,所以在工具的運用能力上要花心思,或是避開
交給專家(和資工的人合作)。
R 可以處理較大的資料,但是你要比處理小資料多知道很多R 工作的原理,尤其是記憶體
相關的議題。如果不幸,你得直接處理真正很大很大的資料(TB+),請去學Java(Hadoop)
或Scala(Spark)把資料整理(弄小)之後再交給R 做。
我個人認為大資料中,分析部分的挑戰和過去沒什麼差異,但是在工具和效能上的要求更
嚴苛。現在看起來,硬體的突破比資料量的成長慢。
要分析大資料,使用工具的能力就是第一個門檻。很遺憾,我目前不知道學校方面有沒有
提供相關的訓練。所以我建議你如果在學的話,請務必把學校教的,一般的資料的分析學
好,這部分是你可以勝過其他競爭者的地方。
之後如果你一定要親手做,那請務必自行補充資料結構和演算法的相關知識,否則會連工
具的說明都看不懂。在資料大的時候,O(N)和O(log N)是差異很大的。
# 怎麼讀資料
1. 會用工具撈資料
2. 知道工具指令對應的複雜度
如果只是讀中型大小的資料,可能到1.就夠了。但是當資料大到某個規模,2.的重要性就
出來了。
抽樣在這裡應該很有幫助,但是也要理解抽樣的計算複雜度。
## 學習上的建議
如果是R 的話,就要知道撈資料的時候記憶體的運作機制,要學習Streaming或pipeline的
方式撈資料。
ps. 這裡給你一些key word囉
這些和你的資料源有關,所以建議等到實際遇到再學吧。每種遇到的case可能不一樣,所
以沒必要先學。遇到的時候再請教前輩或是網路上找資源吧。
# 了解效能的頻頸
1. 知道記憶體和硬體的差異。知道怎麼評估記憶體的消耗量。
2. 瞭解怎麼評估演算法複雜度,並且選擇正確的資料結構。
統計所的學生,如果照著課本的方法來讀取大資料,最常見的就是塞爆記憶體而不自知。
照著課本:`read.table("xxx.csv")` 然後記憶體就爆炸了,學生也不知道為什麼電腦死
在那邊。
資料結構選得好不好,結果就是要等一天還是數分鐘。擁有找到頻頸的能力,才能了解自
己卡在拿裡,或者是和工程師溝通。
## 學習上的建議
找時間請自修演算法或資料結構,如果沒時間的話也至少理解何謂時間複雜度和空間複雜
度。至少要能理解:http://en.wikipedia.org/wiki/Array_data_structure 中下面的
Efficiency comparison with other data structure。你不用會寫,但是看工具說明書
的時候會用到這個知識。這我覺得是在學校可以先學的。
之後我建議直接找實際的資料來做練習,遇到瓶頸可以多和其他有興趣處理大資料的人
交流,也很歡迎來我們社群。社群中許多在公司處理大資料的朋友。(如趨勢科技)
# 個人經驗談
以上是我目前處理30GB/日的資料的心得。目前的任務就是要從這些資料中做出一個好的
Logistic Regression Model。目前我是用R / C++ 作為主要的工具。
在Model Encoding上還滿辛苦的,因為R 沒有能用的工具,我要自己做。用R 做的好處是
對答案相對輕鬆,因為小資料上已經有現成工具可以做比較!
實做上,效能往往最後都卡在Optimization上,這裡我超級推台大資工林老師的libsvm和
Liblinear,他們的optimization的kernel 超猛,會C / C++ 的話可以自己抽出來用。
ps. 可以參考我之前寫的AWS + pbdMPI的文章,裡面有抽Liblinear的核心出來用。
最後Model 的調教和解釋,則和以前統計所教的差不多,就是要努力讓其他同仁可以理解
Variable Encoding 的意義,如何處理Missing Data,也常常會發現其他同仁不小心誤
解模型的意義。
統計出身的,這才是優勢,放掉的話不如念資工囉。
作者: bmka (偶素米蟲)   2012-01-05 23:54:00
推最後一句話
作者: allen1985 (我要低調 拯救形象)   2012-01-06 02:26:00
推!
作者: summitstudio (第凡斯米德費爾德)   2012-01-06 12:01:00
推推
作者: maninblue   2012-01-06 14:54:00
推~
作者: GTBUG (gtjk)   2012-01-06 17:45:00
推!
作者: skylikewater (choc.)   2012-01-06 22:15:00
推推
作者: ljta (ljta)   2012-01-07 09:41:00
作者: peiwinds (Macchiato Caramel)   2012-01-14 15:50:00
作者: adgjlsfhk123 (adgjlsfhk123)   2012-01-16 01:47:00

Links booklink

Contact Us: admin [ a t ] ucptt.com