我正在尝试使用R中的支持向量机查找新输入向量的类概率。训练模型不会显示任何错误。
fit <-svm(device~.,data=dataframetrain,
kernel="polynomial",probability=TRUE)
但是预测一些输入向量会显示一些错误。
predict(fit,dataframetest,probability=prob)
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
dataframetrain看起来像:
> str(dataframetrain)
'data.frame': 24577 obs. of 5 variables:
$ device : Factor w/ 3 levels "mob","pc","tab": 1 1 1 1 1 1 1 1 1 1 ...
$ geslacht : Factor w/ 2 levels "M","V": 1 1 1 1 1 1 1 1 1 1 ...
$ leeftijd : num 77 67 67 66 64 64 63 61 61 58 ...
$ invultijd: num 12 12 12 12 12 12 12 12 12 12 ...
$ type : Factor w/ 8 levels "A","B","C","D",..: 5 5 5 5 5 5 5 5 5 5 ...
和dataframetest看起来像:
> str(dataframetest)
'data.frame': 8 obs. of 4 variables:
$ geslacht : Factor w/ 1 level "M": 1 1 1 1 1 1 1 1
$ leeftijd : num 20 60 30 25 36 52 145 25
$ invultijd: num 6 12 2 5 6 8 69 7
$ type : Factor w/ 8 levels "A","B","C","D",..: 1 2 3 4 5 6 7 8
我用2个“格斯拉克特”因素训练了模型,但有时我不得不预测只有1个“格斯拉克特”因素的数据。是否有可能使用仅包含1个“ geslacht”因子的测试集来预测类别概率?
我希望有一个人可以帮助我!!
向添加其他级别(但不添加数据)geslacht
。
x <- factor(c("A", "A"), levels = c("A", "B"))
x
[1] A A
Levels: A B
或者
x <- factor(c("A", "A"))
levels(x) <- c("A", "B")
x
[1] A A
Levels: A B
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句