Package 'learningmachine'

Title: Machine Learning with Explanations and Uncertainty Quantification
Description: Regression-based Machine Learning with explanations and uncertainty quantification.
Authors: T. Moudiki
Maintainer: T. Moudiki <[email protected]>
License: BSD_3_clause + file LICENSE
Version: 2.9.0
Built: 2026-05-23 09:13:10 UTC
Source: https://github.com/Techtonique/learningmachine

Help Index


Base class

Description

the Base class used by other objects; useful for extensions of the package, not for basic interactions with the package

Methods

Public methods


Method new()

Create a new object.

Usage
Base$new(
  name = "Base",
  type = "none",
  model = NULL,
  method = NULL,
  X_train = NULL,
  y_train = NULL,
  pi_method = c("none", "splitconformal", "kdesplitconformal", "bootsplitconformal",
    "jackknifeplus", "kdejackknifeplus", "bootjackknifeplus", "surrsplitconformal",
    "surrjackknifeplus"),
  level = 95,
  B = 100,
  nb_hidden = 0,
  nodes_sim = c("sobol", "halton", "unif"),
  activ = c("relu", "sigmoid", "tanh", "leakyrelu", "elu", "linear"),
  engine = NULL,
  params = NULL,
  seed = 123
)
Arguments
name

name of the class

type

type of supervised learning method implemented

model

fitted model

method

supevised learning method

X_train

training set features

y_train

training set response

pi_method

type of prediction interval in c("splitconformal", "kdesplitconformal", "bootsplitconformal", "jackknifeplus", "kdejackknifeplus", "bootjackknifeplus", "surrsplitconformal", "surrjackknifeplus")

level

an integer; the level of confidence

B

an integer; the number of simulations when level is not NULL

nb_hidden

number of nodes in the hidden layer, for construction of a quasi- randomized network

nodes_sim

type of 'simulations' for hidden nodes, if nb_hidden > 0; takes values in c("sobol", "halton", "unif")

activ

activation function's name for the hidden layer, in the construction of a quasi-randomized network; takes values in c("relu", "sigmoid", "tanh", " leakyrelu", "elu", "linear")

engine

contains fit and predict lower-level methods for the given method; do not modify by hand

params

additional parameters passed to method when calling fit

seed

an integer; reproducibility seed for methods that include randomization

Returns

A new Base object.


Method get_name()

Usage
Base$get_name()

Method get_type()

Usage
Base$get_type()

Method get_model()

Usage
Base$get_model()

Method set_model()

Usage
Base$set_model(model)

Method get_method()

Usage
Base$get_method()

Method set_method()

Usage
Base$set_method(method)

Method get_pi_method()

Usage
Base$get_pi_method()

Method set_pi_method()

Usage
Base$set_pi_method(pi_method)

Method get_level()

Usage
Base$get_level()

Method set_level()

Usage
Base$set_level(level)

Method get_B()

Usage
Base$get_B()

Method set_B()

Usage
Base$set_B(B)

Method get_nb_hidden()

Usage
Base$get_nb_hidden()

Method set_nb_hidden()

Usage
Base$set_nb_hidden(nb_hidden)

Method get_nodes_sim()

Usage
Base$get_nodes_sim()

Method set_nodes_sim()

Usage
Base$set_nodes_sim(nodes_sim)

Method get_activ()

Usage
Base$get_activ()

Method set_activ()

Usage
Base$set_activ(activ)

Method set_engine()

Usage
Base$set_engine(engine)

Method get_engine()

Usage
Base$get_engine()

Method get_params()

Usage
Base$get_params()

Method get_seed()

Usage
Base$get_seed()

Method set_seed()

Usage
Base$set_seed(seed)

Method summary()

Usage
Base$summary(
  X,
  show_progress = TRUE,
  class_name = NULL,
  class_index = NULL,
  y = NULL,
  type_ci = c("student", "nonparametric", "bootstrap", "conformal"),
  cl = NULL
)

Method clone()

The objects of this class are cloneable with this method.

