如何将参数传递给插入符号包中的 twoClassSummary
How to pass arguments to twoClassSummary in caret package
我正在尝试一些非常简单的事情:对 caret
包中的 twoClassSummary
进行函数调用。
一个代表
library(caret)
pred <- runif(1000, min = 0, max = 1)
obs <- rbinom(1000, size = 1, prob = pred)
twoClassSummary(
data = data.frame(
obs = obs,
pred = pred
)
)
这会产生以下错误:
Error in auc_(actual, predicted) : Not compatible with requested
type: [type=list; target=double].
我所知道的
我查看了 twoClassSummary
的文档,但似乎不太清楚。其中大部分集中在对 trainControl
的调用中使用
最重要的是,我只想知道文档应该更清楚地说明什么:
- 参数
data
应该是什么样的?
- 其他参数应该是什么样的?我什至需要这些还是可选的?
twoClassSummary
需要四列的数据框:
列命名为响应级别 1 class,具有相应的预测概率(在本例中为 "Y"):
set.seed(1)
Y <- runif(1000, min = 0, max = 1)
obs - 真实标签:
obs <- rbinom(1000, size = 1, prob = Y)
obs <- factor(ifelse(obs == 1, "Y", "N"))
列命名为 2 级响应 class,具有相应的预测概率(在本例中为 "N"):
N <- 1 - Y
pred - 预测标签(使用默认阈值 0.5):
pred <- ifelse(Y > 0.5, "Y", "N")
现在:
twoClassSummary(
data = data.frame(obs = obs,
pred = pred,
Y = Y,
N = N),
lev = levels(obs))
输出:
ROC Sens Spec
0.8253911 0.7529183 0.7263374
我正在尝试一些非常简单的事情:对 caret
包中的 twoClassSummary
进行函数调用。
一个代表
library(caret)
pred <- runif(1000, min = 0, max = 1)
obs <- rbinom(1000, size = 1, prob = pred)
twoClassSummary(
data = data.frame(
obs = obs,
pred = pred
)
)
这会产生以下错误:
Error in auc_(actual, predicted) : Not compatible with requested type: [type=list; target=double].
我所知道的
我查看了 twoClassSummary
的文档,但似乎不太清楚。其中大部分集中在对 trainControl
最重要的是,我只想知道文档应该更清楚地说明什么:
- 参数
data
应该是什么样的? - 其他参数应该是什么样的?我什至需要这些还是可选的?
twoClassSummary
需要四列的数据框:
列命名为响应级别 1 class,具有相应的预测概率(在本例中为 "Y"):
set.seed(1)
Y <- runif(1000, min = 0, max = 1)
obs - 真实标签:
obs <- rbinom(1000, size = 1, prob = Y)
obs <- factor(ifelse(obs == 1, "Y", "N"))
列命名为 2 级响应 class,具有相应的预测概率(在本例中为 "N"):
N <- 1 - Y
pred - 预测标签(使用默认阈值 0.5):
pred <- ifelse(Y > 0.5, "Y", "N")
现在:
twoClassSummary(
data = data.frame(obs = obs,
pred = pred,
Y = Y,
N = N),
lev = levels(obs))
输出:
ROC Sens Spec
0.8253911 0.7529183 0.7263374