看板 R_Language 關於我們 聯絡資訊
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別。 建議先利用 google 爬文,如輸入 「想查詢的關鍵字 site:www.ptt.cc/*/R_Language/」。 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 請問有沒有其他的packages 補遺失值的方法,mice雖然可以,但是太慢了, 我的data,length (row*col) 有100萬個數字, (4w 個 row,26 個 col) missing value 有1.1萬筆, 要跑 3min [程式範例]: library(mice) x=rnorm(100) x[sample(100,20)]=NA x=matrix(x,ncol=5) x complete( mice( x ) ) [關鍵字]: mice , missing value -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.173.137 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1481992320.A.5B1.html
cywhale: data.table(x); for(j in colnames(dt)) {set(dt, j=j, 12/18 00:47
cywhale: value=ifelse(is.na(dt[[j]]),0,dt[[j]]))} 12/18 00:48
clansoda: 要先觀察缺失值是隨機缺失還是某些因素缺失 12/18 11:04
clansoda: 如果是外來因素導致缺失,用rough的方法反而是增加noise 12/18 11:05
clansoda: 對你的預測反而是種危害,與其增加noise不如移除這些 12/18 11:05
clansoda: 足的訊號 12/18 11:05
缺失是因為,我生成變數的關係,有些data沒有相對應的變數,讓我生成 不是觀察缺失,由於是變數,所以我用內插的方式補上,也就是mice的方法, 只是有點慢就是了, 這其實有點風險, 我之前用xgboost,他會自動幫我補變數, (自動補變數,跟我用內插補變數,結果是一樣的, 自動補,但是我看不到補完後的data,只能由預測結果去看) 現在我想結合其他弱模型,像是svm or glmnet,去做預測 但是那些模型不能處理missing value,所以用mice去補上,不過有點慢就是了 由於某些原因,沒辦法刪除 missing value 的data ※ 編輯: f496328mm (114.45.173.137), 12/18/2016 12:28:40 ※ 編輯: f496328mm (114.45.173.137), 12/18/2016 12:30:25
cywhale: 好像搞錯意思sorry,所以要補內插?你想補內插的方式為何? 12/18 14:40
clansoda: mlr也有可以inputation的用途,不妨試試 12/18 14:41
Wush978: mice是column based 的填補missing value嘛?有辦法做切 12/19 11:08
Wush978: 割後用平行運算來跑嘛? 12/19 11:09
稍微看了一下,發現mice裡面好多方法阿, 迴歸補內插, Linear discriminant analysis, Classification and regression trees, 甚至還有 Random forest imputations, 看來還是讓data跑完就存起來,下次就不用再做一次 mice 補NA, 時間久,就讓他跑八,反正也只需要跑一次 不過這麼多種方法,有什麼優劣?? ※ 編輯: f496328mm (114.45.173.137), 12/19/2016 12:19:22
clansoda: mice package的作者有一個manual有介紹 我忘了在哪 12/19 21:09
clansoda: Hi, I have found the paper. If u want it, sent me a 12/21 17:30
clansoda: text message. 12/21 17:30