[英]Using SVM from e1071 in R
我正在尝试使用e1071
工具包中的svm
模型,就像
型号<-svm(trainset,set_label,scale = FALSE)
每个实例的标签的原始格式为数组,例如[0,0,0,0,0,1,0,0,0]
但是从这个我会得到错误 :
Error in predict.svm(ret, xhold, decision.values = TRUE) :
test data does not match model !
然后,如果将每个标签转换为一个整数,就可以了。 那么函数svm
只是不将数组作为输出标签吗?
从e1071文档中:
y - a response vector with one label for each row/component of x. Can
be either a factor (for classification tasks) or a numeric vector (for
regression).
这意味着e1071的svm希望为每个实例分配一个标签。 看来您有9个类别,以0-1矩阵表示。 具有9个级别的因子向量应该起作用。 可以这样做:
labels <- as.factor(max.col(labels))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.