Core machine learning types: the seedable Random generator, Matrix2D linear algebra and activations, matrix reference holders, the NeuralNetwork and CSV-backed MatrixReader. Compile with -lib ml.
GroupRecall
Recall within one group. Carries the count the rate was computed from, not just the rate. A recall of 1.0 over two positives and a recall of 1.0 over two thousand are not the same claim, and the rate alone cannot tell them apart -- which matters most for exactly the rare groups this type exists to report.
Operations
- GetFolds
- GetOofScores
- GetPoint
- GetPositives
- GetRecall
- GetReps
- GetStdAuc
- GetStdRecall
- GetUsableReps
- GetWidth
- ToString
GetFolds #
How many folds were run.
method : public : GetFolds() ~ IntReturn
| Type | Description |
|---|---|
| Int | fold count |
GetOofScores #
One out-of-fold score per input row, in input row order. Each score comes from the fold model that did NOT train on that row, so the vector can be thresholded as a whole without leaking a row into its own score. That is what makes it the right input for choosing an operating point: ThresholdAtFpr over these scores picks a threshold honestly, and it can then be applied unchanged to held-out data. Reported separately from the per-fold means because they answer different questions. The fold means say how much the estimate moves between folds; the pooled vector gives one curve over every row, which is what a single threshold has to be chosen from.
method : public : GetOofScores() ~ Float[]Return
| Type | Description |
|---|---|
| Float | the pooled scores, or Nil from the 3-argument constructor |
GetPoint #
The metric on the original sample, not the mean of the resamples.
method : public : GetPoint() ~ FloatReturn
| Type | Description |
|---|---|
| Float | the point estimate |
GetPositives #
Positives in this group, which is what the recall was computed over.
method : public : GetPositives() ~ IntReturn
| Type | Description |
|---|---|
| Int | the positive count, 0 when the group holds none |
GetRecall #
Detected over positives in this group.
method : public : GetRecall() ~ FloatReturn
| Type | Description |
|---|---|
| Float | the recall, or 0.0 when the group holds no positives |
GetReps #
Resamples requested.
method : public : GetReps() ~ IntReturn
| Type | Description |
|---|---|
| Int | the requested count |
GetStdAuc #
Spread of the per-fold AUCs, as a sample standard deviation. Sample rather than population, unlike FeatureScaler: these are k observations of a quantity whose variability is being estimated, not a whole population being standardized. With one fold it is undefined and 0.0 is returned rather than dividing by k-1 = 0, which Objeck raises on.
method : public : GetStdAuc() ~ FloatReturn
| Type | Description |
|---|---|
| Float | the spread, or 0.0 for fewer than two folds |
GetStdRecall #
Spread of the per-fold recalls.
method : public : GetStdRecall() ~ FloatReturn
| Type | Description |
|---|---|
| Float | the spread, or 0.0 for fewer than two folds |
GetUsableReps #
Resamples the metric could actually be computed on. Below GetReps when some resample drew a single class. Worth checking on rare positives: at a few dozen positives in a large sample, a noticeable share of resamples can miss them entirely.
method : public : GetUsableReps() ~ IntReturn
| Type | Description |
|---|---|
| Int | the usable count |