LoggerOobRisk | R Documentation |
This class logs the out of bag risk for a specific loss function.
logger_id |
( |
use_as_stopper |
( |
loss |
(LossQuadratic | LossBinomial | LossHuber | LossAbsolute | LossQuantile) |
eps_for_break |
( |
patience |
( |
oob_data |
( |
oob_response |
(ResponseRegr | ResponseBinaryClassif) |
S4 object.
LoggerOobRisk$new(logger_id, use_as_stopper, loss, eps_for_break, patience, oob_data, oob_response)
This logger computes the risk for a given new dataset
\mathcal{D}_\mathrm{oob} = \{(x^{(i)},\ y^{(i)})\ |\ i \in I_\mathrm{oob}\}
and stores it into a vector. The OOB risk \mathcal{R}_\mathrm{oob}
for
iteration m
is calculated by:
\mathcal{R}_\mathrm{oob}^{[m]} = \frac{1}{|\mathcal{D}_\mathrm{oob}|}\sum\limits_{(x,y) \in \mathcal{D}_\mathrm{oob}}
L(y, \hat{f}^{[m]}(x))
Note:
If m=0
than \hat{f}
is just the offset.
The implementation to calculate \mathcal{R}_\mathrm{emp}^{[m]}
is done in two steps:
Calculate vector risk_temp
of losses for every observation for
given response y^{(i)}
and prediction \hat{f}^{[m]}(x^{(i)})
.
Average over risk_temp
.
This procedure ensures, that it is possible to e.g. use the AUC or any
arbitrary performance measure for risk logging. This gives just one
value for risk_temp
and therefore the average equals the loss
function. If this is just a value (like for the AUC) then the value is
returned.
This class doesn't contain public fields.
$summarizeLogger()
: () -> ()
# Define data:
X1 = cbind(1:10)
X2 = cbind(10:1)
data_source1 = InMemoryData$new(X1, "x1")
data_source2 = InMemoryData$new(X2, "x2")
oob_list = list(data_source1, data_source2)
set.seed(123)
y_oob = rnorm(10)
# Used loss:
log_bin = LossBinomial$new()
# Define response object of oob data:
oob_response = ResponseRegr$new("oob_response", as.matrix(y_oob))
# Define logger:
log_oob_risk = LoggerOobRisk$new("oob", FALSE, log_bin, 0.05, 5, oob_list, oob_response)
# Summarize logger:
log_oob_risk$summarizeLogger()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.