I expected, that I will get the same prediction, if I multiply the weights for all classes with a constant factor, but I got different results. Please look for the following code.
> library(e1071) > data(Glass, package = "mlbench") > index <- 1:nrow(Glass) > testindex <- sample(index, trunc(length(index)/5)) > testset <- Glass[testindex, ] > trainset <- Glass[-testindex, ] > datatrain <- subset(trainset,select=-Type) > classestrain <- subset(trainset,select=Type) > Wts <- 1.0/table(Glass$Type); > model <- svm(datatrain,classestrain,type="C-classification",kernel="radial",cost=100,class.weights=Wts) > datatest = subset(testset,select=-Type) > classestest <- subset(testset,select=Type) > pred.test=predict(model,datatest) > table.test <- table(pred.test,t(classestest)) > table.test pred.test 1 2 3 5 6 7 1 11 2 0 0 0 0 2 1 12 0 0 0 0 3 1 3 1 0 0 0 5 0 0 0 1 0 0 6 0 1 0 0 1 0 7 0 1 0 1 0 6 That is the first prediction. Now I multiply all weights by 100, and create a new model and make the next prediction: > Wts <- 100.0/table(Glass$Type); > model <- svm(datatrain,classestrain,type="C-classification",kernel="radial",cost=100,class.weights=Wts) > pred.test=predict(model,datatest) > table.test <- table(pred.test,t(classestest)) > table.test pred.test 1 2 3 5 6 7 1 10 5 0 0 0 0 2 2 13 0 0 0 0 3 1 1 1 0 0 0 5 0 0 0 1 0 0 6 0 0 0 0 1 0 7 0 0 0 1 0 6 This prediction differs from the last prediction. Is this a numerical inaccuracy or is this a expected result? Then I observed, if I take the larger weights, but divide the cost by 100, I get again the first prediction: > model <- svm(datatrain,classestrain,type="C-classification",kernel="radial",cost=1,class.weights=Wts) > pred.test=predict(model,datatest) > table.test <- table(pred.test,t(classestest)) > table.test pred.test 1 2 3 5 6 7 1 11 2 0 0 0 0 2 1 12 0 0 0 0 3 1 3 1 0 0 0 5 0 0 0 1 0 0 6 0 1 0 0 1 0 7 0 1 0 1 0 6 Is this accidentally or an expected result? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.