Как предсказать единственный неизвестный классифицированный кортеж для SVM в R

Я пытаюсь сделать прогноз на неизвестный классифицированный кортеж, используя SVM в R. Мой файл CSV, содержащий данные обучения:

age,income,student,credit_rating,buys_computer
youth,high,no,fair,no
youth,high,no,excellent,no
middle_aged,high,no,fair,yes
senior,medium,no,fair,yes
senior,low,yes,fair,yes
senior,low,yes,excellent,no
middle_aged,low,yes,excellent,yes
youth,medium,no,fair,no
youth,low,yes,fair,yes
senior,medium,yes,fair,yes
youth,medium,yes,excellent,yes
middle_aged,medium,no,excellent,yes
middle_aged,high,yes,fair,yes
senior,medium,no,excellent,no

а тестовый CSV, содержащий только один кортеж:

age,income,student,credit_rating
youth,medium,yes,fair

Мой код R:


library(RWeka)
library(e1071)

data <- read.csv('./Datasets/training-data-14-tuples.csv')
test <- read.csv('./Datasets/unknown-classed-tuple.csv')
classification <- svm(buys_computer~., data = data, kernel="linear")
prediction <- predict(classification, test) # <--- Error in this line
prediction

Но показывает ошибку:

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels

Я искал, чтобы исправить проблему, но везде я обнаружил, что они используют тестовые данные, которые являются частью обучающих данных (которые сами содержат значение класса), но класс моих тестовых данных (предоставленных моим учителем) неизвестен.

Это одно из моих лабораторных заданий, но я не могу решить проблему.


person Chitholian    schedule 02.04.2019    source источник
comment
Как на самом деле выглядят ваши данные после их прочтения?   -  person NelsonGon    schedule 02.04.2019