对于 >2 个类别的结果,插入符训练方法不起作用(所有准确性结果都有问题)

2023-12-01

嗨,我知道之前有人问过类似的问题,但还没有明确的答案(或者我尝试了他们的解决方案但没有成功:使用 GBM 时出现插入符错误,但并非没有插入符 插入符训练方法抱怨有问题;所有 RMSE 指标值均缺失 )

我尝试使用插入符训练方法来预测分类结果(下面的在线数据示例)

library(mlbench)
data(Sonar)
str(Sonar[, 1:10])

library(caret)
set.seed(998)

Sonar$rand<-rnorm(nrow(Sonar))  ##to randomly create the new 3-category outcome
table(Sonar$rand)
Sonar$Class_new<-ifelse(Sonar$Class=="R","R",ifelse(Sonar$rand>0,"M","H"))
table(Sonar$Class_new)

fitControl <- trainControl(## 10-fold CV
                           method = "repeatedcv",
                           number = 10,
                           ## repeated ten times
                           repeats = 10)

inTraining <- createDataPartition(Sonar$Class_new, p = .75, list = FALSE)
training <- Sonar[ inTraining,]
testing  <- Sonar[-inTraining,]

gbmFit1 <- train(Class_new ~ ., data = training,
                 method = "gbm",
                 trControl = fitControl,
                 verbose = FALSE)

每当我使用新的类变量(Class_new)有 3 个类别,而不是原来的 2 个类别Class变量,我收到下面的警告。它在 2 个类别结果变量下运行良好。无论火车方式如何,情况都是相同的(我尝试过rf, gbm,svm,都一样)

出了问题;缺少所有准确度指标值:

    Accuracy       Kappa    
 Min.   : NA   Min.   : NA  
 1st Qu.: NA   1st Qu.: NA  
 Median : NA   Median : NA  
 Mean   :NaN   Mean   :NaN  
 3rd Qu.: NA   3rd Qu.: NA  
 Max.   : NA   Max.   : NA  
 NA's   :9     NA's   :9    

