Re: [問題] 指定dataframe某個欄位的變數型別?
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):