Class LiftChart
Represents a lift chart, used to measure predictive performance.
Inheritance
Inherited Members
Namespace: BayesServer.Analysis
Assembly: BayesServer.Analysis.dll
Syntax
[Obfuscation(Exclude = false)]
public sealed class LiftChart
Remarks
Lift charts are used to measure the predictive performance of a classification network, and tell us how the model compares to a random model and the ideal model.
Lift charts are particularly useful when the probabilities of correct classification are low, such as when predicting rare events or anomalies. In these circumstances, a confusion matrix may give very high accuracy simply because most cases are not rare events or anomalies and hence correctly predicted. A lift chart however can take small probabilities into account to assess the improvement (lift) in prediction of these rare events or anomalies.
Properties
Actual
Gets the name of the data column containing the actual classification.
Declaration
public string Actual { get; }
Property Value
Type | Description |
---|---|
System.String |
Ideal
Gets the population probability value at which the target reaches 100 %.
Declaration
public double Ideal { get; }
Property Value
Type | Description |
---|---|
System.Double |
Points
Gets the xy points that make up the lift chart.
Declaration
public IList<LiftChartPoint> Points { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<LiftChartPoint> |
PredictedProbability
Gets the name of the data column which contains the predicted probability generated by an inference query.
Declaration
public string PredictedProbability { get; }
Property Value
Type | Description |
---|---|
System.String |
Score
Gets the overall score, which is a positive or negative probability between 0 and 1 indicating the classification performance of the network.
Declaration
public double Score { get; }
Property Value
Type | Description |
---|---|
System.Double |
Remarks
Score = (area under predicted - area under random) / (area under ideal - area under random)
A score of 0 indicates that the predictive performance is no better than random.
A score of 1 indicates the network perfectly predicts all cases.
A negative score indicates the network performs worse than random, which may indicate incorrect usage.
TargetValue
Gets the target value which we are interested in.
Declaration
public IComparable TargetValue { get; }
Property Value
Type | Description |
---|---|
System.IComparable |
Remarks
For example, for a variable 'Purchase' with state values True
and False
,
if we are trying to predict whether someone will make a purchase or not, the target value would be True
.
Methods
Create(String, String, String, IComparable, IDataReaderCommand)
Creates a lift chart, used to measure predictive performance.
Declaration
public static LiftChart Create(string actual, string predictedProbability, string caseWeight, IComparable targetValue, IDataReaderCommand readerCommand)
Parameters
Type | Name | Description |
---|---|---|
System.String | actual | The name of the data column containing the actual classification. |
System.String | predictedProbability | The name of the data column which contains the predicted probability generated by an inference query. |
System.String | caseWeight | Optional case weight. Can be null. |
System.IComparable | targetValue | The target value of interest. E.g. |
IDataReaderCommand | readerCommand | The predictions. |
Returns
Type | Description |
---|---|
LiftChart | A lift chart. |