Regression

regression desicion implementation used at Node

Members

Functions

fit
void fit(X x, Xs xs, Ys ys, I index, size_t fid, size_t nPreds)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

left
DecisionInfo left;
right
DecisionInfo right;
Undocumented in source.
threshold
double threshold;
Undocumented in source.

Examples

import mir.ndslice;
import numir;
import dtree.impurity;
import std.stdio;

Regression c;
auto xs = [-2.0, -1.0, 0.0, 1.0].sliced.unsqueeze!1;
auto ys = [-1.0, 0.0, 1.0, 2.0].sliced.unsqueeze!1;
c.fit(xs[2], xs, ys, iota(4), 0, 1);

assert(c.left.index == [0, 1, 2]);
assert(c.right.index == [3]);
assert(c.threshold == xs[2][0]);
assert(c.left.prediction == [0]);  // mean(-1, 0, 1)
assert(c.right.prediction == [2]); // mean(2)
assert(c.left.impurity == 2.0);  // ((-1-0)^2+(0-0)^2+(1-0)^2
assert(c.right.impurity == 0.0); // (2-2)^2

Meta