Omniscope Custom Views › modelevaluation

Model Evaluation

See how good a model really is, and what any threshold means in practice: ROC, gains, distributions and the confusion matrix, all live, all linked to the records.

Line and scatter visokio-agents

Open the demo in Omniscope Download demo.ioz Sample data: scores.csv Source on GitHub

Items tagged visokio-agents are community examples built by Visokio's agents, to extend Omniscope's core blocks and views with popular, specialist and more unusual use cases, and to show what anyone, people or agents, can build on Omniscope. They are tested by automated tests and were run on a real Omniscope server. They were not reviewed by Omniscope's core team, so they are not on a par with the core blocks and views, which have years of manual, functional and unit tests behind them. About

See how good a model really is, and what any threshold means in practice: ROC, gains, distributions and the confusion matrix, all live, all linked to the records.

Live: an illustrative churn model scored on 8,000 customers. Move the threshold (slider or drag the line) and watch every panel update; click a confusion-matrix cell to select those customers.

The problem it solves

A model's AUC goes into a slide and the business is asked to trust it. The questions that matter come later: if we contact everyone above 0.5, how many customers is that, how many churners do we catch, and how many do we bother for nothing? Who are the churners the model missed? Answering usually means going back to a notebook.

The Model Evaluation view puts the standard diagnostics in one report view and connects them. One threshold drives the ROC point, the gains curve, the score distributions and the confusion matrix, so moving it shows the trade-off in business terms. In the illustrative churn model above, a threshold of 0.5 flags 15.9% of customers and finds 74.6% of churners, with 189 false alarms. Click the false-negative cell and the rest of the report lists the 369 churners the model missed, ready for the next question: why?

Where it earns its place

The examples below are illustrative.

Use Actual outcome Score Question
Customer retention Churned Churn probability How many customers should the retention team call?
Fraud and financial crime Confirmed fraud Risk score What alert volume catches enough fraud?
Credit risk Defaulted Probability of default Where should the approval cut-off be?
Marketing and sales Converted Propensity score Which share of leads should sales work first?
Quality and maintenance Failed Failure risk Which machines or batches to inspect?

How to use it in Omniscope

  1. In a workflow, train or apply a model (for example with the Prediction block, or scores from an external model) so each record has an actual outcome and a score. Keep a hold-out set for honest evaluation.
  2. Connect the scored data to a Report block, add a view and choose Model Evaluation.
  3. Set Actual outcome and Predicted score; set Positive value if it is not detected automatically.
  4. Move the threshold to see the trade-off; click confusion-matrix cells to select false positives or false negatives and examine them in other views.
  5. Filter by segment or period elsewhere in the report to check that the model holds up for every group.

Why do this in Omniscope

Data and options

One row per scored record: actual outcome (two classes) and a numeric score.

Option What it does
Actual outcome, Predicted score The truth and the model output
Positive value Which class is positive (detected if empty)
Threshold Starting decision threshold
Score resolution Number of score bins

Tested with 300,000 scored records.

Tested

Selecting the false negatives: the churners the model missed
Selecting the false negatives: the churners the model missed
Running on the Omniscope server
Running on the Omniscope server

Reference

Fields it reads

NameTypeWhat it does
Actual outcomeFIELDField holding the true class, e.g. Churned (Yes/No), Defaulted (1/0), Fraud (True/False)
Predicted scoreFIELDThe model's probability or score for the positive class, e.g. the output of the Prediction block

Options

NameTypeWhat it does
Positive valueTEXTValue of Actual outcome that counts as positive. Leave empty to detect it (1, Yes, True, or the rarer class).
ThresholdNUMBERStarting decision threshold (default 0.5, or the middle of the score range); adjust it live with the slider in the view
Score resolutionNUMBERNumber of score bins used for the curves (default 100)

Third-party libraries