Commit 97b91108 authored by Laurae's avatar Laurae Committed by Guolin Ke
Browse files

Remove silent param from demo and regenerate Rd files (#951)

* Silent parameter does not exist anymore

* Fix Microsoft/LightGBM#913

* Generate Rd files for R documentation
parent 8b62e3bf
...@@ -833,6 +833,27 @@ lgb.dump <- function(booster, num_iteration = NULL){ ...@@ -833,6 +833,27 @@ lgb.dump <- function(booster, num_iteration = NULL){
#' #'
#' @return vector of evaluation result #' @return vector of evaluation result
#' #'
#' @examples
#' \dontrun{
#' library(lightgbm)
#' data(agaricus.train, package = "lightgbm")
#' train <- agaricus.train
#' dtrain <- lgb.Dataset(train$data, label = train$label)
#' data(agaricus.test, package = "lightgbm")
#' test <- agaricus.test
#' dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
#' params <- list(objective = "regression", metric = "l2")
#' valids <- list(test = dtest)
#' model <- lgb.train(params,
#' dtrain,
#' 100,
#' valids,
#' min_data = 1,
#' learning_rate = 1,
#' early_stopping_rounds = 10)
#' lgb.get.eval.result(model, "test", "l2")
#' }
#'
#' @rdname lgb.get.eval.result #' @rdname lgb.get.eval.result
#' @export #' @export
lgb.get.eval.result <- function(booster, data_name, eval_name, iters = NULL, is_err = FALSE) { lgb.get.eval.result <- function(booster, data_name, eval_name, iters = NULL, is_err = FALSE) {
......
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
#' data(iris) # Erase iris dataset #' data(iris) # Erase iris dataset
#' iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA) #' iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA)
#' # Warning message: #' # Warning message:
#' In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, : #' # In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, :
#' invalid factor level, NA generated #' # invalid factor level, NA generated
#' #'
#' # Use conversion using known rules #' # Use conversion using known rules
#' # Unknown factors become 0, excellent for sparse datasets #' # Unknown factors become 0, excellent for sparse datasets
......
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
#' data(iris) # Erase iris dataset #' data(iris) # Erase iris dataset
#' iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA) #' iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA)
#' # Warning message: #' # Warning message:
#' In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, : #' # In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, :
#' invalid factor level, NA generated #' # invalid factor level, NA generated
#' #'
#' # Use conversion using known rules #' # Use conversion using known rules
#' # Unknown factors become 0, excellent for sparse datasets #' # Unknown factors become 0, excellent for sparse datasets
......
...@@ -16,7 +16,6 @@ print("Start running example to start from a initial prediction") ...@@ -16,7 +16,6 @@ print("Start running example to start from a initial prediction")
param <- list(num_leaves = 4, param <- list(num_leaves = 4,
learning_rate = 1, learning_rate = 1,
nthread = 2, nthread = 2,
silent = 1,
objective = "binary") objective = "binary")
bst <- lgb.train(param, dtrain, 1, valids = valids) bst <- lgb.train(param, dtrain, 1, valids = valids)
......
...@@ -24,3 +24,25 @@ vector of evaluation result ...@@ -24,3 +24,25 @@ vector of evaluation result
\description{ \description{
Get record evaluation result from booster Get record evaluation result from booster
} }
\examples{
\dontrun{
library(lightgbm)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm")
test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
params <- list(objective = "regression", metric = "l2")
valids <- list(test = dtest)
model <- lgb.train(params,
dtrain,
100,
valids,
min_data = 1,
learning_rate = 1,
early_stopping_rounds = 10)
lgb.get.eval.result(model, "test", "l2")
}
}
...@@ -17,35 +17,35 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors ...@@ -17,35 +17,35 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(iris) data(iris)
str(iris) str(iris)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ... # $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ...
str(lgb.prepare(data = iris)) # Convert all factors/chars to numeric str(lgb.prepare(data = iris)) # Convert all factors/chars to numeric
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : num 1 1 1 1 1 1 1 1 1 1 ... # $ Species : num 1 1 1 1 1 1 1 1 1 1 ...
# When lightgbm package is installed, and you do not want to load it # When lightgbm package is installed, and you do not want to load it
# You can still use the function! # You can still use the function!
lgb.unloader() lgb.unloader()
str(lightgbm::lgb.prepare(data = iris)) str(lightgbm::lgb.prepare(data = iris))
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : num 1 1 1 1 1 1 1 1 1 1 ... # $ Species : num 1 1 1 1 1 1 1 1 1 1 ...
} }
} }
...@@ -17,35 +17,35 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors ...@@ -17,35 +17,35 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(iris) data(iris)
str(iris) str(iris)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ... # $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ...
str(lgb.prepare2(data = iris)) # Convert all factors/chars to integer str(lgb.prepare2(data = iris)) # Convert all factors/chars to integer
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : int 1 1 1 1 1 1 1 1 1 1 ... # $ Species : int 1 1 1 1 1 1 1 1 1 1 ...
# When lightgbm package is installed, and you do not want to load it # When lightgbm package is installed, and you do not want to load it
# You can still use the function! # You can still use the function!
lgb.unloader() lgb.unloader()
str(lightgbm::lgb.prepare2(data = iris)) str(lightgbm::lgb.prepare2(data = iris))
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : int 1 1 1 1 1 1 1 1 1 1 ... # $ Species : int 1 1 1 1 1 1 1 1 1 1 ...
} }
......
...@@ -19,62 +19,62 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors ...@@ -19,62 +19,62 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(iris) data(iris)
str(iris) str(iris)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ... # $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ...
new_iris <- lgb.prepare_rules(data = iris) # Autoconverter new_iris <- lgb.prepare_rules(data = iris) # Autoconverter
str(new_iris$data) str(new_iris$data)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : num 1 1 1 1 1 1 1 1 1 1 ... # $ Species : num 1 1 1 1 1 1 1 1 1 1 ...
data(iris) # Erase iris dataset data(iris) # Erase iris dataset
iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA) iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA)
# Warning message: # Warning message:
In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, : # In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, :
invalid factor level, NA generated # invalid factor level, NA generated
# Use conversion using known rules # Use conversion using known rules
# Unknown factors become 0, excellent for sparse datasets # Unknown factors become 0, excellent for sparse datasets
newer_iris <- lgb.prepare_rules(data = iris, rules = new_iris$rules) newer_iris <- lgb.prepare_rules(data = iris, rules = new_iris$rules)
# Unknown factor is now zero, perfect for sparse datasets # Unknown factor is now zero, perfect for sparse datasets
newer_iris$data[1, ] # Species became 0 as it is an unknown factor newer_iris$data[1, ] # Species became 0 as it is an unknown factor
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species # Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 0 # 1 5.1 3.5 1.4 0.2 0
newer_iris$data[1, 5] <- 1 # Put back real initial value newer_iris$data[1, 5] <- 1 # Put back real initial value
# Is the newly created dataset equal? YES! # Is the newly created dataset equal? YES!
all.equal(new_iris$data, newer_iris$data) all.equal(new_iris$data, newer_iris$data)
# [1] TRUE # [1] TRUE
# Can we test our own rules? # Can we test our own rules?
data(iris) # Erase iris dataset data(iris) # Erase iris dataset
# We remapped values differently # We remapped values differently
personal_rules <- list(Species = c("setosa" = 3, personal_rules <- list(Species = c("setosa" = 3,
"versicolor" = 2, "versicolor" = 2,
"virginica" = 1)) "virginica" = 1))
newest_iris <- lgb.prepare_rules(data = iris, rules = personal_rules) newest_iris <- lgb.prepare_rules(data = iris, rules = personal_rules)
str(newest_iris$data) # SUCCESS! str(newest_iris$data) # SUCCESS!
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : num 3 3 3 3 3 3 3 3 3 3 ... # $ Species : num 3 3 3 3 3 3 3 3 3 3 ...
} }
......
...@@ -19,62 +19,62 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors ...@@ -19,62 +19,62 @@ Attempts to prepare a clean dataset to prepare to put in a lgb.Dataset. Factors
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(iris) data(iris)
str(iris) str(iris)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ... # $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ...
new_iris <- lgb.prepare_rules2(data = iris) # Autoconverter new_iris <- lgb.prepare_rules2(data = iris) # Autoconverter
str(new_iris$data) str(new_iris$data)
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : int 1 1 1 1 1 1 1 1 1 1 ... # $ Species : int 1 1 1 1 1 1 1 1 1 1 ...
data(iris) # Erase iris dataset data(iris) # Erase iris dataset
iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA) iris$Species[1] <- "NEW FACTOR" # Introduce junk factor (NA)
# Warning message: # Warning message:
In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, : # In `[<-.factor`(`*tmp*`, 1, value = c(NA, 1L, 1L, 1L, 1L, 1L, 1L, :
invalid factor level, NA generated # invalid factor level, NA generated
# Use conversion using known rules # Use conversion using known rules
# Unknown factors become 0, excellent for sparse datasets # Unknown factors become 0, excellent for sparse datasets
newer_iris <- lgb.prepare_rules2(data = iris, rules = new_iris$rules) newer_iris <- lgb.prepare_rules2(data = iris, rules = new_iris$rules)
# Unknown factor is now zero, perfect for sparse datasets # Unknown factor is now zero, perfect for sparse datasets
newer_iris$data[1, ] # Species became 0 as it is an unknown factor newer_iris$data[1, ] # Species became 0 as it is an unknown factor
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species # Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 0 # 1 5.1 3.5 1.4 0.2 0
newer_iris$data[1, 5] <- 1 # Put back real initial value newer_iris$data[1, 5] <- 1 # Put back real initial value
# Is the newly created dataset equal? YES! # Is the newly created dataset equal? YES!
all.equal(new_iris$data, newer_iris$data) all.equal(new_iris$data, newer_iris$data)
# [1] TRUE # [1] TRUE
# Can we test our own rules? # Can we test our own rules?
data(iris) # Erase iris dataset data(iris) # Erase iris dataset
# We remapped values differently # We remapped values differently
personal_rules <- list(Species = c("setosa" = 3L, personal_rules <- list(Species = c("setosa" = 3L,
"versicolor" = 2L, "versicolor" = 2L,
"virginica" = 1L)) "virginica" = 1L))
newest_iris <- lgb.prepare_rules2(data = iris, rules = personal_rules) newest_iris <- lgb.prepare_rules2(data = iris, rules = personal_rules)
str(newest_iris$data) # SUCCESS! str(newest_iris$data) # SUCCESS!
# 'data.frame': 150 obs. of 5 variables: # 'data.frame': 150 obs. of 5 variables:
# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... # $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... # $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... # $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... # $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
# $ Species : int 3 3 3 3 3 3 3 3 3 3 ... # $ Species : int 3 3 3 3 3 3 3 3 3 3 ...
} }
......
...@@ -19,24 +19,24 @@ Attemps to load a model using RDS. ...@@ -19,24 +19,24 @@ Attemps to load a model using RDS.
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(agaricus.train, package = "lightgbm") data(agaricus.train, package = "lightgbm")
train <- agaricus.train train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label) dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm") data(agaricus.test, package = "lightgbm")
test <- agaricus.test test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label) dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
params <- list(objective = "regression", metric = "l2") params <- list(objective = "regression", metric = "l2")
valids <- list(test = dtest) valids <- list(test = dtest)
model <- lgb.train(params, model <- lgb.train(params,
dtrain, dtrain,
100, 100,
valids, valids,
min_data = 1, min_data = 1,
learning_rate = 1, learning_rate = 1,
early_stopping_rounds = 10) early_stopping_rounds = 10)
saveRDS.lgb.Booster(model, "model.rds") saveRDS.lgb.Booster(model, "model.rds")
new_model <- readRDS.lgb.Booster("model.rds") new_model <- readRDS.lgb.Booster("model.rds")
} }
} }
...@@ -30,23 +30,23 @@ Attemps to save a model using RDS. Has an additional parameter (\code{raw}) whic ...@@ -30,23 +30,23 @@ Attemps to save a model using RDS. Has an additional parameter (\code{raw}) whic
} }
\examples{ \examples{
\dontrun{ \dontrun{
library(lightgbm) library(lightgbm)
data(agaricus.train, package = "lightgbm") data(agaricus.train, package = "lightgbm")
train <- agaricus.train train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label) dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm") data(agaricus.test, package = "lightgbm")
test <- agaricus.test test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label) dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
params <- list(objective = "regression", metric = "l2") params <- list(objective = "regression", metric = "l2")
valids <- list(test = dtest) valids <- list(test = dtest)
model <- lgb.train(params, model <- lgb.train(params,
dtrain, dtrain,
100, 100,
valids, valids,
min_data = 1, min_data = 1,
learning_rate = 1, learning_rate = 1,
early_stopping_rounds = 10) early_stopping_rounds = 10)
saveRDS.lgb.Booster(model, "model.rds") saveRDS.lgb.Booster(model, "model.rds")
} }
} }
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