Re: [問題] 初學R的問題
※ 引述《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,也常常會發現其他同仁不小心誤
解模型的意義。
統計出身的,這才是優勢,放掉的話不如念資工囉。
--
歡迎到ptt R_Language版分享R 的相關知識
歡迎加入 Taiwan R User Group : http://www.facebook.com/Tw.R.User
聚會報名 http://www.meetup.com/Taiwan-R/
聚會影片 https://www.youtube.com/user/TWuseRGroup
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.138.85
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:26)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:29)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:30)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:30)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:31)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:37)
※ 編輯: Wush978 來自: 1.34.138.85 (11/05 22:38)
推
11/05 23:54, , 1F
11/05 23:54, 1F
推
11/06 02:26, , 2F
11/06 02:26, 2F
推
11/06 12:01, , 3F
11/06 12:01, 3F
推
11/06 14:54, , 4F
11/06 14:54, 4F
推
11/06 17:45, , 5F
11/06 17:45, 5F
推
11/06 22:15, , 6F
11/06 22:15, 6F
推
11/07 09:41, , 7F
11/07 09:41, 7F
推
11/14 15:50, , 8F
11/14 15:50, 8F
推
11/16 01:47, , 9F
11/16 01:47, 9F
推
07/24 01:52, , 10F
07/24 01:52, 10F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章