首页 > 解决方案 > 我想知道如何在 e1071 R 中设置 SVM 类型

问题描述

我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。我想通过 S3 方法将 SVM 类型设置为 C 分类,但我收到一个错误“错误调整(“svm”,train.x = x,数据 = 数据,范围 = 范围,...):依赖变量类型错误!” 这是我的代码

setwd("D:/R")
data<-read.csv("heart.csv",stringsAsFactors = FALSE)
data<-data[-1]
set.seed(1234)
train<-sample(nrow(data),0.7*nrow(data))
tdata<-data[train,]
vdata<-data[-train,]
library(e1071)
tuned<-tune.svm(output~.,type = 'C-classification',data = tdata,gamma = 10^(-6:-1),cost = 10^(1:2))

数据的类型是

'data.frame':   303 obs. of  14 variables:
 $ age     : int  63 37 41 56 57 57 56 44 52 57 ...
 $ sex     : int  1 1 0 1 0 1 0 1 1 1 ...
 $ cp      : int  3 2 1 1 0 0 1 1 2 2 ...
 $ trtbps  : int  145 130 130 120 120 140 140 120 172 150 ...
 $ chol    : int  233 250 204 236 354 192 294 263 199 168 ...
 $ fbs     : int  1 0 0 0 0 0 0 0 1 0 ...
 $ restecg : int  0 1 0 1 1 1 0 1 1 1 ...
 $ thalachh: int  150 187 172 178 163 148 153 173 162 174 ...
 $ exng    : int  0 0 0 0 1 0 0 0 0 0 ...
 $ oldpeak : num  2.3 3.5 1.4 0.8 0.6 0.4 1.3 0 0.5 1.6 ...
 $ slp     : int  0 0 2 2 2 1 1 2 2 2 ...
 $ caa     : int  0 0 0 0 0 0 0 0 0 0 ...
 $ thall   : int  1 2 2 2 2 1 2 3 3 2 ...
 $ output  : int  1 1 1 1 1 1 1 1 1 1 ...
NULL

错误是

Error in tune("svm", train.x = x, data = data, ranges = ranges, ...) : 
  Dependent variable has wrong type!

非常感谢!

标签: r

解决方案


推荐阅读