Heiko Strathmann
Heiko Strathmann
a lot of the conversion code is inside the labels classes already, so can be re-used. E.g. [here](https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/labels/MulticlassLabels.cpp#L210) and [here](https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/labels/MulticlassLabels.cpp#L244) Also note that some of this code is already used...
We wouldnt want to store the lambda. The class just offers the lambda to the observer, which can decide to call it (and store the information), or not. It shouldnt...
The use case is that a user has applied a filter to the observer to choose what to store....in that case we dont always want to compute the oob error...
basically we want this semantic (inside the RF) ``` if (observer->do_you_want_to_record("oob_error")) observer->observe(this->compute_oob_error()) ``` as opposed to not having the if statement (i.e. always computing the oob error even if the...
not sure what you mean
I see. That seems like more work to me :) I think being explicit and just passing the function pointer to the observer every time the error would be computed...
No need if this is done. But this is just the semantics. In practice, we would like to not have to do this if statement in the train code. Rather,...
Gil, I agree this is neat, but what about a simpler thing where we could just do (not wrapped in if) `observe("oob", &compute_oob())` and then inside the observer we could...
However, if the observer has no way of filtering/selecting values/functions that it receives, all hope is lost anyways, because we either need to always compute the oob, or always store...
So then what I wrote above (passing the lambda/pointer) should work right?