作者clansoda (小笨)
看板R_Language
标题Re: [问题] 指定dataframe某个栏位的变数型别?
时间Sun Jan 22 09:35:55 2017
※ 引述《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://webptt.com/cn.aspx?n=bbs/R_Language/M.1485048959.A.66A.html
1F:推 f496328mm: 推推 01/22 13:46
2F:→ CYBASTER: 非常感谢大大鼎力相助!立刻来试试… 01/23 01:46