楼主: chinaqianchao
2060 2

[问答] 问一个《数据挖掘与R语言》书中的问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

65%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
1 点
热心指数
2 点
信用等级
0 点
经验
193 点
帖子
19
精华
0
在线时间
28 小时
注册时间
2012-6-4
最后登录
2017-10-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Luis Torgo的《数据挖掘与R语言》第三章关于蒙特卡罗实验一部分给出了一个runLearner函数,结构如下:
> DMwR:::runLearner
function (l, ...)
{
    if (!inherits(l, "learner"))
        stop(l, " is not of class \"learner\".")
    do.call(l@func, c(list(...), l@pars))
}
<environment: namespace:DMwR>


不知道do.call(l@func, c(list(...), l@pars)) 这样写是否正确??

如果现在给定 l 的结果是:
>l
Learner::  "single"

Parameter values
         learner  =  "nnetC"
         size  =  10
         decay  =  0.01
         maxit  =  1000
         linout  =  TRUE
         trace  =  FALSE


如何将以上参数代入do.call()?
能够得到和下面式子一样的结果呢
single(form, train, test, learner = "nnetC", size=10,decay=0.01,maxit=1000)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据挖掘与r语言 数据挖掘 R语言 Parameter paramete

已有 1 人评分经验 热心指数 收起 理由
qoiqpwqr + 20 + 1 鼓励积极发帖讨论

总评分: 经验 + 20  热心指数 + 1   查看全部评分

沙发
chinaqianchao 发表于 2013-7-13 16:02:36 |只看作者 |坛友微信交流群
do.call(l@func, c(list(form, train, test), l@pars))
可能是我之前代入错误了

不知道各位有没有做过类似的蒙特卡罗实现,求交流

使用道具

藤椅
chinaqianchao 发表于 2013-7-13 16:37:09 |只看作者 |坛友微信交流群
> runLearner(l, form, train, test)
错误于single(Status ~ ., list(Status = c(4L, 4L, 4L, 4L, 4L, 4L, 4L,  :
  参数((list(Status = c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), Flow = c(22, 15, 16, 19, 20, 18, 14, 14, 15, 14, 15, 22, 16, 17, 17, 16, 17, 18, 14, 12, 15, 15, 17, 14, 14, 13, 14, 16, 15, 14, 15, 19, 14, 17, 17, 14, 17, 16, 14, 16, 18, 16, 13, 14, 18, 15, 15, 13, 17, 14, 15, 16, 11, 13, 13, 14, 15, 13, 15, 13, 14, 13, 14, 13,
15, 14, 14, 13, 14, 15, 14, 13), Occupancy = c(23.67, 18, 18.33, 21.78, 22.78, 17.89, 15.33, 14.33, 17.89, 16, 20.78, 24.33, 21, 19.56, 21.67, 20.11, 27.78, 36.56, 31.22, 28.33, 30.44, 24.89, 31.67, 39.44, 31.44, 30.89, 31.22, 32.33, 31.33, 32.89, 26.22, 37.56, 30.33, 48.11, 39, 33.11, 41, 33.22, 31.56, 39.44, 32.89, 41.33, 29.78, 30.22, 37.67, 40.89, 31.56, 24.56, 34.44, 35.78, 31.33, 34.56, 27.22, 35.56, 35.44, 30.89, 39.44, 27.33, 39, 35.11, 37.33, 24.44, 26.22, 30.89, 32.78, 27.8



> myrun <- function (l, ...)
+ {
+     if (!inherits(l, "learner"))
+         stop(l, " is not of class \"learner\".")
+     do.call(l@func, c(list(...), l@pars))
+ }
>
> myrun(l ,form, train , test)
prec.congestion       prec.free        prec.jam     prec.smooth
              1             NaN             NaN             NaN
rec.congestion        rec.free         rec.jam      rec.smooth
              1             NaN             NaN             NaN
警告信息:
In nnet.formula(form, train, ...) : groups free jam are empty


数据代入原函数就出错,重写一个函数方法一样就能得到结果
被搞崩溃了,谁能告诉我到底是为什么??

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 21:06