getGmodel = function(family, task) {
if (family == "tree") {
function(dataHO, targetHO, param) {
getGmodel = function(family, task) {
if (family == "tree") {
function(dataHO, targetHO, param) {
method <- ifelse(task == "classification", "class", "anova")
if (is.null(colnames(dataHO)))
colnames(dataHO) <- paste0("V", 1:ncol(dataHO))
method <- ifelse(task == "classification", "class", "anova")
if (is.null(colnames(dataHO)))
colnames(dataHO) <- paste0("V", 1:ncol(dataHO))
else if (family == "knn") {
if (task == "classification") {
function(dataHO, targetHO, param) {
else if (family == "knn") {
if (task == "classification") {
function(dataHO, targetHO, param) {
function(X) class::knn(dataHO, X, cl=targetHO, k=param)
}
}
else {
function(dataHO, targetHO, param) {
function(X) class::knn(dataHO, X, cl=targetHO, k=param)
}
}
else {
function(dataHO, targetHO, param) {
function(X) FNN::knn.reg(dataHO, X, y=targetHO, k=param)$pred
}
}
function(X) FNN::knn.reg(dataHO, X, y=targetHO, k=param)$pred
}
}
getParams = function(family, data, target, task) {
if (family == "tree") {
# Run rpart once to obtain a CV grid for parameter cp
getParams = function(family, data, target, task) {
if (family == "tree") {
# Run rpart once to obtain a CV grid for parameter cp