gpt4 book ai didi

r - 如何解决 predict() : subscript out of bounds in R when doing binary classification? 中的错误

转载 作者:行者123 更新时间:2023-12-04 08:49:51 24 4
gpt4 key购买 nike

我正在尝试使用 R 中的二进制分类来计算测试指标。我想我有正确的代码,但是我一直遇到错误。
目标是创建一个分类器,通过训练决策树模型来帮助检测给定其他变量的糖尿病。使用 0.50 的概率临界值为正类创建一个分类器。
以下是我的代码:

# load packages
library("mlbench")
library("tibble")
library("rpart")

# set seed
set.seed(457)

# load data, remove NA rows, coerce to tibble
data("PimaIndiansDiabetes2")
diabetes = as_tibble(na.omit(PimaIndiansDiabetes2))

# split data
dbt_trn_idx = sample(nrow(diabetes), size = 0.8 * nrow(diabetes))
dbt_trn = diabetes[dbt_trn_idx, ]
dbt_tst = diabetes[-dbt_trn_idx, ]

# check data
dbt_trn

# fit models
mod_tree = rpart(diabetes ~ ., dbt_trn)

# get predicted probabilities for "positive" class, always use second alphabetically for +
prob_tree = predict(mod_tree, dbt_trn)[,"glucose"]

# create tibble of results for tree
results = tibble(
actual = dbt_tst$diabetes,
prob_tree = prob_tree,
)

# evaluate knn with various metrics
tree_eval = evaluate(
data = results,
target_col = "actual",
prediction_cols = "prob_tree",
positive = "diabetes",
type = "binomial",
metrics = list("Accuracy" = TRUE)
cutoff = 0.5)

tree_eval
我不断收到错误:
“预测错误(mod_tree,dbt_trn)[,“葡萄糖”]:
下标越界”
我不确定如何解决这个问题。任何帮助都会很棒!

最佳答案

predict的结果通话有栏目posneg .此外,看起来您打算在测试集上进行预测。prob_tree应该这样定义:

prob_tree = predict(mod_tree, dbt_tst)[,"pos"]

关于r - 如何解决 predict() : subscript out of bounds in R when doing binary classification? 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64144930/

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