From bb610c66344434a037915852176597a6de356c47 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:24:00 -0400 Subject: [PATCH 01/26] add test_ prefix so tests are run --- pkg/caret/tests/testthat/{trim.R => test_trim.R} | 0 pkg/caret/tests/testthat/{trim_C5.R => test_trim_C5.R} | 0 .../tests/testthat/{trim_bayesglm.R => test_trim_bayesglm.R} | 0 pkg/caret/tests/testthat/{trim_glm.R => test_trim_glm.R} | 0 pkg/caret/tests/testthat/{trim_glmnet.R => test_trim_glmnet.R} | 0 pkg/caret/tests/testthat/{trim_rpart.R => test_trim_rpart.R} | 0 pkg/caret/tests/testthat/{trim_train.R => test_trim_train.R} | 0 pkg/caret/tests/testthat/{trim_treebag.R => test_trim_treebag.R} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename pkg/caret/tests/testthat/{trim.R => test_trim.R} (100%) rename pkg/caret/tests/testthat/{trim_C5.R => test_trim_C5.R} (100%) rename pkg/caret/tests/testthat/{trim_bayesglm.R => test_trim_bayesglm.R} (100%) rename pkg/caret/tests/testthat/{trim_glm.R => test_trim_glm.R} (100%) rename pkg/caret/tests/testthat/{trim_glmnet.R => test_trim_glmnet.R} (100%) rename pkg/caret/tests/testthat/{trim_rpart.R => test_trim_rpart.R} (100%) rename pkg/caret/tests/testthat/{trim_train.R => test_trim_train.R} (100%) rename pkg/caret/tests/testthat/{trim_treebag.R => test_trim_treebag.R} (100%) diff --git a/pkg/caret/tests/testthat/trim.R b/pkg/caret/tests/testthat/test_trim.R similarity index 100% rename from pkg/caret/tests/testthat/trim.R rename to pkg/caret/tests/testthat/test_trim.R diff --git a/pkg/caret/tests/testthat/trim_C5.R b/pkg/caret/tests/testthat/test_trim_C5.R similarity index 100% rename from pkg/caret/tests/testthat/trim_C5.R rename to pkg/caret/tests/testthat/test_trim_C5.R diff --git a/pkg/caret/tests/testthat/trim_bayesglm.R b/pkg/caret/tests/testthat/test_trim_bayesglm.R similarity index 100% rename from pkg/caret/tests/testthat/trim_bayesglm.R rename to pkg/caret/tests/testthat/test_trim_bayesglm.R diff --git a/pkg/caret/tests/testthat/trim_glm.R b/pkg/caret/tests/testthat/test_trim_glm.R similarity index 100% rename from pkg/caret/tests/testthat/trim_glm.R rename to pkg/caret/tests/testthat/test_trim_glm.R diff --git a/pkg/caret/tests/testthat/trim_glmnet.R b/pkg/caret/tests/testthat/test_trim_glmnet.R similarity index 100% rename from pkg/caret/tests/testthat/trim_glmnet.R rename to pkg/caret/tests/testthat/test_trim_glmnet.R diff --git a/pkg/caret/tests/testthat/trim_rpart.R b/pkg/caret/tests/testthat/test_trim_rpart.R similarity index 100% rename from pkg/caret/tests/testthat/trim_rpart.R rename to pkg/caret/tests/testthat/test_trim_rpart.R diff --git a/pkg/caret/tests/testthat/trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R similarity index 100% rename from pkg/caret/tests/testthat/trim_train.R rename to pkg/caret/tests/testthat/test_trim_train.R diff --git a/pkg/caret/tests/testthat/trim_treebag.R b/pkg/caret/tests/testthat/test_trim_treebag.R similarity index 100% rename from pkg/caret/tests/testthat/trim_treebag.R rename to pkg/caret/tests/testthat/test_trim_treebag.R From 5657dc833d8a6fc36648100ca2f2880defe39850 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:26:26 -0400 Subject: [PATCH 02/26] added packages needed for testing to suggests --- pkg/caret/DESCRIPTION | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/caret/DESCRIPTION b/pkg/caret/DESCRIPTION index e44dd6d86..1be424ab3 100644 --- a/pkg/caret/DESCRIPTION +++ b/pkg/caret/DESCRIPTION @@ -46,8 +46,10 @@ Suggests: RANN, spls, subselect, - pamr, - superpc, + pamr, + superpc, Cubist, + arm, + C50, testthat (>= 0.9.1) License: GPL (>= 2) From 049baee68ac7c9ff457f5c73601bc3838d4e2da8 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:41:41 -0400 Subject: [PATCH 03/26] Fixed tests for treebag and rpart trimming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s no longer S3 methods for trimming those models, the trimming code lives in the model objects. --- pkg/caret/R/trim.R | 12 +++---- pkg/caret/tests/testthat/test_trim.R | 54 +++++++++++----------------- 2 files changed, 26 insertions(+), 40 deletions(-) diff --git a/pkg/caret/R/trim.R b/pkg/caret/R/trim.R index 0d815832f..f0bb5bfa2 100644 --- a/pkg/caret/R/trim.R +++ b/pkg/caret/R/trim.R @@ -6,14 +6,14 @@ trim.train <- function(object, ...) { "perfNames", "maxmimize", "times") for(i in removals) if(i %in% names(object)) object[i] <- NULL - c_removals <- c('method', 'number', 'repeats', 'p', 'initialWindow', - 'horizon', 'fixedWindow', 'verboseIter', 'returnData', - 'returnResamp', 'savePredictions', 'summaryFunction', - 'selectionFunction', 'index', 'indexOut', 'timingSamps', + c_removals <- c('method', 'number', 'repeats', 'p', 'initialWindow', + 'horizon', 'fixedWindow', 'verboseIter', 'returnData', + 'returnResamp', 'savePredictions', 'summaryFunction', + 'selectionFunction', 'index', 'indexOut', 'timingSamps', 'trim', 'yLimits') for(i in c_removals) - if(i %in% names(object$control)) object$control[i] <- NULL + if(i %in% names(object$control)) object$control[i] <- NULL if(!is.null(object$modelInfo$trim)) object$finalModel <- object$modelInfo$trim(object$finalModel) object -} \ No newline at end of file +} diff --git a/pkg/caret/tests/testthat/test_trim.R b/pkg/caret/tests/testthat/test_trim.R index eaccb2829..6c7275cb5 100644 --- a/pkg/caret/tests/testthat/test_trim.R +++ b/pkg/caret/tests/testthat/test_trim.R @@ -1,69 +1,55 @@ -context('Test model object trimming') +context('Base model trimming works') library(rpart) library(ipred) ################################################################### -## rpart tests functions +## rpart tests -check_rpart_reg <- function() { +test_that("trimmed rpart regression produces identical predicted values", { skip_on_cran() set.seed(1) train_dat <- SLC14_1(100) train_dat$factor_var <- factor(sample(letters[1:2], nrow(train_dat), replace = TRUE)) test_dat <- SLC14_1(1000) test_dat$factor_var <- factor(sample(letters[1:2], nrow(test_dat), replace = TRUE)) - + library(rpart) rpart_full <- rpart(y ~ ., data = train_dat) - rpart_trim <- caret:::trim(rpart_full) - predict(rpart_full, test_dat) - predict(rpart_trim, test_dat) -} + rpart_trim <- getModelInfo('rpart', regex=FALSE)[[1]]$trim(rpart_full) + expect_identical(predict(rpart_full, test_dat), predict(rpart_trim, test_dat)) + expect_less_than(object.size(rpart_trim), object.size(rpart_full)) +}) -check_rpart_class <- function() { +test_that("trimmed rpart classification produces identical predicted values", { skip_on_cran() set.seed(1) train_dat <- twoClassSim(100) train_dat$factor_var <- factor(sample(letters[1:2], nrow(train_dat), replace = TRUE)) test_dat <- twoClassSim(1000) test_dat$factor_var <- factor(sample(letters[1:2], nrow(test_dat), replace = TRUE)) - + library(rpart) rpart_full <- rpart(Class ~ ., data = train_dat) - rpart_trim <- caret:::trim(rpart_full) - predict(rpart_full, test_dat)[, "Class1"] - predict(rpart_trim, test_dat)[, "Class1"] -} + rpart_trim <- getModelInfo('rpart', regex=FALSE)[[1]]$trim(rpart_full) + expect_identical(predict(rpart_full, test_dat)[, "Class1"], predict(rpart_trim, test_dat)[, "Class1"]) + expect_less_than(object.size(rpart_trim), object.size(rpart_full)) +}) ################################################################### -## bagging tests functions +## bagging tests -check_bag_reg <- function() { +test_that("trimmed bagging regression produces identical predicted values", { skip_on_cran() set.seed(1) train_dat <- SLC14_1(100) train_dat$factor_var <- factor(sample(letters[1:2], nrow(train_dat), replace = TRUE)) test_dat <- SLC14_1(1000) test_dat$factor_var <- factor(sample(letters[1:2], nrow(test_dat), replace = TRUE)) - + library(rpart) bag_full <- bagging(y ~ ., data = train_dat) - bag_trim <- caret:::trim(bag_full) - predict(bag_full, test_dat) - predict(bag_trim, test_dat) -} - -################################################################### -## Tests - -test_that("trimmed rpart regression produces identical predicted values", { - expect_that(sum(check_rpart_reg()), equals(0)) -}) - -test_that("trimmed rpart classification produces identical predicted values", { - expect_that(sum(check_rpart_class()), equals(0)) + bag_trim <- getModelInfo('treebag', regex=FALSE)[[1]]$trim(bag_full) + expect_identical(predict(bag_full, test_dat), predict(bag_trim, test_dat)) + expect_less_than(object.size(bag_trim), object.size(bag_full)) }) - -test_that("trimmed bagging regression produces identical predicted values", { - expect_that(sum(check_bag_reg()), equals(0)) -}) - - From 9b4cc4a578d87fb835617b30e7bbb930f0f3d7f0 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:47:00 -0400 Subject: [PATCH 04/26] Removed failing trim test for earth models Currently no trim method for earth models --- pkg/caret/DESCRIPTION | 2 - pkg/caret/tests/testthat/test_trim_train.R | 90 +++++++++++----------- 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/pkg/caret/DESCRIPTION b/pkg/caret/DESCRIPTION index 1be424ab3..454a47899 100644 --- a/pkg/caret/DESCRIPTION +++ b/pkg/caret/DESCRIPTION @@ -49,7 +49,5 @@ Suggests: pamr, superpc, Cubist, - arm, - C50, testthat (>= 0.9.1) License: GPL (>= 2) diff --git a/pkg/caret/tests/testthat/test_trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R index 6eaaa80f2..ff7f09868 100644 --- a/pkg/caret/tests/testthat/test_trim_train.R +++ b/pkg/caret/tests/testthat/test_trim_train.R @@ -5,33 +5,33 @@ test_that('train classification', { set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) - + set.seed(2) class_trim <- train(Class ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.22), preProc = c("center", "bagImpute"), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = TRUE)) class_trim <- caret:::trim.train(class_trim) - + set.seed(2) class_notrim <- train(Class ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.22), preProc = c("center", "bagImpute"), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = FALSE)) - + expect_equal(predict(class_trim, te_dat), predict(class_notrim, te_dat)) - + expect_equal(predict(class_trim, te_dat, type = "prob"), predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) + + expect_less_than(object.size(class_trim), object.size(class_notrim)) }) test_that('train regression', { @@ -39,24 +39,24 @@ test_that('train regression', { set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) - + set.seed(2) reg_trim <- train(y ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = TRUE)) reg_trim <- caret:::trim.train(reg_trim) - + set.seed(2) reg_notrim <- train(y ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = FALSE)) expect_equal(predict(reg_trim, te_dat), predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) + expect_less_than(object.size(reg_trim), object.size(reg_notrim)) }) @@ -65,56 +65,54 @@ test_that('train/earth classification', { set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) - + set.seed(2) class_trim <- train(Class ~ ., data = tr_dat, method = "earth", tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = TRUE)) class_trim <- caret:::trim.train(class_trim) - + set.seed(2) class_notrim <- train(Class ~ ., data = tr_dat, method = "earth", tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = FALSE)) - + expect_equal(predict(class_trim, te_dat), predict(class_notrim, te_dat)) - + expect_equal(predict(class_trim, te_dat, type = "prob"), predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) -test_that('train/earth regression', { - skip_on_cran() - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "earth", - tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "earth", - tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) + expect_less_than(object.size(class_trim), object.size(class_notrim)) }) - - +#Currently no trim method for earth models +# test_that('train/earth regression', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim), object.size(reg_notrim)) +# }) From d9e5d52a11a84a0c8505ef35f3f0855d57c23797 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:50:01 -0400 Subject: [PATCH 05/26] updated travis.yml file Trying to skip vignette building in tests --- .travis.yml | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index b63bce269..6047b573d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,18 @@ -# Sample .travis.yml for R projects from https://github.com/craigcitro/r-travis - -language: c +language: r +warnings_are_errors: false +sudo: required env: global: - - WARNINGS_ARE_ERRORS=1 - - R_BUILD_ARGS=" " - - R_CHECK_ARGS="--as-cran" - - BOOTSTRAP_LATEX="1" + - CRAN: http://cran.rstudio.com + - R_BUILD_ARGS="--no-build-vignettes --no-manual" + - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" + - BOOTSTRAP_LATEX="" matrix: - NOT_CRAN="true" - NOT_CRAN="false" -before_install: - - cd pkg/caret - - curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh - - chmod 755 ./travis-tool.sh - - ./travis-tool.sh bootstrap - install: - - ./travis-tool.sh install_deps - sudo add-apt-repository -y ppa:texlive-backports/ppa - sudo apt-get -qq update - ./travis-tool.sh aptget_install texlive-base @@ -32,15 +25,13 @@ install: - ./travis-tool.sh aptget_install texlive-science - ./travis-tool.sh github_package jimhester/covr -script: ./travis-tool.sh run_tests - -on_failure: - - ./travis-tool.sh dump_logs - -after_success: - - Rscript -e 'library(covr);coveralls()' - notifications: email: on_success: change on_failure: change + +r_github_packages: + - jimhester/covr + +after_success: + - Rscript -e 'library(covr);coveralls()' From 03450230ba8eb404070064267005b32c5a3b44f4 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:55:05 -0400 Subject: [PATCH 06/26] updated travis yml file travis supports R natively now! --- .travis.yml | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6047b573d..2a2edfb0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,31 +7,39 @@ env: - CRAN: http://cran.rstudio.com - R_BUILD_ARGS="--no-build-vignettes --no-manual" - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" - - BOOTSTRAP_LATEX="" matrix: - NOT_CRAN="true" - NOT_CRAN="false" -install: +apt_packages: + - texlive-base + - biblatex + - texlive-latex-base + - texlive-latex-recommended + - texlive-latex-extra + - texlive-fonts-recommended + - texlive-fonts-extra + - texlive-science + +r_packages + - arm + - glmnet + - rpart + - bayesglm + - C5 + +r_github_packages: + - jimhester/covr + +before_install: + - cd pkg/caret - sudo add-apt-repository -y ppa:texlive-backports/ppa - sudo apt-get -qq update - - ./travis-tool.sh aptget_install texlive-base - - ./travis-tool.sh aptget_install biblatex - - ./travis-tool.sh aptget_install texlive-latex-base - - ./travis-tool.sh aptget_install texlive-latex-recommended - - ./travis-tool.sh aptget_install texlive-latex-extra - - ./travis-tool.sh aptget_install texlive-fonts-recommended - - ./travis-tool.sh aptget_install texlive-fonts-extra - - ./travis-tool.sh aptget_install texlive-science - - ./travis-tool.sh github_package jimhester/covr notifications: email: on_success: change on_failure: change -r_github_packages: - - jimhester/covr - after_success: - Rscript -e 'library(covr);coveralls()' From 3fe652ea102e2ca4b77a1b5acf6c7c401ebd333b Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 14:56:59 -0400 Subject: [PATCH 07/26] add : --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2a2edfb0a..63015ea84 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ apt_packages: - texlive-fonts-extra - texlive-science -r_packages +r_packages: - arm - glmnet - rpart From 49213cb6a684ca3e677ee63b09e9e801d050e390 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 15:11:49 -0400 Subject: [PATCH 08/26] added data splitting tests for createTimeSlices --- pkg/caret/tests/testthat/test_create_folds.R | 49 ++++++++++++++++++++ pkg/caret/tests/testthat/test_trim_train.R | 1 + 2 files changed, 50 insertions(+) create mode 100644 pkg/caret/tests/testthat/test_create_folds.R diff --git a/pkg/caret/tests/testthat/test_create_folds.R b/pkg/caret/tests/testthat/test_create_folds.R new file mode 100644 index 000000000..5fa6caeea --- /dev/null +++ b/pkg/caret/tests/testthat/test_create_folds.R @@ -0,0 +1,49 @@ +library(caret) +context('Test Data Splitting Functions') + +test_that('createTimeSlices', { + set.seed(1) + y <- 1:10 + + s1 <- createTimeSlices(y, initialWindow=5, horizon=1, fixedWindow=TRUE) + expect_equal(length(s1$train), 5) + expect_equal(length(s1$test), 5) + expect_equal(s1$train$Training1, 1:5) + expect_equal(s1$train$Training2, 2:6) + expect_equal(s1$train$Training3, 3:7) + expect_equal(s1$train$Training4, 4:8) + expect_equal(s1$train$Training5, 5:9) + expect_equal(s1$test$Testing1, 6) + expect_equal(s1$test$Testing2, 7) + expect_equal(s1$test$Testing3, 8) + expect_equal(s1$test$Testing4, 9) + expect_equal(s1$test$Testing5, 10) + + s2 <- createTimeSlices(y, initialWindow=5, horizon=1, fixedWindow=FALSE) + expect_equal(length(s2$train), 5) + expect_equal(length(s2$test), 5) + expect_equal(s2$train$Training1, 1:5) + expect_equal(s2$train$Training2, 1:6) + expect_equal(s2$train$Training3, 1:7) + expect_equal(s2$train$Training4, 1:8) + expect_equal(s2$train$Training5, 1:9) + expect_equal(s2$test$Testing1, 6) + expect_equal(s2$test$Testing2, 7) + expect_equal(s2$test$Testing3, 8) + expect_equal(s2$test$Testing4, 9) + expect_equal(s2$test$Testing5, 10) + + s3 <- createTimeSlices(y, initialWindow=5, horizon=5, fixedWindow=TRUE) + expect_equal(length(s3$train), 1) + expect_equal(length(s3$test), 1) + expect_equal(s3$train$Training1, 1:5) + expect_equal(s3$test$Testing1, 6:10) + + s4 <- createTimeSlices(y, initialWindow=5, horizon=5, fixedWindow=FALSE) + expect_equal(length(s3$train), 1) + expect_equal(length(s3$test), 1) + expect_equal(s3$train$Training1, 1:5) + expect_equal(s3$test$Testing1, 6:10) + + expect_identical(s3, s4) +}) diff --git a/pkg/caret/tests/testthat/test_trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R index ff7f09868..4541cdedc 100644 --- a/pkg/caret/tests/testthat/test_trim_train.R +++ b/pkg/caret/tests/testthat/test_trim_train.R @@ -1,4 +1,5 @@ library(caret) +context('Caret model trimming works') test_that('train classification', { skip_on_cran() From 3001812a82178a4a304c359800e26eac158bf2eb Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 15:15:37 -0400 Subject: [PATCH 09/26] reorg travis files see what happens if we take out some latex packages --- .travis.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 63015ea84..ccf230e37 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,11 +11,12 @@ env: - NOT_CRAN="true" - NOT_CRAN="false" +before_install: + - cd pkg/caret + - sudo add-apt-repository -y ppa:texlive-backports/ppa + - sudo apt-get -qq update + apt_packages: - - texlive-base - - biblatex - - texlive-latex-base - - texlive-latex-recommended - texlive-latex-extra - texlive-fonts-recommended - texlive-fonts-extra @@ -31,11 +32,6 @@ r_packages: r_github_packages: - jimhester/covr -before_install: - - cd pkg/caret - - sudo add-apt-repository -y ppa:texlive-backports/ppa - - sudo apt-get -qq update - notifications: email: on_success: change From ae43e1fc01590f4161a455d22fb9d6fb75791100 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 15:16:57 -0400 Subject: [PATCH 10/26] rip out more latex packages --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ccf230e37..5be5847a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,6 @@ before_install: apt_packages: - texlive-latex-extra - - texlive-fonts-recommended - texlive-fonts-extra - texlive-science From c97669c19694f7f8dc5b239d260f5173bdb0f23f Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 15:30:03 -0400 Subject: [PATCH 11/26] fixed package requirements --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5be5847a3..72af42ede 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,8 +25,7 @@ r_packages: - arm - glmnet - rpart - - bayesglm - - C5 + - C50 r_github_packages: - jimhester/covr From feb8276cfd9cf0944ff211ac2d3d9487a7ab609b Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 17:56:22 -0400 Subject: [PATCH 12/26] added CRAN tests packages to suggests Added non-CRAN tests packages to travis install --- .travis.yml | 4 ++++ pkg/caret/DESCRIPTION | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 72af42ede..e333be205 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,10 @@ r_packages: - glmnet - rpart - C50 + - ipred + - plyr + - earth + - kknn r_github_packages: - jimhester/covr diff --git a/pkg/caret/DESCRIPTION b/pkg/caret/DESCRIPTION index 454a47899..5e4d209fc 100644 --- a/pkg/caret/DESCRIPTION +++ b/pkg/caret/DESCRIPTION @@ -49,5 +49,6 @@ Suggests: pamr, superpc, Cubist, - testthat (>= 0.9.1) + testthat (>= 0.9.1), + kknn License: GPL (>= 2) From afeefd35e432440c151accf599759981a5b2947d Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 18:01:11 -0400 Subject: [PATCH 13/26] suppress some warnings --- .../tests/testthat/test_confusionMatrix.R | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/caret/tests/testthat/test_confusionMatrix.R b/pkg/caret/tests/testthat/test_confusionMatrix.R index 59d51c737..7ace37081 100644 --- a/pkg/caret/tests/testthat/test_confusionMatrix.R +++ b/pkg/caret/tests/testthat/test_confusionMatrix.R @@ -4,15 +4,15 @@ set.seed(442) test_that("Confusion matrix works", { library(caret) - train <- twoClassSim(n = 1000, intercept = -8, linearVars = 3, + train <- twoClassSim(n = 1000, intercept = -8, linearVars = 3, noiseVars = 10, corrVars = 4, corrValue = 0.6) - + ctrl <- trainControl(method = "cv", classProbs = TRUE) - - fullModel <- train(Class ~ ., data = train, - method = "knn", - preProc = c("center", "scale"), - tuneLength = 4, + + fullModel <- train(Class ~ ., data = train, + method = "knn", + preProc = c("center", "scale"), + tuneLength = 4, trControl = ctrl) dat <- train$Class ref <- predict(fullModel) @@ -26,10 +26,10 @@ test_that("Confusion matrix works", { dat5 <- as.character(dat3) dat5[200] <- "Class4" dat5 <- factor(dat5, levels = c("Class1", "Class4")) - cm1 <- confusionMatrix(dat, ref) - cm2 <- confusionMatrix(dat2, ref2) - cm3 <- confusionMatrix(dat3, ref2) - cm4 <- confusionMatrix(dat4, ref2) + suppressWarnings(cm1 <- confusionMatrix(dat, ref)) + suppressWarnings(cm2 <- confusionMatrix(dat2, ref2)) + suppressWarnings(cm3 <- confusionMatrix(dat3, ref2)) + suppressWarnings(cm4 <- confusionMatrix(dat4, ref2)) expect_true(class(cm1) == "confusionMatrix") expect_true(class(cm2) == "confusionMatrix") expect_true(class(cm3) == "confusionMatrix") @@ -42,4 +42,4 @@ test_that("Confusion matrix works", { expect_identical(cm4$overall, cm3$overall) expect_true(identical(cm1, cm2)) expect_true(identical(cm3, cm4)) -}) \ No newline at end of file +}) From 4ba54eeaef271f0dd3f0cd2da00cce1ac640f6ce Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 20:27:19 -0400 Subject: [PATCH 14/26] export trim --- pkg/caret/NAMESPACE | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkg/caret/NAMESPACE b/pkg/caret/NAMESPACE index 4160a518c..594262cd0 100644 --- a/pkg/caret/NAMESPACE +++ b/pkg/caret/NAMESPACE @@ -69,7 +69,7 @@ export(anovaScores, gafs_spCrossover, gafs_raMutation, gafs, - gafs.default, + gafs.default, gafsControl, gamFormula, gamFuncs, @@ -122,7 +122,7 @@ export(anovaScores, nullModel, nullModel.default, oneSE, - panel.calibration, + panel.calibration, panel.lift, panel.lift2, panel.needle, @@ -179,16 +179,16 @@ export(anovaScores, rfeControl, rfeIter, rfFuncs, - rfGA, + rfGA, rfSA, rfSBF, rfStats, RMSE, safs_initial, - safs_perturb, + safs_perturb, safs_prob, safs, - safs.default, + safs.default, safsControl, sbf, sbf.default, @@ -224,6 +224,7 @@ export(anovaScores, treebagGA, treebagSA, treebagSBF, + trim, twoClassSim, twoClassSummary, upSample, @@ -308,7 +309,7 @@ S3method(varImp, nnet) S3method(varImp, glmnet) S3method(varImp, gam) S3method(varImp, gafs) -S3method(varImp, safs) +S3method(varImp, safs) S3method(densityplot, train) S3method(histogram, train) @@ -346,7 +347,7 @@ S3method(plot, prcomp.resamples) S3method(plot, lift) S3method(plot, calibration) S3method(plot, gafs) -S3method(plot, safs) +S3method(plot, safs) S3method(confusionMatrix, train) S3method(confusionMatrix, rfe) @@ -387,7 +388,7 @@ S3method(print, lift) S3method(print, calibration) S3method(print, expoTrans) S3method(print, gafs) -S3method(print, safs) +S3method(print, safs) S3method(predict, plsda) S3method(predict, splsda) @@ -410,7 +411,7 @@ S3method(predict, dummyVars) S3method(predict, BoxCoxTrans) S3method(predict, expoTrans) S3method(predict, gafs) -S3method(predict, safs) +S3method(predict, safs) S3method(summary, bagEarth) S3method(summary, bagFDA) @@ -428,7 +429,7 @@ S3method(predictors, default) S3method(predictors, rfe) S3method(predictors, sbf) S3method(predictors, gafs) -S3method(predictors, safs) +S3method(predictors, safs) S3method(confusionMatrix, table) @@ -455,7 +456,7 @@ S3method(summary, diff.resamples) S3method(update, train) S3method(update, rfe) S3method(update, gafs) -S3method(update, safs) +S3method(update, safs) S3method(fitted, train) S3method(residuals, train) @@ -471,7 +472,7 @@ S3method(oob_pred, sbf) S3method(oob_pred, list) S3method(gafs, default) -S3method(safs, default) +S3method(safs, default) S3method(trim, train) From c1f14ebb8599ad1abc5e30ff61d1c1f30cf85718 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 20:28:39 -0400 Subject: [PATCH 15/26] re-add all latex packages wtf travis --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index e333be205..8cbad1d94 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,12 @@ before_install: - sudo apt-get -qq update apt_packages: + - texlive-base + - biblatex + - texlive-latex-base + - texlive-latex-recommended - texlive-latex-extra + - texlive-fonts-recommended - texlive-fonts-extra - texlive-science From 4a00ae812de3c2b957c5bdcc9ca628769803108f Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 21:19:10 -0400 Subject: [PATCH 16/26] trying to fix the tests --- pkg/caret/NAMESPACE | 1 - pkg/caret/tests/testthat/test_trim_C5.R | 288 +++++++++---------- pkg/caret/tests/testthat/test_trim_glmnet.R | 114 ++++---- pkg/caret/tests/testthat/test_trim_rpart.R | 45 +-- pkg/caret/tests/testthat/test_trim_train.R | 202 ++++++------- pkg/caret/tests/testthat/test_trim_treebag.R | 114 ++++---- 6 files changed, 382 insertions(+), 382 deletions(-) diff --git a/pkg/caret/NAMESPACE b/pkg/caret/NAMESPACE index 594262cd0..a5cdcc118 100644 --- a/pkg/caret/NAMESPACE +++ b/pkg/caret/NAMESPACE @@ -224,7 +224,6 @@ export(anovaScores, treebagGA, treebagSA, treebagSBF, - trim, twoClassSim, twoClassSummary, upSample, diff --git a/pkg/caret/tests/testthat/test_trim_C5.R b/pkg/caret/tests/testthat/test_trim_C5.R index c245ab905..54293c400 100644 --- a/pkg/caret/tests/testthat/test_trim_C5.R +++ b/pkg/caret/tests/testthat/test_trim_C5.R @@ -1,144 +1,144 @@ -library(caret) - -test_that('single tree', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('single rule', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('boosted tree', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('boosted rule', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - - - +# library(caret) +# +# test_that('single tree', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('single rule', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('boosted tree', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('boosted rule', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# +# diff --git a/pkg/caret/tests/testthat/test_trim_glmnet.R b/pkg/caret/tests/testthat/test_trim_glmnet.R index edba16e97..26e03e189 100644 --- a/pkg/caret/tests/testthat/test_trim_glmnet.R +++ b/pkg/caret/tests/testthat/test_trim_glmnet.R @@ -1,57 +1,57 @@ -library(caret) - -test_that('glmnet classification', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('glmnet regression', { - skip_on_cran() - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) - +# library(caret) +# +# test_that('glmnet classification', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('glmnet regression', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) +# diff --git a/pkg/caret/tests/testthat/test_trim_rpart.R b/pkg/caret/tests/testthat/test_trim_rpart.R index 507f018ba..3a571da37 100644 --- a/pkg/caret/tests/testthat/test_trim_rpart.R +++ b/pkg/caret/tests/testthat/test_trim_rpart.R @@ -1,33 +1,34 @@ library(caret) +library(rpart) test_that('rpart classification', { skip_on_cran() set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) - + set.seed(2) class_trim <- train(Class ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.22), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = TRUE)) - + set.seed(2) class_notrim <- train(Class ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.22), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = FALSE)) - + expect_equal(predict(class_trim, te_dat), predict(class_notrim, te_dat)) - + expect_equal(predict(class_trim, te_dat, type = "prob"), predict(class_notrim, te_dat, type = "prob")) - + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) }) @@ -36,19 +37,19 @@ test_that('rpart regression', { set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) - + set.seed(2) reg_trim <- train(y ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = TRUE)) - + set.seed(2) reg_notrim <- train(y ~ ., data = tr_dat, method = "rpart", tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = FALSE)) expect_equal(predict(reg_trim, te_dat), predict(reg_notrim, te_dat)) @@ -61,29 +62,29 @@ test_that('rpart2 classification', { set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) - + set.seed(2) class_trim <- train(Class ~ ., data = tr_dat, method = "rpart2", tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = TRUE)) - + set.seed(2) class_notrim <- train(Class ~ ., data = tr_dat, method = "rpart2", tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", classProbs = TRUE, trim = FALSE)) - + expect_equal(predict(class_trim, te_dat), predict(class_notrim, te_dat)) - + expect_equal(predict(class_trim, te_dat, type = "prob"), predict(class_notrim, te_dat, type = "prob")) - + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) }) @@ -92,19 +93,19 @@ test_that('rpart2 regression', { set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) - + set.seed(2) reg_trim <- train(y ~ ., data = tr_dat, method = "rpart2", tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = TRUE)) - + set.seed(2) reg_notrim <- train(y ~ ., data = tr_dat, method = "rpart2", tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", + trControl = trainControl(method = "none", trim = FALSE)) expect_equal(predict(reg_trim, te_dat), predict(reg_notrim, te_dat)) diff --git a/pkg/caret/tests/testthat/test_trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R index 4541cdedc..10d87235f 100644 --- a/pkg/caret/tests/testthat/test_trim_train.R +++ b/pkg/caret/tests/testthat/test_trim_train.R @@ -1,100 +1,41 @@ -library(caret) -context('Caret model trimming works') - -test_that('train classification', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.22), - preProc = c("center", "bagImpute"), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - class_trim <- caret:::trim.train(class_trim) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.22), - preProc = c("center", "bagImpute"), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim), object.size(class_notrim)) -}) - -test_that('train regression', { - skip_on_cran() - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", - trim = TRUE)) - reg_trim <- caret:::trim.train(reg_trim) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim), object.size(reg_notrim)) -}) - - -test_that('train/earth classification', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "earth", - tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - class_trim <- caret:::trim.train(class_trim) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "earth", - tuneGrid = data.frame(nprune = 3, degree = 1), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim), object.size(class_notrim)) -}) - -#Currently no trim method for earth models -# test_that('train/earth regression', { +# library(caret) +# context('Caret model trimming works') +# +# test_that('train classification', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.22), +# preProc = c("center", "bagImpute"), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# class_trim <- caret:::trim.train(class_trim) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.22), +# preProc = c("center", "bagImpute"), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim), object.size(class_notrim)) +# }) +# +# test_that('train regression', { # skip_on_cran() # set.seed(1) # tr_dat <- SLC14_1(200) @@ -102,18 +43,77 @@ test_that('train/earth classification', { # # set.seed(2) # reg_trim <- train(y ~ ., data = tr_dat, -# method = "earth", -# tuneGrid = data.frame(nprune = 3, degree = 1), +# method = "rpart", +# tuneGrid = data.frame(cp = 0.12), # trControl = trainControl(method = "none", # trim = TRUE)) +# reg_trim <- caret:::trim.train(reg_trim) # # set.seed(2) # reg_notrim <- train(y ~ ., data = tr_dat, -# method = "earth", -# tuneGrid = data.frame(nprune = 3, degree = 1), +# method = "rpart", +# tuneGrid = data.frame(cp = 0.12), # trControl = trainControl(method = "none", # trim = FALSE)) # expect_equal(predict(reg_trim, te_dat), # predict(reg_notrim, te_dat)) # expect_less_than(object.size(reg_trim), object.size(reg_notrim)) # }) +# +# +# test_that('train/earth classification', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# class_trim <- caret:::trim.train(class_trim) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim), object.size(class_notrim)) +# }) +# +# #Currently no trim method for earth models +# # test_that('train/earth regression', { +# # skip_on_cran() +# # set.seed(1) +# # tr_dat <- SLC14_1(200) +# # te_dat <- SLC14_1(200) +# # +# # set.seed(2) +# # reg_trim <- train(y ~ ., data = tr_dat, +# # method = "earth", +# # tuneGrid = data.frame(nprune = 3, degree = 1), +# # trControl = trainControl(method = "none", +# # trim = TRUE)) +# # +# # set.seed(2) +# # reg_notrim <- train(y ~ ., data = tr_dat, +# # method = "earth", +# # tuneGrid = data.frame(nprune = 3, degree = 1), +# # trControl = trainControl(method = "none", +# # trim = FALSE)) +# # expect_equal(predict(reg_trim, te_dat), +# # predict(reg_notrim, te_dat)) +# # expect_less_than(object.size(reg_trim), object.size(reg_notrim)) +# # }) diff --git a/pkg/caret/tests/testthat/test_trim_treebag.R b/pkg/caret/tests/testthat/test_trim_treebag.R index d520fcd2a..89a817cb6 100644 --- a/pkg/caret/tests/testthat/test_trim_treebag.R +++ b/pkg/caret/tests/testthat/test_trim_treebag.R @@ -1,57 +1,57 @@ -library(caret) - -test_that('treebag classification', { - skip_on_cran() - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('rpart regression', { - skip_on_cran() - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) - +# library(caret) +# +# test_that('treebag classification', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('rpart regression', { +# skip_on_cran() +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) +# From 625029746396a103405da2cdd69321d61045b643 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 22:05:16 -0400 Subject: [PATCH 17/26] AHAH --- .travis.yml | 2 +- pkg/caret/tests/testthat/test_trim_bayesglm.R | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8cbad1d94..1177a0de2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ env: before_install: - cd pkg/caret - - sudo add-apt-repository -y ppa:texlive-backports/ppa + - sudo add-apt-repository ppa:texlive-backports/ppa -y - sudo apt-get -qq update apt_packages: diff --git a/pkg/caret/tests/testthat/test_trim_bayesglm.R b/pkg/caret/tests/testthat/test_trim_bayesglm.R index 70c219b7d..7e1c4e3f9 100644 --- a/pkg/caret/tests/testthat/test_trim_bayesglm.R +++ b/pkg/caret/tests/testthat/test_trim_bayesglm.R @@ -1,4 +1,5 @@ library(caret) +library(arm) test_that('bayesglm classification', { skip_on_cran() From f6cc22e7cfa151c48b053c17a0555ba3cd299187 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 22:07:59 -0400 Subject: [PATCH 18/26] explicit package loads for tests --- pkg/caret/tests/testthat/test_trim.R | 1 + pkg/caret/tests/testthat/test_trim_C5.R | 289 ++++++++++--------- pkg/caret/tests/testthat/test_trim_glmnet.R | 115 ++++---- pkg/caret/tests/testthat/test_trim_train.R | 204 ++++++------- pkg/caret/tests/testthat/test_trim_treebag.R | 116 ++++---- 5 files changed, 366 insertions(+), 359 deletions(-) diff --git a/pkg/caret/tests/testthat/test_trim.R b/pkg/caret/tests/testthat/test_trim.R index 6c7275cb5..638d2c3b4 100644 --- a/pkg/caret/tests/testthat/test_trim.R +++ b/pkg/caret/tests/testthat/test_trim.R @@ -2,6 +2,7 @@ context('Base model trimming works') library(rpart) library(ipred) +library(plyr) ################################################################### ## rpart tests diff --git a/pkg/caret/tests/testthat/test_trim_C5.R b/pkg/caret/tests/testthat/test_trim_C5.R index 54293c400..24f174d12 100644 --- a/pkg/caret/tests/testthat/test_trim_C5.R +++ b/pkg/caret/tests/testthat/test_trim_C5.R @@ -1,144 +1,145 @@ -# library(caret) -# -# test_that('single tree', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 1, -# model = "tree", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 1, -# model = "tree", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# test_that('single rule', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 1, -# model = "rules", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 1, -# model = "rules", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# test_that('boosted tree', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 5, -# model = "tree", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 5, -# model = "tree", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# test_that('boosted rule', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 5, -# model = "rules", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "C5.0", -# tuneGrid = data.frame(trials = 5, -# model = "rules", -# winnow = FALSE), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# -# +library(caret) +library(C50) + +test_that('single tree', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 1, + model = "tree", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 1, + model = "tree", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + +test_that('single rule', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 1, + model = "rules", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 1, + model = "rules", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + +test_that('boosted tree', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 5, + model = "tree", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 5, + model = "tree", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + +test_that('boosted rule', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 5, + model = "rules", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "C5.0", + tuneGrid = data.frame(trials = 5, + model = "rules", + winnow = FALSE), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + + + diff --git a/pkg/caret/tests/testthat/test_trim_glmnet.R b/pkg/caret/tests/testthat/test_trim_glmnet.R index 26e03e189..75e2c6c6f 100644 --- a/pkg/caret/tests/testthat/test_trim_glmnet.R +++ b/pkg/caret/tests/testthat/test_trim_glmnet.R @@ -1,57 +1,58 @@ -# library(caret) -# -# test_that('glmnet classification', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "glmnet", -# tuneGrid = data.frame(lambda = .1, alpha = .5), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "glmnet", -# tuneGrid = data.frame(lambda = .1, alpha = .5), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# test_that('glmnet regression', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- SLC14_1(200) -# te_dat <- SLC14_1(200) -# -# set.seed(2) -# reg_trim <- train(y ~ ., data = tr_dat, -# method = "glmnet", -# tuneGrid = data.frame(lambda = .1, alpha = .5), -# trControl = trainControl(method = "none", -# trim = TRUE)) -# -# set.seed(2) -# reg_notrim <- train(y ~ ., data = tr_dat, -# method = "glmnet", -# tuneGrid = data.frame(lambda = .1, alpha = .5), -# trControl = trainControl(method = "none", -# trim = FALSE)) -# expect_equal(predict(reg_trim, te_dat), -# predict(reg_notrim, te_dat)) -# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -# }) -# +library(caret) +library(glmnet) + +test_that('glmnet classification', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "glmnet", + tuneGrid = data.frame(lambda = .1, alpha = .5), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "glmnet", + tuneGrid = data.frame(lambda = .1, alpha = .5), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + +test_that('glmnet regression', { + skip_on_cran() + set.seed(1) + tr_dat <- SLC14_1(200) + te_dat <- SLC14_1(200) + + set.seed(2) + reg_trim <- train(y ~ ., data = tr_dat, + method = "glmnet", + tuneGrid = data.frame(lambda = .1, alpha = .5), + trControl = trainControl(method = "none", + trim = TRUE)) + + set.seed(2) + reg_notrim <- train(y ~ ., data = tr_dat, + method = "glmnet", + tuneGrid = data.frame(lambda = .1, alpha = .5), + trControl = trainControl(method = "none", + trim = FALSE)) + expect_equal(predict(reg_trim, te_dat), + predict(reg_notrim, te_dat)) + expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +}) + diff --git a/pkg/caret/tests/testthat/test_trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R index 10d87235f..b40a26985 100644 --- a/pkg/caret/tests/testthat/test_trim_train.R +++ b/pkg/caret/tests/testthat/test_trim_train.R @@ -1,41 +1,102 @@ -# library(caret) -# context('Caret model trimming works') -# -# test_that('train classification', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "rpart", -# tuneGrid = data.frame(cp = 0.22), -# preProc = c("center", "bagImpute"), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# class_trim <- caret:::trim.train(class_trim) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "rpart", -# tuneGrid = data.frame(cp = 0.22), -# preProc = c("center", "bagImpute"), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim), object.size(class_notrim)) -# }) -# -# test_that('train regression', { +library(caret) +library(rpart) +library(earth) +context('Caret model trimming works') + +test_that('train classification', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "rpart", + tuneGrid = data.frame(cp = 0.22), + preProc = c("center", "bagImpute"), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + class_trim <- caret:::trim.train(class_trim) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "rpart", + tuneGrid = data.frame(cp = 0.22), + preProc = c("center", "bagImpute"), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim), object.size(class_notrim)) +}) + +test_that('train regression', { + skip_on_cran() + set.seed(1) + tr_dat <- SLC14_1(200) + te_dat <- SLC14_1(200) + + set.seed(2) + reg_trim <- train(y ~ ., data = tr_dat, + method = "rpart", + tuneGrid = data.frame(cp = 0.12), + trControl = trainControl(method = "none", + trim = TRUE)) + reg_trim <- caret:::trim.train(reg_trim) + + set.seed(2) + reg_notrim <- train(y ~ ., data = tr_dat, + method = "rpart", + tuneGrid = data.frame(cp = 0.12), + trControl = trainControl(method = "none", + trim = FALSE)) + expect_equal(predict(reg_trim, te_dat), + predict(reg_notrim, te_dat)) + expect_less_than(object.size(reg_trim), object.size(reg_notrim)) +}) + + +test_that('train/earth classification', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "earth", + tuneGrid = data.frame(nprune = 3, degree = 1), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + class_trim <- caret:::trim.train(class_trim) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "earth", + tuneGrid = data.frame(nprune = 3, degree = 1), + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim), object.size(class_notrim)) +}) + +#Currently no trim method for earth models +# test_that('train/earth regression', { # skip_on_cran() # set.seed(1) # tr_dat <- SLC14_1(200) @@ -43,77 +104,18 @@ # # set.seed(2) # reg_trim <- train(y ~ ., data = tr_dat, -# method = "rpart", -# tuneGrid = data.frame(cp = 0.12), +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), # trControl = trainControl(method = "none", # trim = TRUE)) -# reg_trim <- caret:::trim.train(reg_trim) # # set.seed(2) # reg_notrim <- train(y ~ ., data = tr_dat, -# method = "rpart", -# tuneGrid = data.frame(cp = 0.12), +# method = "earth", +# tuneGrid = data.frame(nprune = 3, degree = 1), # trControl = trainControl(method = "none", # trim = FALSE)) # expect_equal(predict(reg_trim, te_dat), # predict(reg_notrim, te_dat)) # expect_less_than(object.size(reg_trim), object.size(reg_notrim)) # }) -# -# -# test_that('train/earth classification', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "earth", -# tuneGrid = data.frame(nprune = 3, degree = 1), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# class_trim <- caret:::trim.train(class_trim) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "earth", -# tuneGrid = data.frame(nprune = 3, degree = 1), -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim), object.size(class_notrim)) -# }) -# -# #Currently no trim method for earth models -# # test_that('train/earth regression', { -# # skip_on_cran() -# # set.seed(1) -# # tr_dat <- SLC14_1(200) -# # te_dat <- SLC14_1(200) -# # -# # set.seed(2) -# # reg_trim <- train(y ~ ., data = tr_dat, -# # method = "earth", -# # tuneGrid = data.frame(nprune = 3, degree = 1), -# # trControl = trainControl(method = "none", -# # trim = TRUE)) -# # -# # set.seed(2) -# # reg_notrim <- train(y ~ ., data = tr_dat, -# # method = "earth", -# # tuneGrid = data.frame(nprune = 3, degree = 1), -# # trControl = trainControl(method = "none", -# # trim = FALSE)) -# # expect_equal(predict(reg_trim, te_dat), -# # predict(reg_notrim, te_dat)) -# # expect_less_than(object.size(reg_trim), object.size(reg_notrim)) -# # }) diff --git a/pkg/caret/tests/testthat/test_trim_treebag.R b/pkg/caret/tests/testthat/test_trim_treebag.R index 89a817cb6..ca9a21cfb 100644 --- a/pkg/caret/tests/testthat/test_trim_treebag.R +++ b/pkg/caret/tests/testthat/test_trim_treebag.R @@ -1,57 +1,59 @@ -# library(caret) -# -# test_that('treebag classification', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- twoClassSim(200) -# te_dat <- twoClassSim(200) -# -# set.seed(2) -# class_trim <- train(Class ~ ., data = tr_dat, -# method = "treebag", -# nbagg = 3, -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = TRUE)) -# -# set.seed(2) -# class_notrim <- train(Class ~ ., data = tr_dat, -# method = "treebag", -# nbagg = 3, -# trControl = trainControl(method = "none", -# classProbs = TRUE, -# trim = FALSE)) -# -# expect_equal(predict(class_trim, te_dat), -# predict(class_notrim, te_dat)) -# -# expect_equal(predict(class_trim, te_dat, type = "prob"), -# predict(class_notrim, te_dat, type = "prob")) -# -# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -# }) -# -# test_that('rpart regression', { -# skip_on_cran() -# set.seed(1) -# tr_dat <- SLC14_1(200) -# te_dat <- SLC14_1(200) -# -# set.seed(2) -# reg_trim <- train(y ~ ., data = tr_dat, -# method = "treebag", -# nbagg = 3, -# trControl = trainControl(method = "none", -# trim = TRUE)) -# -# set.seed(2) -# reg_notrim <- train(y ~ ., data = tr_dat, -# method = "treebag", -# nbagg = 3, -# trControl = trainControl(method = "none", -# trim = FALSE)) -# expect_equal(predict(reg_trim, te_dat), -# predict(reg_notrim, te_dat)) -# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -# }) -# +library(caret) +library(ipred) +library(plyr) + +test_that('treebag classification', { + skip_on_cran() + set.seed(1) + tr_dat <- twoClassSim(200) + te_dat <- twoClassSim(200) + + set.seed(2) + class_trim <- train(Class ~ ., data = tr_dat, + method = "treebag", + nbagg = 3, + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = TRUE)) + + set.seed(2) + class_notrim <- train(Class ~ ., data = tr_dat, + method = "treebag", + nbagg = 3, + trControl = trainControl(method = "none", + classProbs = TRUE, + trim = FALSE)) + + expect_equal(predict(class_trim, te_dat), + predict(class_notrim, te_dat)) + + expect_equal(predict(class_trim, te_dat, type = "prob"), + predict(class_notrim, te_dat, type = "prob")) + + expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +}) + +test_that('rpart regression', { + skip_on_cran() + set.seed(1) + tr_dat <- SLC14_1(200) + te_dat <- SLC14_1(200) + + set.seed(2) + reg_trim <- train(y ~ ., data = tr_dat, + method = "treebag", + nbagg = 3, + trControl = trainControl(method = "none", + trim = TRUE)) + + set.seed(2) + reg_notrim <- train(y ~ ., data = tr_dat, + method = "treebag", + nbagg = 3, + trControl = trainControl(method = "none", + trim = FALSE)) + expect_equal(predict(reg_trim, te_dat), + predict(reg_notrim, te_dat)) + expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +}) + From aa567708b170c9f05d14f3975e8700f975593d4a Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 23:31:33 -0400 Subject: [PATCH 19/26] back to the old school travis tool --- .travis.yml | 63 ++++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1177a0de2..8b6a2db90 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,48 +1,51 @@ -language: r -warnings_are_errors: false +# Sample .travis.yml for R projects from https://github.com/craigcitro/r-travis + +language: c sudo: required env: global: - - CRAN: http://cran.rstudio.com + - WARNINGS_ARE_ERRORS=1 - R_BUILD_ARGS="--no-build-vignettes --no-manual" - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" + - BOOTSTRAP_LATEX="1" matrix: - NOT_CRAN="true" - NOT_CRAN="false" before_install: - cd pkg/caret - - sudo add-apt-repository ppa:texlive-backports/ppa -y - - sudo apt-get -qq update + - curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh + - chmod 755 ./travis-tool.sh + - ./travis-tool.sh bootstrap -apt_packages: - - texlive-base - - biblatex - - texlive-latex-base - - texlive-latex-recommended - - texlive-latex-extra - - texlive-fonts-recommended - - texlive-fonts-extra - - texlive-science - -r_packages: - - arm - - glmnet - - rpart - - C50 - - ipred - - plyr - - earth - - kknn +install: + - ./travis-tool.sh install_deps + - sudo add-apt-repository -y ppa:texlive-backports/ppa + - sudo apt-get -qq update + - ./travis-tool.sh aptget_install texlive-base + - ./travis-tool.sh aptget_install biblatex + - ./travis-tool.sh aptget_install texlive-latex-base + - ./travis-tool.sh aptget_install texlive-latex-recommended + - ./travis-tool.sh aptget_install texlive-latex-extra + - ./travis-tool.sh aptget_install texlive-fonts-recommended + - ./travis-tool.sh aptget_install texlive-fonts-extra + - ./travis-tool.sh aptget_install texlive-science + - ./travis-tool.sh github_package jimhester/covr + - Rscript -e "install.packages('arm')" + - Rscript -e "install.packages('glmnet')" + - Rscript -e "install.packages('rpart')" + - Rscript -e "install.packages('C50')" + - Rscript -e "install.packages('ipred')" + - Rscript -e "install.packages('plyr')" + - Rscript -e "install.packages('earth')" + - Rscript -e "install.packages('kknn')" + - Rscript -e 'devtools::install_deps(dep = TRUE)' -r_github_packages: - - jimhester/covr +script: ./travis-tool.sh run_tests -notifications: - email: - on_success: change - on_failure: change +on_failure: + - ./travis-tool.sh dump_logs after_success: - Rscript -e 'library(covr);coveralls()' From 6949f90914282ef0885465df02e6ddb2171a8b33 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Fri, 22 May 2015 23:51:06 -0400 Subject: [PATCH 20/26] try to install packages --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 8b6a2db90..590a94130 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,7 @@ install: - ./travis-tool.sh aptget_install texlive-fonts-extra - ./travis-tool.sh aptget_install texlive-science - ./travis-tool.sh github_package jimhester/covr + - "wget -q -O - http://yihui.name/xran/r-config | bash" - Rscript -e "install.packages('arm')" - Rscript -e "install.packages('glmnet')" - Rscript -e "install.packages('rpart')" From 80d60807dd94410fa0e032a6accbe7e508f08998 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 10:39:43 -0400 Subject: [PATCH 21/26] load libraries inside tests --- pkg/caret/tests/testthat/test_trim_C5.R | 17 ++++++++++++----- pkg/caret/tests/testthat/test_trim_bayesglm.R | 8 ++++++-- pkg/caret/tests/testthat/test_trim_glm.R | 5 ++++- pkg/caret/tests/testthat/test_trim_glmnet.R | 8 ++++++-- pkg/caret/tests/testthat/test_trim_rpart.R | 15 ++++++++++----- pkg/caret/tests/testthat/test_trim_train.R | 9 ++++++--- pkg/caret/tests/testthat/test_trim_treebag.R | 9 ++++++--- 7 files changed, 50 insertions(+), 21 deletions(-) diff --git a/pkg/caret/tests/testthat/test_trim_C5.R b/pkg/caret/tests/testthat/test_trim_C5.R index 24f174d12..f3b5859dc 100644 --- a/pkg/caret/tests/testthat/test_trim_C5.R +++ b/pkg/caret/tests/testthat/test_trim_C5.R @@ -1,8 +1,9 @@ -library(caret) -library(C50) test_that('single tree', { skip_on_cran() + library(caret) + library(C50) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -38,6 +39,9 @@ test_that('single tree', { test_that('single rule', { skip_on_cran() + library(caret) + library(C50) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -73,6 +77,9 @@ test_that('single rule', { test_that('boosted tree', { skip_on_cran() + library(caret) + library(C50) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -108,6 +115,9 @@ test_that('boosted tree', { test_that('boosted rule', { skip_on_cran() + library(caret) + library(C50) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -140,6 +150,3 @@ test_that('boosted rule', { expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) }) - - - diff --git a/pkg/caret/tests/testthat/test_trim_bayesglm.R b/pkg/caret/tests/testthat/test_trim_bayesglm.R index 7e1c4e3f9..55c626d1e 100644 --- a/pkg/caret/tests/testthat/test_trim_bayesglm.R +++ b/pkg/caret/tests/testthat/test_trim_bayesglm.R @@ -1,8 +1,9 @@ -library(caret) -library(arm) test_that('bayesglm classification', { skip_on_cran() + library(caret) + library(arm) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -34,6 +35,9 @@ test_that('bayesglm classification', { test_that('bayesglm regression', { skip_on_cran() + library(caret) + library(arm) + set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) diff --git a/pkg/caret/tests/testthat/test_trim_glm.R b/pkg/caret/tests/testthat/test_trim_glm.R index ae12d4fc7..1343b1f8e 100644 --- a/pkg/caret/tests/testthat/test_trim_glm.R +++ b/pkg/caret/tests/testthat/test_trim_glm.R @@ -1,7 +1,8 @@ -library(caret) test_that('glm classification', { skip_on_cran() + library(caret) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -33,6 +34,8 @@ test_that('glm classification', { test_that('glm regression', { skip_on_cran() + library(caret) + set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) diff --git a/pkg/caret/tests/testthat/test_trim_glmnet.R b/pkg/caret/tests/testthat/test_trim_glmnet.R index 75e2c6c6f..686e79ec7 100644 --- a/pkg/caret/tests/testthat/test_trim_glmnet.R +++ b/pkg/caret/tests/testthat/test_trim_glmnet.R @@ -1,8 +1,9 @@ -library(caret) -library(glmnet) test_that('glmnet classification', { skip_on_cran() + library(caret) + library(glmnet) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -34,6 +35,9 @@ test_that('glmnet classification', { test_that('glmnet regression', { skip_on_cran() + library(caret) + library(glmnet) + set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) diff --git a/pkg/caret/tests/testthat/test_trim_rpart.R b/pkg/caret/tests/testthat/test_trim_rpart.R index 3a571da37..7ef2ca5c3 100644 --- a/pkg/caret/tests/testthat/test_trim_rpart.R +++ b/pkg/caret/tests/testthat/test_trim_rpart.R @@ -1,8 +1,8 @@ -library(caret) -library(rpart) test_that('rpart classification', { skip_on_cran() + library(caret) + library(rpart) set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -34,6 +34,8 @@ test_that('rpart classification', { test_that('rpart regression', { skip_on_cran() + library(caret) + library(rpart) set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) @@ -59,6 +61,9 @@ test_that('rpart regression', { test_that('rpart2 classification', { skip_on_cran() + library(caret) + library(rpart) + set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -90,6 +95,9 @@ test_that('rpart2 classification', { test_that('rpart2 regression', { skip_on_cran() + library(caret) + library(rpart) + set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) @@ -111,6 +119,3 @@ test_that('rpart2 regression', { predict(reg_notrim, te_dat)) expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) }) - - - diff --git a/pkg/caret/tests/testthat/test_trim_train.R b/pkg/caret/tests/testthat/test_trim_train.R index b40a26985..e2fb285fb 100644 --- a/pkg/caret/tests/testthat/test_trim_train.R +++ b/pkg/caret/tests/testthat/test_trim_train.R @@ -1,10 +1,10 @@ -library(caret) -library(rpart) -library(earth) context('Caret model trimming works') test_that('train classification', { skip_on_cran() + library(caret) + library(rpart) + library(earth) set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -39,6 +39,9 @@ test_that('train classification', { test_that('train regression', { skip_on_cran() + library(caret) + library(rpart) + library(earth) set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) diff --git a/pkg/caret/tests/testthat/test_trim_treebag.R b/pkg/caret/tests/testthat/test_trim_treebag.R index ca9a21cfb..61308263b 100644 --- a/pkg/caret/tests/testthat/test_trim_treebag.R +++ b/pkg/caret/tests/testthat/test_trim_treebag.R @@ -1,9 +1,9 @@ -library(caret) -library(ipred) -library(plyr) test_that('treebag classification', { skip_on_cran() + library(caret) + library(ipred) + library(plyr) set.seed(1) tr_dat <- twoClassSim(200) te_dat <- twoClassSim(200) @@ -35,6 +35,9 @@ test_that('treebag classification', { test_that('rpart regression', { skip_on_cran() + library(caret) + library(ipred) + library(plyr) set.seed(1) tr_dat <- SLC14_1(200) te_dat <- SLC14_1(200) From 6164f0d8a16227d9773336f244cfbdc185efb89b Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 11:27:01 -0400 Subject: [PATCH 22/26] comment out tests again trying for more informative output --- pkg/caret/tests/testthat/test_trim_C5.R | 304 +++++++++---------- pkg/caret/tests/testthat/test_trim_glmnet.R | 124 ++++---- pkg/caret/tests/testthat/test_trim_rpart.R | 242 +++++++-------- pkg/caret/tests/testthat/test_trim_treebag.R | 124 ++++---- 4 files changed, 397 insertions(+), 397 deletions(-) diff --git a/pkg/caret/tests/testthat/test_trim_C5.R b/pkg/caret/tests/testthat/test_trim_C5.R index f3b5859dc..9f6180de7 100644 --- a/pkg/caret/tests/testthat/test_trim_C5.R +++ b/pkg/caret/tests/testthat/test_trim_C5.R @@ -1,152 +1,152 @@ - -test_that('single tree', { - skip_on_cran() - library(caret) - library(C50) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('single rule', { - skip_on_cran() - library(caret) - library(C50) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 1, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('boosted tree', { - skip_on_cran() - library(caret) - library(C50) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "tree", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('boosted rule', { - skip_on_cran() - library(caret) - library(C50) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "C5.0", - tuneGrid = data.frame(trials = 5, - model = "rules", - winnow = FALSE), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) +# +# test_that('single tree', { +# skip_on_cran() +# library(caret) +# library(C50) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('single rule', { +# skip_on_cran() +# library(caret) +# library(C50) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 1, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('boosted tree', { +# skip_on_cran() +# library(caret) +# library(C50) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "tree", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('boosted rule', { +# skip_on_cran() +# library(caret) +# library(C50) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "C5.0", +# tuneGrid = data.frame(trials = 5, +# model = "rules", +# winnow = FALSE), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) diff --git a/pkg/caret/tests/testthat/test_trim_glmnet.R b/pkg/caret/tests/testthat/test_trim_glmnet.R index 686e79ec7..48e21299c 100644 --- a/pkg/caret/tests/testthat/test_trim_glmnet.R +++ b/pkg/caret/tests/testthat/test_trim_glmnet.R @@ -1,62 +1,62 @@ - -test_that('glmnet classification', { - skip_on_cran() - library(caret) - library(glmnet) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('glmnet regression', { - skip_on_cran() - library(caret) - library(glmnet) - - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "glmnet", - tuneGrid = data.frame(lambda = .1, alpha = .5), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) - +# +# test_that('glmnet classification', { +# skip_on_cran() +# library(caret) +# library(glmnet) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('glmnet regression', { +# skip_on_cran() +# library(caret) +# library(glmnet) +# +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "glmnet", +# tuneGrid = data.frame(lambda = .1, alpha = .5), +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) +# diff --git a/pkg/caret/tests/testthat/test_trim_rpart.R b/pkg/caret/tests/testthat/test_trim_rpart.R index 7ef2ca5c3..fdfeb6f8d 100644 --- a/pkg/caret/tests/testthat/test_trim_rpart.R +++ b/pkg/caret/tests/testthat/test_trim_rpart.R @@ -1,121 +1,121 @@ - -test_that('rpart classification', { - skip_on_cran() - library(caret) - library(rpart) - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.22), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.22), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('rpart regression', { - skip_on_cran() - library(caret) - library(rpart) - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "rpart", - tuneGrid = data.frame(cp = 0.12), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) - - -test_that('rpart2 classification', { - skip_on_cran() - library(caret) - library(rpart) - - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "rpart2", - tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "rpart2", - tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('rpart2 regression', { - skip_on_cran() - library(caret) - library(rpart) - - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "rpart2", - tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "rpart2", - tuneGrid = data.frame(maxdepth = 3), - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) +# +# test_that('rpart classification', { +# skip_on_cran() +# library(caret) +# library(rpart) +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.22), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.22), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('rpart regression', { +# skip_on_cran() +# library(caret) +# library(rpart) +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.12), +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "rpart", +# tuneGrid = data.frame(cp = 0.12), +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) +# +# +# test_that('rpart2 classification', { +# skip_on_cran() +# library(caret) +# library(rpart) +# +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "rpart2", +# tuneGrid = data.frame(maxdepth = 3), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "rpart2", +# tuneGrid = data.frame(maxdepth = 3), +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('rpart2 regression', { +# skip_on_cran() +# library(caret) +# library(rpart) +# +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "rpart2", +# tuneGrid = data.frame(maxdepth = 3), +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "rpart2", +# tuneGrid = data.frame(maxdepth = 3), +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) diff --git a/pkg/caret/tests/testthat/test_trim_treebag.R b/pkg/caret/tests/testthat/test_trim_treebag.R index 61308263b..78586b8ee 100644 --- a/pkg/caret/tests/testthat/test_trim_treebag.R +++ b/pkg/caret/tests/testthat/test_trim_treebag.R @@ -1,62 +1,62 @@ - -test_that('treebag classification', { - skip_on_cran() - library(caret) - library(ipred) - library(plyr) - set.seed(1) - tr_dat <- twoClassSim(200) - te_dat <- twoClassSim(200) - - set.seed(2) - class_trim <- train(Class ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = TRUE)) - - set.seed(2) - class_notrim <- train(Class ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - classProbs = TRUE, - trim = FALSE)) - - expect_equal(predict(class_trim, te_dat), - predict(class_notrim, te_dat)) - - expect_equal(predict(class_trim, te_dat, type = "prob"), - predict(class_notrim, te_dat, type = "prob")) - - expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) -}) - -test_that('rpart regression', { - skip_on_cran() - library(caret) - library(ipred) - library(plyr) - set.seed(1) - tr_dat <- SLC14_1(200) - te_dat <- SLC14_1(200) - - set.seed(2) - reg_trim <- train(y ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - trim = TRUE)) - - set.seed(2) - reg_notrim <- train(y ~ ., data = tr_dat, - method = "treebag", - nbagg = 3, - trControl = trainControl(method = "none", - trim = FALSE)) - expect_equal(predict(reg_trim, te_dat), - predict(reg_notrim, te_dat)) - expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) -}) - +# +# test_that('treebag classification', { +# skip_on_cran() +# library(caret) +# library(ipred) +# library(plyr) +# set.seed(1) +# tr_dat <- twoClassSim(200) +# te_dat <- twoClassSim(200) +# +# set.seed(2) +# class_trim <- train(Class ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = TRUE)) +# +# set.seed(2) +# class_notrim <- train(Class ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# classProbs = TRUE, +# trim = FALSE)) +# +# expect_equal(predict(class_trim, te_dat), +# predict(class_notrim, te_dat)) +# +# expect_equal(predict(class_trim, te_dat, type = "prob"), +# predict(class_notrim, te_dat, type = "prob")) +# +# expect_less_than(object.size(class_trim)-object.size(class_notrim), 0) +# }) +# +# test_that('rpart regression', { +# skip_on_cran() +# library(caret) +# library(ipred) +# library(plyr) +# set.seed(1) +# tr_dat <- SLC14_1(200) +# te_dat <- SLC14_1(200) +# +# set.seed(2) +# reg_trim <- train(y ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# trim = TRUE)) +# +# set.seed(2) +# reg_notrim <- train(y ~ ., data = tr_dat, +# method = "treebag", +# nbagg = 3, +# trControl = trainControl(method = "none", +# trim = FALSE)) +# expect_equal(predict(reg_trim, te_dat), +# predict(reg_notrim, te_dat)) +# expect_less_than(object.size(reg_trim)-object.size(reg_notrim), 0) +# }) +# From 8369f5910eb01658bf776e67ed4d963aeb693ca8 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 12:36:39 -0400 Subject: [PATCH 23/26] back to new travis tool, try binary packages --- .travis.yml | 64 +++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index 590a94130..bddcba4f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,52 +1,48 @@ -# Sample .travis.yml for R projects from https://github.com/craigcitro/r-travis - -language: c +language: r +warnings_are_errors: false sudo: required env: global: - - WARNINGS_ARE_ERRORS=1 + - CRAN: http://cran.rstudio.com - R_BUILD_ARGS="--no-build-vignettes --no-manual" - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" - - BOOTSTRAP_LATEX="1" matrix: - NOT_CRAN="true" - NOT_CRAN="false" before_install: - cd pkg/caret - - curl -OL http://raw.github.com/craigcitro/r-travis/master/scripts/travis-tool.sh - - chmod 755 ./travis-tool.sh - - ./travis-tool.sh bootstrap - -install: - - ./travis-tool.sh install_deps - - sudo add-apt-repository -y ppa:texlive-backports/ppa + - sudo add-apt-repository ppa:texlive-backports/ppa -y - sudo apt-get -qq update - - ./travis-tool.sh aptget_install texlive-base - - ./travis-tool.sh aptget_install biblatex - - ./travis-tool.sh aptget_install texlive-latex-base - - ./travis-tool.sh aptget_install texlive-latex-recommended - - ./travis-tool.sh aptget_install texlive-latex-extra - - ./travis-tool.sh aptget_install texlive-fonts-recommended - - ./travis-tool.sh aptget_install texlive-fonts-extra - - ./travis-tool.sh aptget_install texlive-science - - ./travis-tool.sh github_package jimhester/covr - - "wget -q -O - http://yihui.name/xran/r-config | bash" - - Rscript -e "install.packages('arm')" - - Rscript -e "install.packages('glmnet')" - - Rscript -e "install.packages('rpart')" - - Rscript -e "install.packages('C50')" - - Rscript -e "install.packages('ipred')" - - Rscript -e "install.packages('plyr')" - - Rscript -e "install.packages('earth')" - - Rscript -e "install.packages('kknn')" - - Rscript -e 'devtools::install_deps(dep = TRUE)' -script: ./travis-tool.sh run_tests +apt_packages: + - texlive-base + - biblatex + - texlive-latex-base + - texlive-latex-recommended + - texlive-latex-extra + - texlive-fonts-recommended + - texlive-fonts-extra + - texlive-science + +r_binary_packages: + - arm + - glmnet + - rpart + - C50 + - ipred + - plyr + - earth + - kknn + +r_github_packages: + - jimhester/covr -on_failure: - - ./travis-tool.sh dump_logs +notifications: + email: + on_success: change + on_failure: change after_success: - Rscript -e 'library(covr);coveralls()' From 9b4d1017d8d68486e7ad4dbd28b04a81e76457af Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 16:28:43 -0400 Subject: [PATCH 24/26] dump logs? --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index bddcba4f4..3c105c9cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,5 +44,8 @@ notifications: on_success: change on_failure: change +after_script: + - dump_logs + after_success: - Rscript -e 'library(covr);coveralls()' From a34372bc26584ccf35f5816a198dbe61bda87dba Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 16:30:52 -0400 Subject: [PATCH 25/26] skip example code for now --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3c105c9cb..31049c9c1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ sudo: required env: global: - CRAN: http://cran.rstudio.com - - R_BUILD_ARGS="--no-build-vignettes --no-manual" - - R_CHECK_ARGS="--no-build-vignettes --no-manual --as-cran" + - R_BUILD_ARGS="--no-build-vignettes --no-manual --no-examples" + - R_CHECK_ARGS="--no-build-vignettes --no-manuall --no-examples --as-cran" matrix: - NOT_CRAN="true" - NOT_CRAN="false" From 52fce538d08eac37fb4bc291963fdcac9f63b430 Mon Sep 17 00:00:00 2001 From: Zach Mayer Date: Sat, 23 May 2015 16:39:31 -0400 Subject: [PATCH 26/26] run tests outside of r cmd check --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 31049c9c1..8f70c6877 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,6 +45,7 @@ notifications: on_failure: change after_script: + - Rscript -e 'library(devtools);test()' - dump_logs after_success: