namespace inneranalytics~ metrics
Source: analyticsdoc.
Classification and regression metrics.
Examples
Batch classification example
// import metrics module
var analytics = require('qminer').analytics;
// true and predicted lables
var true_lables = [0, 1, 0, 0, 1];
var pred_prob = [0.3, 0.5, 0.2, 0.5, 0.8];
// compute ROC curve
var roc = analytics.metrics.rocCurve(true_lables, pred_prob);
Online classification example
// import analytics module
var analytics = require('qminer').analytics;
// true and predicted lables
var true_lables = [0, 1, 0, 0, 1];
var pred_prob = [0.3, 0.5, 0.2, 0.5, 0.8];
// create predictionCurve instance
var predictionCurve = new analytics.metrics.PredictionCurve();
// simulate data flow
for (var i in true_lables) {
// push new value
predictionCurve.push(true_lables[i], pred_prob[i]);
}
var roc = predictionCurve.roc(); // get ROC
Batch regression example
// import analytics module
var analytics = require('qminer').analytics;
// true and predicted data
var true_vals = [1, 2, 3, 4, 5];
var pred_vals = [3, 4, 5, 6, 7];
// use batch MAE method
analytics.metrics.meanAbsoluteError(true_vals, pred_vals);
Online regression example
// import analytics module
var analytics = require('qminer').analytics;
// true and predicted data
var true_vals = [1, 2, 3, 4, 5];
var pred_vals = [3, 4, 5, 6, 7];
// create online MAE metric instance
var mae = new analytics.metrics.MeanAbsoluteError();
// simulate data flow
for (var i in true_vals) {
// push new value
mae.push(true_vals[i], pred_vals[i]);
}
// get updated error
mae.getError();
Child classes
Methods
Classes
ClassificationScore
MeanAbsoluteError
MeanAbsolutePercentageError
MeanError
MeanSquareError
PredictionCurve
R2Score
RootMeanSquareError
Methods
staticaccuracyScore(yTrue, yPred) → number
Accuracy score is the proportion of true results (both true positives and true negatives) among the total number of cases examined. Formula: (tp + tn) / (tp + fp + fn + tn).
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Predicted (estimated) lables. |
- Returns
-
numberAccuracy value.
staticbestF1Threshold(yTrue, yPred) → number
Gets threshold for prediction score, which results in the highest F1.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
- Returns
-
numberThreshold with highest F1 score.
staticbreakEventPointScore(yTrue, yPred) → number
Get break-even point, the value where precision and recall intersect.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
- Returns
-
numberBreak-even point score.
staticdesiredPrecisionThreshold(yTrue, yPred, desiredPrecision) → number
Gets threshold for prediction score, nearest to specified precision.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
|
desiredPrecision |
number |
|
Desired precision score. |
- Returns
-
numberThreshold for prediction score, nearest to specifiedprecision.
staticdesiredRecallThreshold(yTrue, yPred, desiredRecall) → number
Gets threshold for recall score, nearest to specified recall.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
|
desiredRecall |
number |
|
Desired recall score. |
- Returns
-
numberThreshold for recall score, nearest to specifiedrecall.
staticf1Score(yTrue, yPred) → number
The F1 score can be interpreted as a weighted average of the precision and recall, where an F1 score reaches its best value at 1 and worst score at 0. The relative contribution of precision and recall to the F1 score are equal. Formula:
2 * (precision * recall) / (precision + recall).
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Predicted (estimated) lables. |
- Returns
-
numberF1 score.
staticmeanAbsoluteError(yTrueVec, yPredVec) → number
Mean absolute error (MAE) regression loss.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.
staticmeanAbsolutePercentageError(yTrueVec, yPredVec) → number
Mean absolute percentage error (MAPE) regression loss.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.
staticmeanError(yTrueVec, yPredVec) → number
Mean error (ME) regression loss.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.
staticmeanSquareError(yTrueVec, yPredVec) → number
Mean square error (MSE) regression loss.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.
staticprecisionRecallCurve(yTrue, yPred[, sample]) → module:la.Matrix
Get precision recall curve sampled on sample points.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
|
sample |
number |
Yes |
Desired number of samples in output. Defaults to |
- Returns
-
module:la.MatrixPrecision-recall pairs.
staticprecisionScore(yTrue, yPred) → number
Precision score is defined as the proportion of the true positives against all the positive results (both true positives and false positives). Formula: tp / (tp + fp).
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Predicted (estimated) lables. |
- Returns
-
numberPrecission score.
staticr2Score(yTrueVec, yPredVec) → number
R^2 (coefficient of determination) regression score.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.
staticrecallScore(yTrue, yPred) → number
Recall score is intuitively the ability of the classifier to find all the positive samples. Formula: tp / (tp + fn).
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Predicted (estimated) lables. |
- Returns
-
numberRecall score.
staticrocAucScore(yTrue, yPred[, sample]) → number
Get AUC of the current curve.
Example
// import metrics module
var metrics = require('qminer').analytics.metrics;
// true and predicted lables
var true_lables = [0, 1, 0, 0, 1];
var pred_prob = [0.3, 0.5, 0.2, 0.5, 0.8];
// compute ROC curve
var auc = metrics.rocAucScore(true_lables, pred_prob); // output: 0.92
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
|
sample |
number |
Yes |
Desired number of samples in output. Defaults to |
- Returns
-
numberArea under ROC curve.
staticrocCurve(yTrue, yPred[, sample]) → module:la.Matrix
Get ROC parametrization sampled on sample points.
Example
// import metrics module
var metrics = require('qminer').analytics.metrics;
// true and predicted lables
var true_lables = [0, 1, 0, 0, 1];
var pred_prob = [0.3, 0.5, 0.2, 0.5, 0.8];
// compute ROC curve
var roc = metrics.rocCurve(true_lables, pred_prob); // output: [ [ 0, 0 ], [0, 0.5], [[ 0.34, 1 ],], [ 0.67, 0 ], [ 1, 1 ] ]
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrue |
(Array of number or module:la.Vector) |
|
Ground truth (correct) lables. |
|
yPred |
(Array of number or module:la.Vector) |
|
Estimated probabilities. |
|
sample |
number |
Yes |
Desired number of samples in output. Defaults to |
- Returns
-
module:la.MatrixA matrix with increasing false and true positive rates.
staticrootMeanSquareError(yTrueVec, yPredVec) → number
Root mean square (RMSE) error regression loss.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
yTrueVec |
(Array of number or module:la.Vector) |
|
ground truth values in |
|
yPredVec |
(Array of number or module:la.Vector) |
|
estimated values in |
- Returns
-
numberError value.