[問題] 資料分割與LARs應用

看板R_Language作者 (嗶波)時間11年前 (2013/11/30 17:05), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
小弟是R的初心使用者,剛剛開始應用R做研究,所以我上google/人大爬了一些做法 下面有幾個問題想請教板上的高手 第一個是資料分割的部分 prost.std <- data.frame(cbind(scale(prost[,1:8]),prost$lpsa)) 將變數1~8標準化,鎖定變數lpsa,cbind則是列出矩陣 names(prost.std)[9] <- 'lpsa' 將變數9命名為lpsa data.train <- prost.std[prost$train,] data.test <- prost.std[!prost$train,] 劃分出訓練與測試資料集,!則表示train以外的都是test(隨機抽取) y.test <- data.test$lpsa 將Y 指定為lpsa,$選取特定條件下的數據,在此選擇data.test中的lpsa n.train <- nrow(data.train) 我照著網路上的教學做資料分割,我使用教學中給的資料,並且做出我個人的注解 http://www-stat.stanford.edu/~tibs/ElemStatLearn/datasets/prostate.data 一步一度步的跟著做,可以很順利的切開資料並且抽取訓練跟資料 但是我把資料換成iris的話..資料就切不開了,到data.test的部分就會卡住 出現了: 錯誤在!iris$train : 引數類型不正確 但是我用posta卻不會有這種情況.... 另外,LARs的部分 library(lars) m.lasso <- lars(as.matrix(data.train[,1:8]),data.train$lpsa) plot(m.lasso) # Cross-validation r <- cv.lars(as.matrix(data.train[,1:8]),data.train$lpsa) bestfraction <- r$fraction[which.min(r$cv)] # Observe coefficients coef.lasso <-predict(m.lasso,as.matrix(data.test[,1:8]), s=bestfraction,type="coefficient",mode="fraction") coef.lasso # Prediction y.pred.lasso <-predict(m.lasso,as.matrix(data.test[,1:8]), s=bestfraction,type="fit",mode="fraction")$fit summary((y.pred.lasso - y.test)^2) 我也是照著執行都能夠順利的用posta跑出結果來, 但是如果單純要做feature selection我應該要看哪個值呢? ===================================================================== 以上是我實做跟個人的註解,如果有錯請板友糾正跟幫忙謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.235.106

11/30 17:50, , 1F
prost有train屬性,iris沒有。你可以用str(prost)來看屬性
11/30 17:50, 1F

12/01 00:46, , 2F
謝謝bra大,我確實忘記了prost屬性,但很怪的為什麼問題
12/01 00:46, 2F

12/01 00:46, , 3F
只出現在test.data的部分?
12/01 00:46, 3F
文章代碼(AID): #1IcQfgkx (R_Language)
文章代碼(AID): #1IcQfgkx (R_Language)