train.default(x, y, Weights = w, ...) 中的错误:停止
另外: 警告消息:
1:在train.default(x,y,权重= w,...)中:
指标“RMSE”不在结果集中。将使用准确度来代替。
2:在nominalTrainWorkflow(x = x,y = y,wts =权重,info = trainInfo,:
重新抽样的绩效指标中存在缺失值。

非常感谢对此的任何帮助!


您需要将新创建的Class_new为一个因子,如下:

Sonar$Class_new<-ifelse(Sonar$Class=="R","R",ifelse(Sonar$rand>0,"M","H"))
Sonar$Class_new <- factor(Sonar$Class_new)

另外,您可能想删除变量Class and rand来自您的训练和测试数据集。你可以这样做:

training <- Sonar[ inTraining, !(names(Sonar) %in% c("Class", "rand"))]
testing <- Sonar[-inTraining, !(names(Sonar) %in% c("Class", "rand"))]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于 >2 个类别的结果,插入符训练方法不起作用(所有准确性结果都有问题) 的相关文章

随机推荐

  • 我可以将自定义字体上传到大卡特尔吗

    我在名片上使用了某种字体 为了保持一致性 我想在我的网站上使用它们 我找不到上传字体的方法 并且在自定义菜单中找不到它 帮助将不胜感激 是的 您可以使用 CSS 中的 fontface 功能上传自定义字体 但您需要有权访问服务器来存储和上传
  • Unity - 检查播放器是否接地不起作用

    我希望玩家在落地时跳跃 private void OnTriggerStay Collider other if other gameObject layer 8 isGrounded true else isGrounded false
  • 如何将单元格值设置为日期并应用默认的 Excel 日期格式?

    一段时间以来 我一直在使用 Apache POI 以编程方式读取现有的 Excel 2003 文件 现在我有一个新要求 在内存中创建整个 xls 文件 仍然使用 Apache POI 然后将它们写入最后的文件中 阻碍我的唯一问题是处理带有日
  • 在VB.NET中捕获功能键F1..F12 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 I cannot capture the functi
  • 未找到续集关联者

    我有一个项目正在尝试使用sequelize 它可以很好地创建数据库和表 但它永远找不到关联类方法 因此它永远不会调用关联方法 此代码可以很好地创建表 使用导入方法 但 Object keys db 会迭代每个模型 但它永远找不到关联方法 f
  • FFmpeg 无需解码视频即可获取运动向量

    我想访问 h264 视频流的运动向量而不解码视频 我知道这显示了视频和运动矢量 ffplay i myvideo avi flags2 export mvs vf codecview mv pf bf bb 如何避免解码整个视频以节省 CP
  • 如何通过传递特定日期来确定星期几?

    例如 我的日期是 23 2 2010 2010 年 2 月 23 日 我想将它传递给一个函数 该函数将返回星期几 我怎样才能做到这一点 在此示例中 该函数应返回String Tue 此外 如果只需要日期序号 如何检索 是的 根据您的具体情况
  • 如何使用迭代器在向量中导航? (C++)

    目标是访问字符串向量的 第 n 个元素 而不是 运算符或 at 方法 据我了解 迭代器可用于在容器中导航 但我以前从未使用过迭代器 而且我正在阅读的内容令人困惑 如果有人能给我一些关于如何实现这一目标的信息 我将不胜感激 谢谢 您需要利用b
  • 如何计算多线程进程的总计算时间

    我有一组任务 我们称之为T 其中每个任务T i 需要一定的时间t T i 待处理 这些任务正在并行处理X线程 这并不是说多个线程共同处理单个任务 而是多个线程正在处理多个任务 每个线程执行一个任务 然后执行下一个任务 依此类推 现在我想计算
  • geom_hexbin 将 bincount 映射到 alpha

    我希望将 geom hex bincount 设置为 alpha 就像完成的那样here 不知怎的 它对我不起作用 可能出了什么问题 ggplot2 的开发版本 library ggplot2 library reshape2 dm lt
  • 在随机字符串内使用正则表达式匹配日期

    我正在尝试这样做Java 我收到这种字符串 12 07 2004dddsss12 10 2010 rr r r10 01 2000ksdifjsdifffffdd04 04 1998 然后我必须在该字符串中找到一个或多个日期 日期格式 dd
  • 如何使用 UITypeEditor 创建简单的 Visual Studio Automation Extender

    在 Visual Studio 中 当您在解决方案资源管理器中选择项目或项目项时 有时您可能希望将自定义属性添加到属性窗口 按 F4 时弹出的窗口 此外 为了填写这些属性的值 我需要添加一个按钮来弹出表单 以便我可以在设计时从用户那里收集信
  • Python Pydub 权限被拒绝?

    当我运行这段代码时 from pydub import AudioSegment sound AudioSegment from mp3 i mp3 sound export F bh format wav A ffmpeg window
  • 使用 chromedriver 从 Selenium 打印 PDF

    我正在尝试使用 Selenium chromedriver 和 python 实现将 html css 内容打印为 PDF 我可以使用以下代码进行打印 但无法更改打印设置 我想以 Letter 尺寸打印 并且没有页眉 页脚 官方信息铬驱动程
  • HTML“no-js”类的目的是什么?

    我注意到在很多模板引擎中HTML5 样板 在各种框架和普通 php 站点中都有no js类添加到 tag 为什么要这样做 是否有某种默认浏览器行为对此类做出反应 为什么总是包含它 如果没有 no no js 情况并且可以直接处理 html
  • 导航抽屉项目图标不显示原始颜色

    我试图在导航抽屉的菜单中的项目旁边显示一个图标 但由于某种原因 该图标始终显示为灰色 而不是原始颜色 棕色 有什么方法可以防止这种情况发生 以显示图标的原始颜色 MainActivity java public class MainActi
  • 如何更改默认 EditText 的样式

    我正在创建三个EditText在我的 xml 文件中使用如下代码
  • Python CSV:读取以逗号终止的行会导致空结果

    如果这是一个愚蠢的问题 请随意骚扰我 因为我自己找不到正确的答案 我正在尝试读取一个 CSV 格式的文件 其中每行都包含数据 并且每行都以逗号终止 像这样 1 1 1 1 当我尝试使用 Python 的 CSV 函数时 我使用以下代码 wi
  • 错误:“struct List”需要模板参数

    我正在尝试为 List 类创建自己的模板作为学习练习 不过 我在模板语法方面遇到了一些问题 现在收到以下错误消息 main cpp Line 8 instantiated from here error template argument
  • 对于 >2 个类别的结果,插入符训练方法不起作用(所有准确性结果都有问题)

    嗨 我知道之前有人问过类似的问题 但还没有明确的答案 或者我尝试了他们的解决方案但没有成功 使用 GBM 时出现插入符错误 但并非没有插入符 插入符训练方法抱怨有问题 所有 RMSE 指标值均缺失 我尝试使用插入符训练方法来预测分类结果 下