Skip to content

Commit 44730af

Browse files
authored
Merge pull request #352 from tidymodels/dbl-glmnet-intercept
remove double intercepts for glmnet models
2 parents 8331260 + 19eab1a commit 44730af

File tree

9 files changed

+20
-1301
lines changed

9 files changed

+20
-1301
lines changed

NEWS.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
# parsnip (development version)
1+
# parsnip 0.1.3
22

33
* A `glance()` method for `model_fit` objects was added (#325)
44

55
* Specific `tidy()` methods for `glmnet` models fit via `parsnip` were created so that the coefficients for the specific fitted `parsnip` model are returned.
66

7+
## Fixes
8+
9+
* `glmnet` models were fitting two intercepts (#349)
10+
711
# parsnip 0.1.2
812

913
## Breaking Changes

R/fit_helpers.R

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,15 @@ xy_xy <- function(object, env, control, target = "none", ...) {
6363
rlang::abort("For classification models, the outcome should be a factor.")
6464
}
6565

66+
encoding_info <-
67+
get_encoding(class(object)[1]) %>%
68+
dplyr::filter(mode == object$mode, engine == object$engine)
69+
70+
remove_intercept <- encoding_info %>% dplyr::pull(remove_intercept)
71+
if (remove_intercept) {
72+
env$x <- env$x[, colnames(env$x) != "(Intercept)", drop = FALSE]
73+
}
74+
6675
# if descriptors are needed, update descr_env with the calculated values
6776
if (requires_descrs(object)) {
6877
data_stats <- get_descr_xy(env$x, env$y)

tests/testthat/test_linear_reg_glmnet.R

Lines changed: 0 additions & 301 deletions
This file was deleted.

0 commit comments

Comments
 (0)