gpt4 book ai didi

r - 使用插入符号库预测 GBM 的概率

转载 作者:行者123 更新时间:2023-12-04 14:00:26 31 4
gpt4 key购买 nike

类似的问题是 asked但是答案中的链接指向随机森林示例,在我的情况下似乎不起作用。

这是我正在尝试做的一个例子:

gbmGrid <-  expand.grid(interaction.depth = c(5, 9),
n.trees = (1:3)*200,
shrinkage = c(0.05, 0.1))

fitControl <- trainControl(
method = "cv",
number = 3,
classProbs = TRUE)

gbmFit <- train(strong~.-Id-PlayerName, data = train[1:10000,],
method = "gbm",
trControl = fitControl,
verbose = TRUE,
tuneGrid = gbmGrid)
gbmFit

一切顺利,我得到了最好的参数。现在,如果我做预测:
predictStrong = predict(gbmFit, newdata=train[11000:50000,])

我得到了一个二元预测向量,这很好:
[1] 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 ...

但是,当我尝试获取概率时,出现错误:
predictStrong = predict(gbmFit, newdata=train[11000:50000,], type="prob")

Error in `[.data.frame`(out, , obsLevels, drop = FALSE) :
undefined columns selected

似乎问题出在哪里?

附加信息:
traceback()
5: stop("undefined columns selected")
4: `[.data.frame`(out, , obsLevels, drop = FALSE)
3: out[, obsLevels, drop = FALSE]
2: predict.train(gbmFit, newdata = train[11000:50000, ], type = "prob")
1: predict(gbmFit, newdata = train[11000:50000, ], type = "prob")

版本:
R version 3.1.0 (2014-04-10) -- "Spring Dance"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

caret version: 6.0-29

编辑:
我见过 this topic同样,我没有收到关于变量名的错误,尽管我有几个带下划线的变量名,我认为它是有效的,因为我使用 make.names并获得与原始名称相同的名称。
colnames(train) == make.names(colnames(train))
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

最佳答案

当请求类概率时,train将它们放入一个数据框中,每个类都有一列。如果因子水平不是有效的变量名称,它们会自动更改(例如 "0" 变成 "X0" )。 train在这种情况下发出警告,类似于“至少一个类级别不是有效的 R 变量名称。如果生成类概率,这可能会导致错误。”

关于r - 使用插入符号库预测 GBM 的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24081246/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com