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

看板R_Language作者 (拒看低質媒體)時間11年前 (2013/11/05 22:18), 編輯推噓10(1000)
留言10則, 10人參與, 最新討論串2/3 (看更多)
※ 引述《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
文章代碼(AID): #1IUFuz0A (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1IUFuz0A (R_Language)