如何使用 R 中 e1071 包的“svm”执行多类分类

2024-01-13

我想使用执行多类分类svm的函数e1071包裹。但据我从文档中了解到svm,只能进行二元分类。插图文档讲述了多类分类的情况:“为了允许多类分类,libsvm通过拟合所有二元子分类器并通过投票机制找到正确的类,使用一对一技术".
我仍然不明白的是我们是否可以执行多类分类svm of e1071在 R 中?如果是,请解释我们如何重做iris数据集。


鸢尾花数据集包含三个类别标签:“Iris setosa”、“Iris virginica”和“Iris versicolor”。要使用 svm 采用平衡的一对一分类策略,您可以训练三个二元分类器:

第一个分类器的训练集仅包含“Iris setosa”和“Iris virginica”实例。第二个分类器的训练集仅包含“Iris setosa”和“Iris versicolor”实例。第三个分类器的训练集(我想现在您已经知道了)仅包含“Iris virginica”和“Iris versicolor”实例。

要对未知实例进行分类,您可以应用所有三个分类器。然后,简单的投票策略可以选择最常分配的类标签,更复杂的投票策略还可以考虑每个分配的类标签的 svm 置信度得分。

编辑(这个原则开箱即用svm):

# install.packages( 'e1071' )
library( 'e1071' )
data( iris )
model <- svm( iris$Species~., iris )
res <- predict( model, newdata=iris )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 R 中 e1071 包的“svm”执行多类分类 的相关文章

  • 从因子转换时间/日期

    我希望将时间从因子转换为日期 对于示例数据框 date time lt structure list date structure c 1L 1L 1L 1L 1L 1L 1L 1L 1L Label 02 02 2013 class fa
  • mtext:使用布局时较小的标签描述

    使用 mtext 作为标签描述与使用 xlab 的作用不同 如何使 mtext 标签始终与使用 xlab 时的大小相同 无需始终定义 cex 参数 在下面的最小示例中 两个图的 cex cex lab 1 不过大小不同 layout mat
  • 使用 writeLines 将变量写入文件

    我发现此链接对于理解如何将行写入文件非常有帮助 将文本行写入 R 中的文件 https stackoverflow com questions 2470248 write lines of text to a file in r 不幸的是
  • 根据 R 中的另一个变量过滤簇中的 id

    我有 100 名患者的数据 每个患者都有 7 天 1 到 7 的值 如何仅在第一天根据另一个变量选择患者 df lt data frame id c 1 1 1 2 2 2 day c 1 2 3 1 2 3 RRT c 0 1 0 1 0
  • 使用带有字边界的 mgsub 函数作为替换值

    我试图用空格替换向量中字符串元素的子字符串 以下是我们正在考虑的向量 test lt c PALMA DE MALLORCA THE RICH AND THE POOR A CAMEL IN THE DESERT SANTANDER SL
  • 在r中水平旋转直方图

    谁能帮我如何在 r 中将直方图旋转 90 度 我知道箱线图中有一个选项 horiz T 但我不知道直方图是否有类似的选项 我认为你必须使用 hist 和 barplot 来完成它 如下所示 直接来自文档 你可以在这里检查它 layout x
  • 如何从 Matlab 运行 R 脚本 [重复]

    这个问题在这里已经有答案了 我有 m 文件 我想用它来运行 R 脚本 我怎样才能做到这一点 Matlab文件 caller m some matlab code need to call a R script some matlab cod
  • R 连接到主机时出错

    我已经安装了 R 3 0 2 和包KEGGREST 在使用它的命令时 我收到以下错误 函数错误 类型 消息 asError TRUE 无法连接到 主持人 使用 internet2 选项后 我可以很好地从互联网安装软件包 该选项使用来自 In
  • 获取R中另一列值为1的列的中位数

    好的 我有一个类似于此结构的 csv 文件 hashID value flag 98fafd 35 1 fh56w2 25 0 ggjeas 55 1 adfh5d 45 0 基本上我想要做的是获取值列的中位数 但只包含其中的行flag 1
  • 如何使用ggplot2中的线将箱线图的中值与多个组连接起来?

    我正在尝试使用 ggplot2 连接箱线图的中值 但线条不在正确的位置 这是我使用的代码 library datasets library ggplot2 data airquality airquality Month lt factor
  • 删除 R 数据框中所有列名称的前两个字符

    有没有办法从数据框中的所有列名中按位置删除字符串 例如 如果我有如下列名称 ab sales1 kj sales2 lm sales3 pk sales100 10 34 64 288 我希望我的输出列名称类似于 sales1 sales2
  • R中的函数重新排序和排序值[重复]

    这个问题在这里已经有答案了 我正在尝试以下功能 stest lt data frame group c John Jane James mean c 3 5 1 transform stest group reorder group mea
  • 如何将第一行更改为R中的标题?

    我有下表 X 5 X 6 X 7 X 8 X 9 X 10 X 11 X 12 X 13 17 Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status 18 74136
  • Databricks:如何从 R Dataframe 切换到 Pandas Dataframe(同一笔记本中的 R 到 python)

    我正在 Databricks 笔记本中编写 R 代码 该代码在 R 中执行多项操作 清理数据帧后 我想使用 python 在 python 单元中调用它 因此使用 python 代码继续对数据帧进行操作 因此 我想在 python 块内将我
  • 替换 R 中内置函数的定义?

    sparcl 包使用标准 stat 包中的 kmeans 函数 我想让它使用我自己的 kmeans 实现 一种方法是编辑 sparcl 包本身中的代码 我宁愿避免这种情况 因为它会很混乱 而且我不确定如何在 R 中安装编辑过的代码 不幸的是
  • 将 jupyter R 内核与 Visual Studio 代码结合使用

    对于 python jupyter 笔记本 我目前正在使用 VSCode python 扩展 但是我找不到任何使用替代内核的方法 我对 jupyter R 内核特别感兴趣 有没有办法在 VSCode 中使用 R 内核来处理 jupyter
  • 使用 dplyr 对 R 中所有因变量进行分组汇总统计

    我正在尝试为 10 个因变量中的每一个生成分组 听力 我的自变量 因此 HL 和 NH 是两个组 汇总统计数据 平均值 标准差 最小值 最大值 标准误差等 我可以使用以下 2 个代码对一个变量 R PTA 执行此操作 1 RightPTA
  • 替换 gtable 中 ggplot 的元素:标签和网格线

    我正在学习操纵ggplot对象与gtable 这是我问的一个相关问题 用 grid 和 gtable 拆解 ggplot https stackoverflow com questions 27750737 dismantling a gg
  • 重塑错误 - 无效的“row.names”长度

    我有以下数据库 宽格式 st all 其中有两个我希望重塑的变量 P 和 PLC 主题的 ID 是 g id g id study condition sample PLC1 PLC2 PLC3 PLC4 PLC5 PLC6 PLC7 PL
  • 如何在变成因子的变量中保留原始值?

    这是一些工作代码来说明我的问题 Categorical variable recorded as numeric integer df1 lt data frame group c 1 2 3 9 3 2 9 1 9 3 2 我有一个分类变

随机推荐