Re: [問題] 指定dataframe某個欄位的變數型別?

看板R_Language作者 (小笨)時間7年前 (2017/01/22 09:35), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《CYBASTER (復讎の業火)》之銘言: : 各位先進大家好,小弟是個R語言的新手, : 由於之前的功底是C#,已經很習慣變數型別要先指定的操作方式, : 最近小弟寫了一段程式碼如下(僅列出關鍵部份),碰上一個問題想請各位大大幫忙: : setwd("D://R//") : #設定R語言的執行路徑,相關的檔案都要放在這個資料夾下 : CYLDFP.tr=read.csv("CYLDFP_TRAIN_100.csv", header=TRUE, row.names = 1) : #開啟CYLDFP_TRAIN_100.csv這個檔案 : library(rpart) #要用到rpart函式庫 : set.seed(1111) : cart=rpart(Species~.,CYLDFP.tr,control=rpart.control(cp=0)) #建立cart決策樹 : cart_prune=prune(cart, cp=0.03) #設定決策樹之複雜係數,cp值愈小愈複雜 Hi,我回答你的方式是拐另外一種彎,用的是我之前分享過的package library(mlr) tsk <- makeClassifTask(data = CYLDFP.tr, target = "Species") lrn <- makeLearner("classif.rpart", par.vals = list(cp = 0.3) mod <- train(learner = lrn, task = tsk) result <- predict(mod, newdata = yourtestdataset) finalresult <- result$data 這樣應該可以,mlr內建的功能會將你的feature改成作者指定的類型 像是xg.boost也只支援numeric input但是你丟一大堆文字形的factor進去 他一樣能跑出你想要的結果 使用getParamSet("classif.rpart")可以看到妳能調整的參數 其他的我就不多提了,我在之前分享的mlr文章內附有完整的manual -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.74.7 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1485048959.A.66A.html

01/22 13:46, , 1F
推推
01/22 13:46, 1F

01/23 01:46, , 2F
非常感謝大大鼎力相助!立刻來試試…
01/23 01:46, 2F
文章代碼(AID): #1OX0n_Pg (R_Language)
文章代碼(AID): #1OX0n_Pg (R_Language)