makeRLearner.classif.penalizedSVM = function() {
makeRLearnerClassif(
cl = "classif.penalizedSVM",
package = "penalizedSVM",
par.set = makeParamSet(
makeDiscreteLearnerParam(id="fs.method", default="scad", values=c("scad","1norm", "DrHSVM", "scad+L2")),
makeNumericLearnerParam(id="maxevals", default=500L),
makeLogicalLearnerParam(id="calc.class.weights", default=FALSE),
makeNumericLearnerParam(id="lambda1", lower=0),
makeNumericLearnerParam(id="lambda2", lower=0)
),
twoclass = TRUE,
numerics = TRUE
)
}
trainLearner.classif.penalizedSVM = function(.learner, .task, .subset, ...) {
d = getTaskData(.task, .subset, target.extra=TRUE, recode.target="-1+1")
svm.fs(x=as.matrix(d$data), y=d$target, verbose=FALSE, grid.search="discrete", parms.coding="none",
lambda1.set=2, lambda2.set=2, inner.val.method="cv", cross.inner=2,
set.seed=as.integer(runif(1, min=-.Machine$integer.max, max=.Machine$integer.max)))
}
predictLearner.classif.penalizedSVM = function(.learner, .model, .newdata, ...) {
type = ifelse(.learner$predict.type == "response", "response", "probabilities")
predict(.model$learner.model, newdata=.newdata, type=type, ...)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.