Hi Charlie,
Yes, you are perfectly right, when I make the clusters I should put 2, not 10 (it remained 10 from previous trials with 10 slaves). cl<- makeCluster(2, type="SOCK" ) To tell the truth I do not understand very well what the 2nd parameter for clusterApplyLB() has to be. If the function sv.lin has just 1 parameter, sv.lin(c), where c is the cost, how should I call clusterApplyLB? ? clusterApply LB(cl, ?,sv.lin, c=cost1) ? Below, I am providing a working example, using the gasoline data that comes in the pls package. Thank you for your time! library(e1071) library(snow) library(pls) data(gasoline) X=gasoline$NIR Y=gasoline$octane NR=10 cost1=seq(0.5,30, length=NR) sv.lin<- function(c) { for (i in 1:NR) { ind=sample(1:60,50) gTest<- data.frame(Y=I(Y[-ind]),X=I(X[-ind,])) gTrain<- data.frame(Y=I(Y[ind]),X=I(X[ind,])) svm.lin <- svm(gTrain$X,gTrain$Y, kernel="linear",cost=c[i], cross=5) results.lin <- predict(svm.lin, gTest$X) e.test.lin <- sqrt(sum((results.lin-gTest$Y)^2)/length(gTest$Y)) return(e.test.lin) } } cl<- makeCluster(2, type="SOCK" ) clusterEvalQ(cl,library(e1071)) clusterExport(cl,c("NR","Y","X")) RMSEP<-clusterApplyLB(cl,?,sv.lin,c=cost1) stopCluster(cl) cls59 wrote: > > > raluca wrote: >> >> Hello, >> >> Is the first time I am using SNOW package and I am trying to tune the >> cost parameter for a linear SVM, where the cost (variable cost1) takes 10 >> values between 0.5 and 30. >> >> I have a large dataset and a pc which is not very powerful, so I need to >> tune the parameters using both CPUs of the pc. >> >> Somehow I cannot manage to do it. It seems that both CPUs are fitting the >> model for the same values of cost1, I guess the first 5, but not for the >> last 5. >> >> Please, can anyone help me! >> >> Here is the code: >> >> data <- data.frame(Y=I(Y),X=I(X)) >> data.X<-data$X >> data.Y<-data$Y >> >> > > > Helping you will be difficult as we're only three lines into your example > and already I have no idea what the data you are using looks like. > Example code needs to be fully reproducible-- that means a small slice of > representative data needs to be provided or faked using an appropriate > random number generator. > > Some things did jump out at me about your approach and I've made some > notes below. > > > > raluca wrote: >> >> NR=10 >> cost1=seq(0.5,30, length=NR) >> >> sv.lin<- function(cl,c) { >> >> for (i in 1:NR) { >> >> ind=sample(1:414,276) >> >> hogTest<- data.frame(Y=I(data.Y[-ind]),X=I(data.X[-ind,])) >> hogTrain<- data.frame(Y=I(data.Y[ind]),X=I(data.X[ind,])) >> >> svm.lin <- svm(hogTrain$X,hogTrain$Y, kernel="linear",cost=c[i], >> cross=5) >> results.lin <- predict(svm.lin, hogTest$X) >> >> e.test.lin <- sqrt(sum((results.lin-hogTest$Y)^2)/length(hogTest$Y)) >> >> return(e.test.lin) >> } >> } >> >> cl<- makeCluster(10, type="SOCK" ) >> > > > If your machine has two cores, why are you setting up a cluster with 10 > nodes? Usually the number of nodes should equal the number of cores on > your machine in order to keep things efficient. > > > > raluca wrote: >> >> >> clusterEvalQ(cl,library(e1071)) >> >> clusterExport(cl,c("data.X","data.Y","NR","cost1")) >> >> RMSEP<-clusterApplyLB(cl,cost1,sv.lin) >> > > > Are you sure this evaluation even produces results? sv.lin() is a function > you defined above that takes two parameters-- "cl" and "c". > clusterApplyLB() will feed values of cost1 into sv.lin() for the argument > "cl", but it has nothing to give for "c". At the very least, it seems > like you would need something like: > > RMSEP <- clusterApplyLB( cl, cost1, sv.lin, c = someVector ) > > > > raluca wrote: >> >> >> stopCluster(cl) >> >> > > > Sorry I can't be very helpful, but with no data and no apparent way to > legally call sv.lin() the way you have it set up, I can't investigate the > problem to see if I get the same results you described. If you could > provide a complete working example, then there's a better chance that > someone on this list will be able to help you. > > Good luck! > > -Charlie > -- View this message in context: http://old.nabble.com/SVM-Param-Tuning-with-using-SNOW-package-tp26399401p26406709.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.