Когда я настраиваю SVM
на языке R
, возникает ошибка, что функции требуется числовое значение, чтобы она могла выполнять регрессию. Я хочу знать, как можно преобразовать текст метки в числовые значения или другой способ настройки SVM
. V2
- это имя столбца метки, содержащего текст метки.
Мой код:
dataset <- read.csv('wdbc.csv',head = FALSE)
index <- 1:nrow(dataset)
testindex <- sample(index, trunc(length(index)*30/100))
testset <- dataset[testindex,]
trainset <- dataset[-testindex,]
#Assigment : find the optimal SVM for calssification (try linear, radial and tunning)
#start code
#Prepare the traindata
Nonum_train_data <- subset(trainset, select=-V1)
x_train <- subset(Nonum_train_data, select=-V2)
y_train <- subset(Nonum_train_data, select=V2)
#prepare testdata
Nonum_test_data <- subset(testset, select=-V1)
x_test <- subset(Nonum_test_data, select=-V2)
svm_tune <- tune(svm, train.x=x_train, train.y=y_train,
kernel="radial", ranges=list(cost=10^(-1:2), gamma=c(.5,1,2)))
print(svm_tune)