View source: R/glasp_classification.R
| glasp_classification | R Documentation |
parsnip interface for GLASP - Classification Models
glasp_classification( mode = "classification", l1 = NULL, l2 = NULL, frob = NULL, num_comp = NULL )
mode |
A single character string for the type of model. |
l1 |
Regularization in norm l1 (lasso) |
l2 |
Regularization in norm l2 (ridge) |
frob |
Regularization in Frobenius norm. It is unique to glasp and controls the importance of the clustering on the variables. If frob=0, we want to fit a model equivalent to elastic-net, without clustering. If frob > l1+l2 means that we are more interested on the feature clustering than the variable selection. If frob > 1 we are more interested on finding clusters than on getting a linear model with good predictive power. |
num_comp |
Maximum number of clusters to search. |
A glasp_classification parsnip model
library(parsnip)
library(yardstick)
set.seed(0)
data <- simulate_dummy_logistic_data()
model <- glasp_classification(l1 = 0.05, l2 = 0.01, frob = 0.001, num_comp = 3) %>%
set_engine("glasp") %>%
fit(y~., data)
pred = predict(model$fit, data, type="class")
pred$.truth = data$y
acc = accuracy(pred, truth=.truth, estimate=.pred_class)
pred = predict(model$fit, data, type="prob")
auc = roc_auc(pred, .pred_0, truth = data$y)
#--- with tune ----
## Not run:
library(parsnip)
library(tune)
library(yardstick)
library(rsample)
set.seed(0)
data <- simulate_dummy_logistic_data()
model <- glasp_classification(l1 = tune(), l2 = tune(), frob = tune(), num_comp = tune()) %>%
set_engine("glasp")
data_rs <- vfold_cv(data, v = 4)
hist <- tune_grid(model, y~.,
resamples = data_rs,
metrics = metric_set(roc_auc, accuracy),
grid = 100,
control = control_grid(verbose = T, save_pred = T))
show_best(hist, 'roc_auc')
show_best(hist, 'accuracy')
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.