1
1
library(testthat )
2
2
library(parsnip )
3
-
3
+ library( recipes )
4
4
5
5
test_that(' primary arguments' , {
6
6
basic <- logistic_reg()
@@ -23,7 +23,7 @@ test_that('primary arguments', {
23
23
x = as.matrix(x ),
24
24
y = y ,
25
25
family = " binomial"
26
- )
26
+ )
27
27
)
28
28
)
29
29
expect_equal(basic_stan $ method $ fit ,
@@ -62,7 +62,7 @@ test_that('primary arguments', {
62
62
)
63
63
)
64
64
)
65
-
65
+
66
66
mixture_v <- logistic_reg(mixture = varying())
67
67
mixture_v_glmnet <- finalize(mixture_v , engine = " glmnet" )
68
68
expect_equal(mixture_v_glmnet $ method $ fit ,
@@ -116,7 +116,7 @@ test_that('engine arguments', {
116
116
)
117
117
)
118
118
)
119
-
119
+
120
120
})
121
121
122
122
@@ -155,4 +155,254 @@ test_that('bad input', {
155
155
expect_warning(finalize(logistic_reg(engine_args = list (formula = y ~ x )), engine = " glm" ))
156
156
})
157
157
158
+ # ##################################################################
159
+
160
+ data(" lending_club" )
161
+ lending_club <- head(lending_club , 200 )
162
+ lc_form <- as.formula(Class ~ log(funded_amnt ) + int_rate )
163
+ num_pred <- c(" funded_amnt" , " annual_inc" , " num_il_tl" )
164
+ lc_bad_form <- as.formula(funded_amnt ~ term )
165
+ lc_basic <- logistic_reg()
166
+ ctrl <- list (verbosity = 1 , catch = FALSE )
167
+ caught_ctrl <- list (verbosity = 1 , catch = TRUE )
168
+ quiet_ctrl <- list (verbosity = 0 , catch = TRUE )
169
+ lc_rec <- recipe(Class ~ funded_amnt + annual_inc + num_il_tl ,
170
+ data = lending_club )
171
+ bad_rec <-
172
+ recipe(total_bal_il ~ funded_amnt + annual_inc + num_il_tl ,
173
+ data = lending_club )
174
+
175
+
176
+ test_that(' glm execution' , {
177
+ skip_on_cran()
178
+
179
+ expect_error(
180
+ res <- fit(
181
+ lc_basic ,
182
+ engine = " glm" ,
183
+ .control = ctrl ,
184
+ lc_form ,
185
+ data = lending_club
186
+ ),
187
+ regexp = NA
188
+ )
189
+ expect_error(
190
+ res <- fit(
191
+ lc_basic ,
192
+ engine = " glm" ,
193
+ .control = ctrl ,
194
+ x = lending_club [, num_pred ],
195
+ y = lending_club $ Class
196
+ ),
197
+ regexp = NA
198
+ )
199
+ expect_error(
200
+ res <- fit(
201
+ lc_basic ,
202
+ engine = " glm" ,
203
+ .control = ctrl ,
204
+ lc_rec ,
205
+ data = lending_club
206
+ ),
207
+ regexp = NA
208
+ )
209
+ expect_error(
210
+ res <- fit(
211
+ lc_basic ,
212
+ engine = " glm" ,
213
+ .control = ctrl ,
214
+ lc_bad_form ,
215
+ data = lending_club
216
+ )
217
+ )
218
+
219
+ glm_form_catch <- fit(
220
+ lc_basic ,
221
+ engine = " glm" ,
222
+ .control = caught_ctrl ,
223
+ lc_bad_form ,
224
+ data = lending_club
225
+ )
226
+ expect_true(inherits(glm_form_catch , " try-error" ))
227
+
228
+ # fails
229
+ # glm_xy_catch <- fit(
230
+ # lc_basic,
231
+ # engine = "glm",
232
+ # .control = caught_ctrl,
233
+ # x = lending_club[, num_pred],
234
+ # y = lending_club$total_bal_il
235
+ # )
236
+ # expect_true(inherits(glm_xy_catch, "try-error"))
237
+
238
+ glm_rec_catch <- fit(
239
+ lc_basic ,
240
+ engine = " glm" ,
241
+ .control = caught_ctrl ,
242
+ bad_rec ,
243
+ data = lending_club
244
+ )
245
+ expect_true(inherits(glm_rec_catch , " try-error" ))
246
+ })
247
+
248
+ test_that(' glmnet execution' , {
249
+ skip_on_cran()
250
+
251
+ expect_error(
252
+ fit(
253
+ lc_basic ,
254
+ engine = " glmnet" ,
255
+ .control = ctrl ,
256
+ lc_form ,
257
+ data = lending_club
258
+ ),
259
+ regexp = NA
260
+ )
261
+
262
+ # expect_error(
263
+ # fit(
264
+ # lc_basic,
265
+ # engine = "glmnet",
266
+ # .control = ctrl,
267
+ # x = lending_club[, num_pred],
268
+ # y = lending_club$Class
269
+ # ),
270
+ # regexp = NA
271
+ # )
272
+
273
+ # expect_error(
274
+ # fit(
275
+ # lc_basic,
276
+ # engine = "glmnet",
277
+ # .control = ctrl,
278
+ # lc_rec,
279
+ # data = lending_club
280
+ # ),
281
+ # regexp = NA
282
+ # )
283
+
284
+ expect_error(
285
+ fit(
286
+ lc_basic ,
287
+ engine = " glm" ,
288
+ .control = ctrl ,
289
+ lc_bad_form ,
290
+ data = lending_club
291
+ )
292
+ )
293
+
294
+ glmnet_form_catch <- fit(
295
+ lc_basic ,
296
+ engine = " glmnet" ,
297
+ .control = caught_ctrl ,
298
+ lc_bad_form ,
299
+ data = lending_club
300
+ )
301
+ expect_true(inherits(glmnet_form_catch , " try-error" ))
302
+
303
+ glmnet_xy_catch <- fit(
304
+ lc_basic ,
305
+ engine = " glmnet" ,
306
+ .control = caught_ctrl ,
307
+ x = lending_club [, num_pred ],
308
+ y = lending_club $ total_bal_il
309
+ )
310
+ expect_true(inherits(glmnet_xy_catch , " try-error" ))
311
+
312
+ glmnet_rec_catch <- fit(
313
+ lc_basic ,
314
+ engine = " glmnet" ,
315
+ .control = caught_ctrl ,
316
+ bad_rec ,
317
+ data = lending_club
318
+ )
319
+ expect_true(inherits(glmnet_rec_catch , " try-error" ))
320
+ })
321
+
322
+
323
+ test_that(' stan_glm execution' , {
324
+ skip_on_cran()
325
+ lc_basic_stan <- logistic_reg(engine_args = list (seed = 1333 ))
326
+
327
+ expect_error(
328
+ res <- fit(
329
+ lc_basic_stan ,
330
+ engine = " stan_glm" ,
331
+ .control = ctrl ,
332
+ lc_form ,
333
+ data = lending_club
334
+ ),
335
+ regexp = NA
336
+ )
337
+
338
+ expect_error(
339
+ res <- fit(
340
+ lc_basic ,
341
+ engine = " stan_glm" ,
342
+ .control = ctrl ,
343
+ x = lending_club [, num_pred ],
344
+ y = lending_club $ Class
345
+ ),
346
+ regexp = NA
347
+ )
348
+
349
+ expect_error(
350
+ res <- fit(
351
+ lc_basic ,
352
+ engine = " stan_glm" ,
353
+ .control = ctrl ,
354
+ lc_rec ,
355
+ data = lending_club
356
+ ),
357
+ regexp = NA
358
+ )
359
+
360
+ expect_silent(
361
+ res <- fit(
362
+ lc_basic ,
363
+ engine = " stan_glm" ,
364
+ .control = quiet_ctrl ,
365
+ lc_rec ,
366
+ data = lending_club
367
+ )
368
+ )
369
+
370
+ expect_error(
371
+ res <- fit(
372
+ lc_basic ,
373
+ engine = " stan_glm" ,
374
+ .control = ctrl ,
375
+ lc_bad_form ,
376
+ data = lending_club
377
+ )
378
+ )
379
+
380
+ stan_form_catch <- fit(
381
+ lc_basic ,
382
+ engine = " stan_glm" ,
383
+ .control = caught_ctrl ,
384
+ lc_bad_form ,
385
+ data = lending_club
386
+ )
387
+ expect_true(inherits(stan_form_catch , " try-error" ))
388
+
389
+ # fails
390
+ # stan_xy_catch <- fit(
391
+ # lc_basic,
392
+ # engine = "stan_glm",
393
+ # .control = caught_ctrl,
394
+ # x = lending_club[, num_pred],
395
+ # y = lending_club$total_bal_il
396
+ # )
397
+ # expect_true(inherits(stan_xy_catch, "try-error"))
398
+
399
+ stan_rec_catch <- fit(
400
+ lc_basic ,
401
+ engine = " stan_glm" ,
402
+ .control = caught_ctrl ,
403
+ bad_rec ,
404
+ data = lending_club
405
+ )
406
+ expect_true(inherits(stan_rec_catch , " try-error" ))
407
+ })
158
408
0 commit comments