Usage
Base$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


Create a classifier object for Probabilistic Machine Learning

Description

Create a classifier object for Probabilistic Machine Learning

Usage

classifier(
  x,
  y,
  model = c("ranger", "extratrees", "ridge", "bcn", "glmnet", "krr", "xgboost", "svm"),
  pi_method = c("none", "splitconformal", "jackknifeplus", "kdesplitconformal",
    "bootsplitconformal", "kdejackknifeplus", "bootjackknifeplus", "surrsplitconformal",
    "surrjackknifeplus"),
  level = 95,
  B = 100,
  nb_hidden = 0,
  nodes_sim = c("sobol", "halton", "unif"),
  activ = c("relu", "sigmoid", "tanh", "leakyrelu", "elu", "linear"),
  engine = NULL,
  params = NULL,
  seed = 123
)

Arguments

x

Input matrix or data frame of features

y

Vector of target values

model

Model to use for classification

pi_method

Method to use for conformal prediction

level

Confidence level for conformal prediction

B

Number of simulations for conformal prediction

nb_hidden

Number of nodes in the hidden layer

nodes_sim

Type of simulations for hidden nodes

activ

Activation function for hidden layer

engine

Engine to use for fitting the model

params

Additional parameters passed to the model

seed

Reproducibility seed for randomization

...

Additional arguments passed to Classifier$new()

Value

A classifier object of class "classifier"

Examples

set.seed(43)
X <- as.matrix(iris[, 1:4])
y <- iris$Species

index_train <- base::sample.int(n = nrow(X),
                               size = floor(0.8*nrow(X)),
                               replace = FALSE)
X_train <- X[index_train, ]
y_train <- y[index_train]
X_test <- X[-index_train, ]
y_test <- y[-index_train]
dim(X_train)
dim(X_test)

obj <- classifier(X_train, y_train)

preds <- predict(obj, X_test)

Predict using a regressor object

Description

Predict using a regressor object

Usage

## S3 method for class 'regressor'
predict(object, newx, ...)

Arguments

object

A regressor object

newx

Matrix or data frame of new observations

...

Additional arguments (not used)

Value

Vector of predicted values


Create a regressor object for Probabilistic Machine Learning

Description

Create a regressor object for Probabilistic Machine Learning

Usage

regressor(
  x,
  y,
  model = c("ranger", "extratrees", "ridge", "bcn", "glmnet", "krr", "xgboost", "svm"),
  pi_method = c("none", "splitconformal", "jackknifeplus", "kdesplitconformal",
    "bootsplitconformal", "kdejackknifeplus", "bootjackknifeplus", "surrsplitconformal",
    "surrjackknifeplus"),
  level = 95,
  B = 100,
  nb_hidden = 0,
  nodes_sim = c("sobol", "halton", "unif"),
  activ = c("relu", "sigmoid", "tanh", "leakyrelu", "elu", "linear"),
  engine = NULL,
  params = NULL,
  type_split = c("stratify", "sequential"),
  seed = 123
)

Arguments

x

Input matrix or data frame of features

y

Vector of target values

model

Model to use for regression

pi_method

Method to use for conformal prediction

level

Confidence level for conformal prediction

B

Number of simulations for conformal prediction

nb_hidden

Number of nodes in the hidden layer

nodes_sim

Type of simulations for hidden nodes

activ

Activation function for hidden layer

engine

Engine to use for fitting the model

params

Additional parameters passed to the model

type_split

Type of data splitting for split conformal prediction: "stratify" (for classical supervised learning) "sequential" (when the data sequential ordering matters)

seed

Reproducibility seed for randomization

...

Additional arguments passed to Regressor$new()

Value

A regressor object of class "regressor"

Examples

X <- mtcars[, -1]
y <- mtcars$mpg
X_train <- X[1:25, ]
y_train <- y[1:25]
X_test <- X[26:32, ]
y_test <- y[26:32]
reg <- regressor(X_train, y_train, pi_method = "splitconformal", level = 95)

print(predict(reg, newx = X_test))