Asking for help (a) interpreting and (b) making predictions with the coefficients produced in spline classifiers via flexible discriminant analysis from the {mda}
package. For example:
# packages --
library(tidymodel)
library(discrim)
# model specification --
> translate(discrim_flexible())
Flexible Discriminant Model Specification (classification)
Computational engine: earth
Model fit template:
mda::fda(formula = missing_arg(), data = missing_arg(), method = earth::earth)
# fit the model --
fda.mod <-
discrim_flexible() %>%
fit(
factor(cyl) ~ qsec + wt,
data = mtcars
)
# model coefs --
fda.mod %>%
extract_fit_engine() %>%
coef()
[,1] [,2]
(Intercept) 0.6093325 -1.57833809
h(wt-2.77) 1.0877863 1.51648061
h(2.77-wt) -3.3923127 2.90664473
h(qsec-17.98) -1.0263582 0.04961393
For a little bit of context, in my line of work I regularly need to build multi-class classifiers and then construct something in Excel that allows the user to make predictions on new data. For me, this generally means a multinomial logit model since its regression coefficients are easily applied to make new predictions "by hand" so to speak.
I am trying to develop an intuition behind the coefficients generated by flexible discrim (and I suppose discriminant analysis more generally - not very experienced with either).
So, I'm asking if anyone is able to provide an explanation of the steps one would take to predict new data "by hand" given the coefficients above (I assume other things would be needed as well like the means of the discriminant functions, etc.).
Thanks!