Fits a generic joint density model for the predictors and class variables.

jdify(formula, data, jd_method = "cctools", ...)

Arguments

formula

an object of class "formula"; same as stats::lm().

data

matrix, data frame, list or environment (or object coercible by base::as.data.frame()) containing the variables in the model.

jd_method

an object of class "jd_method" or a character string for built-in methods, see jd_method().

...

additional parameters passed to fit_fun.

Value

An object of class jdify.

Details

For predicting the class or conditional probabilities, see, predict.jdify().

References

Nagler, T. (2017). A generic approach to nonparametric function estimation with mixed data. arXiv:1704.07457

See also

predict.jdify(), assess_clsfyr()

Examples

# simulate training and test data dat <- data.frame( cl = as.factor(rbinom(10, 1, 0.5)), x1 = rnorm(10), x2 = ordered(rbinom(10, 1, 0.3), 0:1) ) model <- jdify(cl ~ x1 + x2, dat) # fitted joint density pred <- predict(model, dat) # class predictions probs <- predict(model, dat, what = "probs") # conditional probabilities # in-sample performance assess_clsfyr(probs[, 1], dat[, 1] == 0, measure = c("ACC", "F1"))
#> threshold measure value #> 1 0.0 ACC 0.7000000 #> 2 0.1 ACC 0.7000000 #> 3 0.2 ACC 0.7000000 #> 4 0.3 ACC 0.7000000 #> 5 0.4 ACC 0.7000000 #> 6 0.5 ACC 0.8000000 #> 7 0.6 ACC 0.9000000 #> 8 0.7 ACC 0.4000000 #> 9 0.8 ACC 0.4000000 #> 10 0.9 ACC 0.4000000 #> 11 1.0 ACC 0.3000000 #> 12 0.0 F1 0.8235294 #> 13 0.1 F1 0.8235294 #> 14 0.2 F1 0.8235294 #> 15 0.3 F1 0.8235294 #> 16 0.4 F1 0.8235294 #> 17 0.5 F1 0.8750000 #> 18 0.6 F1 0.9333333 #> 19 0.7 F1 0.2500000 #> 20 0.8 F1 0.2500000 #> 21 0.9 F1 0.2500000 #> 22 1.0 F1 0.0000000