推 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