Unverified Commit fc991c9d authored by James Lamb's avatar James Lamb Committed by GitHub
Browse files

[R-package] added R linting and changed R code to comma-first (fixes #2373) (#2437)

parent b4bb38d9
context('Test models with custom objective') context('Test models with custom objective')
data(agaricus.train, package='lightgbm') data(agaricus.train, package = 'lightgbm')
data(agaricus.test, package='lightgbm') data(agaricus.test, package = 'lightgbm')
dtrain <- lgb.Dataset(agaricus.train$data, label = agaricus.train$label) dtrain <- lgb.Dataset(agaricus.train$data, label = agaricus.train$label)
dtest <- lgb.Dataset(agaricus.test$data, label = agaricus.test$label) dtest <- lgb.Dataset(agaricus.test$data, label = agaricus.test$label)
watchlist <- list(eval = dtest, train = dtrain) watchlist <- list(eval = dtest, train = dtrain)
...@@ -17,11 +17,19 @@ logregobj <- function(preds, dtrain) { ...@@ -17,11 +17,19 @@ logregobj <- function(preds, dtrain) {
evalerror <- function(preds, dtrain) { evalerror <- function(preds, dtrain) {
labels <- getinfo(dtrain, "label") labels <- getinfo(dtrain, "label")
err <- as.numeric(sum(labels != (preds > 0))) / length(labels) err <- as.numeric(sum(labels != (preds > 0))) / length(labels)
return(list(name = "error", value = err, higher_better=FALSE)) return(list(
name = "error"
, value = err
, higher_better = FALSE
))
} }
param <- list(num_leaves=8, learning_rate=1, param <- list(
objective=logregobj, metric="auc") num_leaves = 8
, learning_rate = 1
, objective = logregobj
, metric = "auc"
)
num_round <- 10 num_round <- 10
test_that("custom objective works", { test_that("custom objective works", {
......
...@@ -3,15 +3,15 @@ require(Matrix) ...@@ -3,15 +3,15 @@ require(Matrix)
context("testing lgb.Dataset functionality") context("testing lgb.Dataset functionality")
data(agaricus.test, package='lightgbm') data(agaricus.test, package = 'lightgbm')
test_data <- agaricus.test$data[1:100,] test_data <- agaricus.test$data[1:100,]
test_label <- agaricus.test$label[1:100] test_label <- agaricus.test$label[1:100]
test_that("lgb.Dataset: basic construction, saving, loading", { test_that("lgb.Dataset: basic construction, saving, loading", {
# from sparse matrix # from sparse matrix
dtest1 <- lgb.Dataset(test_data, label=test_label) dtest1 <- lgb.Dataset(test_data, label = test_label)
# from dense matrix # from dense matrix
dtest2 <- lgb.Dataset(as.matrix(test_data), label=test_label) dtest2 <- lgb.Dataset(as.matrix(test_data), label = test_label)
expect_equal(getinfo(dtest1, 'label'), getinfo(dtest2, 'label')) expect_equal(getinfo(dtest1, 'label'), getinfo(dtest2, 'label'))
# save to a local file # save to a local file
...@@ -40,7 +40,7 @@ test_that("lgb.Dataset: getinfo & setinfo", { ...@@ -40,7 +40,7 @@ test_that("lgb.Dataset: getinfo & setinfo", {
}) })
test_that("lgb.Dataset: slice, dim", { test_that("lgb.Dataset: slice, dim", {
dtest <- lgb.Dataset(test_data, label=test_label) dtest <- lgb.Dataset(test_data, label = test_label)
lgb.Dataset.construct(dtest) lgb.Dataset.construct(dtest)
expect_equal(dim(dtest), dim(test_data)) expect_equal(dim(dtest), dim(test_data))
dsub1 <- slice(dtest, 1:42) dsub1 <- slice(dtest, 1:42)
...@@ -50,7 +50,7 @@ test_that("lgb.Dataset: slice, dim", { ...@@ -50,7 +50,7 @@ test_that("lgb.Dataset: slice, dim", {
}) })
test_that("lgb.Dataset: colnames", { test_that("lgb.Dataset: colnames", {
dtest <- lgb.Dataset(test_data, label=test_label) dtest <- lgb.Dataset(test_data, label = test_label)
expect_equal(colnames(dtest), colnames(test_data)) expect_equal(colnames(dtest), colnames(test_data))
lgb.Dataset.construct(dtest) lgb.Dataset.construct(dtest)
expect_equal(colnames(dtest), colnames(test_data)) expect_equal(colnames(dtest), colnames(test_data))
...@@ -62,7 +62,7 @@ test_that("lgb.Dataset: colnames", { ...@@ -62,7 +62,7 @@ test_that("lgb.Dataset: colnames", {
test_that("lgb.Dataset: nrow is correct for a very sparse matrix", { test_that("lgb.Dataset: nrow is correct for a very sparse matrix", {
nr <- 1000 nr <- 1000
x <- Matrix::rsparsematrix(nr, 100, density=0.0005) x <- Matrix::rsparsematrix(nr, 100, density = 0.0005)
# we want it very sparse, so that last rows are empty # we want it very sparse, so that last rows are empty
expect_lt(max(x@i), nr) expect_lt(max(x@i), nr)
dtest <- lgb.Dataset(x) dtest <- lgb.Dataset(x)
...@@ -70,15 +70,17 @@ test_that("lgb.Dataset: nrow is correct for a very sparse matrix", { ...@@ -70,15 +70,17 @@ test_that("lgb.Dataset: nrow is correct for a very sparse matrix", {
}) })
test_that("lgb.Dataset: Dataset should be able to construct from matrix and return non-null handle", { test_that("lgb.Dataset: Dataset should be able to construct from matrix and return non-null handle", {
rawData <- matrix(runif(1000),ncol=10) rawData <- matrix(runif(1000), ncol = 10)
handle <- NA_real_ handle <- NA_real_
ref_handle <- NULL ref_handle <- NULL
handle <- lightgbm:::lgb.call("LGBM_DatasetCreateFromMat_R" handle <- lightgbm:::lgb.call(
, ret = handle "LGBM_DatasetCreateFromMat_R"
, rawData , ret = handle
, nrow(rawData) , rawData
, ncol(rawData) , nrow(rawData)
, lightgbm:::lgb.params2str(params=list()) , ncol(rawData)
, ref_handle) , lightgbm:::lgb.params2str(params = list())
, ref_handle
)
expect_false(is.na(handle)) expect_false(is.na(handle))
}) })
data(agaricus.train, package='lightgbm')
data(agaricus.test, package='lightgbm') context("feature penalties")
data(agaricus.train, package = 'lightgbm')
data(agaricus.test, package = 'lightgbm')
train <- agaricus.train train <- agaricus.train
test <- agaricus.test test <- agaricus.test
...@@ -12,15 +15,15 @@ test_that("Feature penalties work properly", { ...@@ -12,15 +15,15 @@ test_that("Feature penalties work properly", {
feature_penalties <- rep(1, ncol(train$data)) feature_penalties <- rep(1, ncol(train$data))
feature_penalties[var_index] <- x feature_penalties[var_index] <- x
lightgbm( lightgbm(
data = train$data, data = train$data
label = train$label, , label = train$label
num_leaves = 5, , num_leaves = 5
learning_rate = 0.05, , learning_rate = 0.05
nrounds = 20, , nrounds = 20
objective = "binary", , objective = "binary"
feature_penalty = paste0(feature_penalties, collapse = ","), , feature_penalty = paste0(feature_penalties, collapse = ",")
metric="binary_error", , metric = "binary_error"
verbose = -1 , verbose = -1
) )
}) })
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment