UNPKG

qminer

Version:

A C++ based data analytics platform for processing large-scale real-time streams containing structured and unstructured data

1,246 lines 51.7 kB
<!doctype html>
<html>

<head>
  <meta name="generator" content="JSDoc 3">
  <meta charset="utf-8">
  <title>Namespace: metrics</title>
  <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css">
  <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css">
  <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
  <link href="css/baseline.css" rel="stylesheet">
</head>

<body onload="prettyPrint()">
  <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
    <div id="jsdoc-navbar-container">
      <div id="jsdoc-navbar-content">
        <a href="index.html" class="jsdoc-navbar-package-name">QMiner JavaScript API v9.4.0</a>
      </div>
    </div>
  </nav>
  <div id="jsdoc-body-container">
    <div id="jsdoc-content">
      <div id="jsdoc-content-container">
        <div id="jsdoc-main" role="main">
          <header class="page-header">
            <div class="symbol-detail-labels"><span class="label label-kind">namespace</span>&nbsp;<span class="label label-inner">inner</span></div>
            <h1><small><a href="module-analytics.html">analytics</a>~<wbr></small><span class="symbol-name">metrics</span></h1>
            <p class="source-link">Source: <a href="analyticsdoc.js.html#source-line-3417">analyticsdoc.<wbr>js:3417</a></p>
            <div class="symbol-description">
              <p>Classification and regression metrics.</p>
            </div>
            <section>
              <h2>
                Examples
              </h2>
              <div>
                <p>Batch classification example</p>
                <pre class="prettyprint"><code>// import metrics module
var analytics &#x3D; require(&#x27;qminer&#x27;).analytics;

// true and predicted lables
var true_lables &#x3D; [0, 1, 0, 0, 1];
var pred_prob &#x3D; [0.3, 0.5, 0.2, 0.5, 0.8];

// compute ROC curve
var roc &#x3D; analytics.metrics.rocCurve(true_lables, pred_prob);</code></pre>
              </div>
              <div>
                <p>Online classification example</p>
                <pre class="prettyprint"><code>// import analytics module
var analytics &#x3D; require(&#x27;qminer&#x27;).analytics;
// true and predicted lables
var true_lables &#x3D; [0, 1, 0, 0, 1];
var pred_prob &#x3D; [0.3, 0.5, 0.2, 0.5, 0.8];

// create predictionCurve instance
var predictionCurve &#x3D; 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 &#x3D; predictionCurve.roc(); // get ROC</code></pre>
              </div>
              <div>
                <p>Batch regression example</p>
                <pre class="prettyprint"><code>// import analytics module
var analytics &#x3D; require(&#x27;qminer&#x27;).analytics;
// true and predicted data
var true_vals &#x3D; [1, 2, 3, 4, 5];
var pred_vals &#x3D; [3, 4, 5, 6, 7];

// use batch MAE method
analytics.metrics.meanAbsoluteError(true_vals, pred_vals);</code></pre>
              </div>
              <div>
                <p>Online regression example</p>
                <pre class="prettyprint"><code>// import analytics module
var analytics &#x3D; require(&#x27;qminer&#x27;).analytics;
// true and predicted data
var true_vals &#x3D; [1, 2, 3, 4, 5];
var pred_vals &#x3D; [3, 4, 5, 6, 7];

// create online MAE metric instance
var mae &#x3D; 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();</code></pre>
              </div>
            </section>
            <dl class="dl-compact">
            </dl>
          </header>
          <section id="summary">
            <div class="summary-callout">
              <h2 class="summary-callout-heading">Child classes</h2>
              <div class="summary-content">
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.ClassificationScore.html">ClassificationScore(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.MeanAbsoluteError.html">MeanAbsoluteError([fin])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.MeanAbsolutePercentageError.html">MeanAbsolutePercentageError([fin])</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.MeanError.html">MeanError([fin])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.MeanSquareError.html">MeanSquareError([fin])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.PredictionCurve.html">PredictionCurve(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.R2Score.html">R2Score([fin])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.RootMeanSquareError.html">RootMeanSquareError([fin])</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
              </div>
            </div>
            <div class="summary-callout">
              <h2 class="summary-callout-heading">Methods</h2>
              <div class="summary-content">
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.html#.accuracyScore">accuracyScore(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.bestF1Threshold">bestF1Threshold(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.breakEventPointScore">breakEventPointScore(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.desiredPrecisionThreshold">desiredPrecisionThreshold(yTrue, yPred, desiredPrecision)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.desiredRecallThreshold">desiredRecallThreshold(yTrue, yPred, desiredRecall)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.f1Score">f1Score(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.html#.meanAbsoluteError">meanAbsoluteError(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.meanAbsolutePercentageError">meanAbsolutePercentageError(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.meanError">meanError(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.meanSquareError">meanSquareError(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.precisionRecallCurve">precisionRecallCurve(yTrue, yPred[, sample])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.precisionScore">precisionScore(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
                <div class="summary-column">
                  <dl class="dl-summary-callout">
                    <dt><a href="module-analytics-metrics.html#.r2Score">r2Score(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.recallScore">recallScore(yTrue, yPred)</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.rocAucScore">rocAucScore(yTrue, yPred[, sample])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.rocCurve">rocCurve(yTrue, yPred[, sample])</a></dt>
                    <dd>
                    </dd>
                    <dt><a href="module-analytics-metrics.html#.rootMeanSquareError">rootMeanSquareError(yTrueVec, yPredVec)</a></dt>
                    <dd>
                    </dd>
                  </dl>
                </div>
              </div>
            </div>
          </section>
          <section>
            <h2>Classes</h2>
            <section id='members-links'>
              <h3><a href="module-analytics-metrics.ClassificationScore.html">ClassificationScore</a></h3>
              <h3><a href="module-analytics-metrics.MeanAbsoluteError.html">MeanAbsoluteError</a></h3>
              <h3><a href="module-analytics-metrics.MeanAbsolutePercentageError.html">MeanAbsolutePercentageError</a></h3>
              <h3><a href="module-analytics-metrics.MeanError.html">MeanError</a></h3>
              <h3><a href="module-analytics-metrics.MeanSquareError.html">MeanSquareError</a></h3>
              <h3><a href="module-analytics-metrics.PredictionCurve.html">PredictionCurve</a></h3>
              <h3><a href="module-analytics-metrics.R2Score.html">R2Score</a></h3>
              <h3><a href="module-analytics-metrics.RootMeanSquareError.html">RootMeanSquareError</a></h3>
            </section>
            <h2>Methods</h2>
            <section>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".accuracyScore"><span class="symbol-name">accuracyScore</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Accuracy score is the proportion of true results (both true positives and true negatives)
                among the total number of cases examined.
                Formula: <code>(tp + tn) / (tp + fp + fn + tn)</code>.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Predicted (estimated) lables.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Accuracy value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".bestF1Threshold"><span class="symbol-name">bestF1Threshold</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Gets threshold for prediction score, which results in the highest F1.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Threshold with highest F1 score.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".breakEventPointScore"><span class="symbol-name">breakEventPointScore</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Get break-even point, the value where precision and recall intersect.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Break-even point score.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".desiredPrecisionThreshold"><span class="symbol-name">desiredPrecisionThreshold</span><span class="signature"><span class="signature-params">(yTrue, yPred, desiredPrecision)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Gets threshold for prediction score, nearest to specified precision.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>desiredPrecision</p>
                      </td>
                      <td>
                        <p>number</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Desired precision score.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Threshold for prediction score, nearest to specified <code>precision</code>.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".desiredRecallThreshold"><span class="symbol-name">desiredRecallThreshold</span><span class="signature"><span class="signature-params">(yTrue, yPred, desiredRecall)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Gets threshold for recall score, nearest to specified recall.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>desiredRecall</p>
                      </td>
                      <td>
                        <p>number</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Desired recall score.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Threshold for recall score, nearest to specified <code>recall</code>.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".f1Score"><span class="symbol-name">f1Score</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>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: <code>2 * (precision * recall) / (precision + recall)</code>.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Predicted (estimated) lables.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B F1 score.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".meanAbsoluteError"><span class="symbol-name">meanAbsoluteError</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Mean absolute error (MAE) regression loss.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".meanAbsolutePercentageError"><span class="symbol-name">meanAbsolutePercentageError</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Mean absolute percentage error (MAPE) regression loss.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec.</code></p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".meanError"><span class="symbol-name">meanError</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Mean error (ME) regression loss.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".meanSquareError"><span class="symbol-name">meanSquareError</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Mean square error (MSE) regression loss.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".precisionRecallCurve"><span class="symbol-name">precisionRecallCurve</span><span class="signature"><span class="signature-params">(yTrue, yPred[, sample])</span>&nbsp;&rarr; <span class="signature-returns"> <a href="module-la.Matrix.html">module:la.Matrix</a></span></span></h3>
              <p>Get precision recall curve sampled on <code>sample</code> points.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>sample</p>
                      </td>
                      <td>
                        <p>number</p>
                      </td>
                      <td>
                        <p>Yes</p>
                      </td>
                      <td>
                        <p>Desired number of samples in output.</p>
                        <p>Defaults to <code>10</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code><a href="module-la.Matrix.html">module:la.Matrix</a></code>B Precision-recall pairs.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".precisionScore"><span class="symbol-name">precisionScore</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Precision score is defined as the proportion of the true positives against all the
                positive results (both true positives and false positives).
                Formula: <code>tp / (tp + fp)</code>.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Predicted (estimated) lables.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Precission score.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".r2Score"><span class="symbol-name">r2Score</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>R^2 (coefficient of determination) regression score.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".recallScore"><span class="symbol-name">recallScore</span><span class="signature"><span class="signature-params">(yTrue, yPred)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Recall score is intuitively the ability of the classifier to find all the positive samples.
                Formula: <code>tp / (tp + fn)</code>.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Predicted (estimated) lables.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Recall score.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".rocAucScore"><span class="symbol-name">rocAucScore</span><span class="signature"><span class="signature-params">(yTrue, yPred[, sample])</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Get AUC of the current curve.</p>
              <section>
                <h4>
                  Example
                </h4>
                <div>
                  <pre class="prettyprint"><code>// import metrics module
var metrics &#x3D; require(&#x27;qminer&#x27;).analytics.metrics;

// true and predicted lables
var true_lables &#x3D; [0, 1, 0, 0, 1];
var pred_prob &#x3D; [0.3, 0.5, 0.2, 0.5, 0.8];

// compute ROC curve
var auc &#x3D; metrics.rocAucScore(true_lables, pred_prob); // output: 0.92</code></pre>
                </div>
              </section>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>sample</p>
                      </td>
                      <td>
                        <p>number</p>
                      </td>
                      <td>
                        <p>Yes</p>
                      </td>
                      <td>
                        <p>Desired number of samples in output.</p>
                        <p>Defaults to <code>10</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Area under ROC curve.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".rocCurve"><span class="symbol-name">rocCurve</span><span class="signature"><span class="signature-params">(yTrue, yPred[, sample])</span>&nbsp;&rarr; <span class="signature-returns"> <a href="module-la.Matrix.html">module:la.Matrix</a></span></span></h3>
              <p>Get ROC parametrization sampled on <code>sample</code> points.</p>
              <section>
                <h4>
                  Example
                </h4>
                <div>
                  <pre class="prettyprint"><code>// import metrics module
var metrics &#x3D; require(&#x27;qminer&#x27;).analytics.metrics;

// true and predicted lables
var true_lables &#x3D; [0, 1, 0, 0, 1];
var pred_prob &#x3D; [0.3, 0.5, 0.2, 0.5, 0.8];

// compute ROC curve
var roc &#x3D; metrics.rocCurve(true_lables, pred_prob); // output: [ [ 0, 0 ], [0, 0.5], [[ 0.34, 1 ],], [ 0.67, 0 ], [ 1, 1 ] ]</code></pre>
                </div>
              </section>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrue</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Ground truth (correct) lables.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPred</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>Estimated probabilities.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>sample</p>
                      </td>
                      <td>
                        <p>number</p>
                      </td>
                      <td>
                        <p>Yes</p>
                      </td>
                      <td>
                        <p>Desired number of samples in output.</p>
                        <p>Defaults to <code>10</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code><a href="module-la.Matrix.html">module:la.Matrix</a></code>B A matrix with increasing false and true positive rates.</p>
                </dd>
              </dl>
              <div class="symbol-detail-labels"><span class="label label-static">static</span></div>
              <h3 id=".rootMeanSquareError"><span class="symbol-name">rootMeanSquareError</span><span class="signature"><span class="signature-params">(yTrueVec, yPredVec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3>
              <p>Root mean square (RMSE) error regression loss.</p>
              <section>
                <h4>Parameters</h4>
                <table class="jsdoc-details-table">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Type</th>
                      <th>Optional</th>
                      <th>Description</th>
                    </tr>
                  </thead>
                  <tbody>
                    <tr>
                      <td>
                        <p>yTrueVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>ground truth values in <code>yTrueVec</code>.</p>
                      </td>
                    </tr>
                    <tr>
                      <td>
                        <p>yPredVec</p>
                      </td>
                      <td>
                        <p>(Array of number or <a href="module-la.Vector.html">module:la.Vector</a>)</p>
                      </td>
                      <td>
                        <p>&nbsp;</p>
                      </td>
                      <td>
                        <p>estimated values in <code>yPredVec</code>.</p>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </section>
              <dl class="dl-compact">
                <dt>Returns</dt>
                <dd>
                  <p><code>number</code>B Error value.</p>
                </dd>
              </dl>
            </section>
          </section>
        </div>
      </div>
      <nav id="jsdoc-toc-nav" role="navigation"></nav>
    </div>
  </div>
  <footer id="jsdoc-footer" class="jsdoc-footer">
    <div id="jsdoc-footer-container">
      <p>
        
      </p>
    </div>
  </footer>
  <script src="scripts/jquery.min.js"></script>
  <script src="scripts/tree.jquery.js"></script>
  <script src="scripts/prettify.js"></script>
  <script src="scripts/jsdoc-toc.js"></script>
  <script src="scripts/linenumber.js"></script>
  <script src="scripts/scrollanchor.js"></script>
</body>

</html>