2019-05-31 22:13:24 +00:00
|
|
|
context("Make sure we can save forests while training")
|
|
|
|
|
|
|
|
test_that("Can save a random forest while training, and use it afterward", {
|
|
|
|
|
2019-06-30 22:07:29 +00:00
|
|
|
if(file.exists("trees")){ # folder could exist from a previous failed test; delete it
|
|
|
|
unlink("trees", recursive=TRUE)
|
|
|
|
}
|
2019-05-31 22:13:24 +00:00
|
|
|
|
|
|
|
x1 <- rnorm(1000)
|
|
|
|
x2 <- rnorm(1000)
|
|
|
|
y <- 1 + x1 + x2 + rnorm(1000)
|
|
|
|
|
|
|
|
data <- data.frame(x1, x2, y)
|
|
|
|
forest <- train(y ~ x1 + x2, data,
|
|
|
|
ntree=100, numberOfSplits = 5, mtry = 1, nodeSize = 5,
|
2019-06-19 20:14:11 +00:00
|
|
|
savePath="trees", displayProgress=FALSE)
|
2019-05-31 22:13:24 +00:00
|
|
|
|
|
|
|
expect_true(file.exists("trees")) # Something should have been saved
|
|
|
|
|
|
|
|
# try making a little prediction to verify it works
|
|
|
|
newData <- data.frame(x1=seq(from=-3, to=3, by=0.5), x2=0)
|
|
|
|
predictions <- predict(forest, newData)
|
|
|
|
|
|
|
|
# Also make sure we can load the forest too
|
2019-06-06 22:53:25 +00:00
|
|
|
newforest <- loadForest("trees")
|
2019-05-31 22:13:24 +00:00
|
|
|
predictions <- predict(newforest, newData)
|
|
|
|
|
|
|
|
|
|
|
|
unlink("trees", recursive=TRUE)
|
|
|
|
|
|
|
|
})
|