RocCurve

Plots a ROC curve, or a curve with sensitivity on the Y-axis and 1 - specificity on the X-axis. This is a useful metric for determining how well a test statistic discriminates between two classes. The following assumptions are made in this implementation:

1. For some cutoff value c and test statistic T, your decision rule is of the form "Class A if T larger than c, Class B if T smaller than c".

2. In the case of ties, i.e. if class A and class B both have an identical value, linear interpolation is used. This is because changing the value of c infinitesimally will change both sensitivity and specificity in these cases.

Members

Functions

auroc
double auroc()

Returns the area under the ROC curve.

toLabeledFigure
Figure toLabeledFigure()

Default title is the area under the curve. Default x label is "1 - Specificity". Default y label is "Sensitivity".

Static functions

opCall
RocCurve opCall(R1 classATs, R2 classBTs)

Create a RocCurve. classATs are the test statistics that are "supposed" to be bigger, classBTs are the test statistics that are "supposed to be smaller. Both R1 and R2 must be input ranges with elements implicitly convertible to double.

Inherited Members

From LineGraph

lineColor
Color lineColor()

The color of the line. The default is black.

lineColor
This lineColor(Color newColor)

Setter

lineWidth
uint lineWidth()

The width of the line. The default is 1.

lineWidth
This lineWidth(uint newWidth)

Setter

errorWidth
double errorWidth()

Error bar width, relative to the total width of the plot. Must be between 0 and 1. If it's out of bounds, it will be set to the default of 0.05. If no error bars are to be drawn, this option is ignored.

errorWidth
This errorWidth(double newWidth)

Setter

pointSymbol
char pointSymbol()

The symbol that should be used to denote a data point. Setting this to ' ' (a space) turns off point symbols and plots the line only. By default the point symbol is a space, so no point symbol is plotted..

pointSymbol
This pointSymbol(char newSymbol)

Setter

pointColor
Color pointColor()

The color of each point on the plot.

pointColor
This pointColor(Color newColor)

Setter.

pointSize
int pointSize()

The size of a point. (Default 20).

pointSize
This pointSize(int newSize)

Setter

opCall
LineGraph opCall(R1 x, R2 y)

Factory method for creating a LineGraph. x and y must both be input ranges of the same length, with elements implicitly convertible to doubles. Note that they are copied inside the factory, so changes to the original ranges after calling this factory will not affect the plot.

opCall
LineGraph opCall(R y)

Convenience factory method that produces a LineGraph with a default X axis numbered 1, 2, ..., N, where N is the number of data points, and no error bars. This is mostly useful for quick and dirty plots.

opCall
LineGraph opCall(R1 x, R2 y, R3 lowerErrors, R4 upperErrors)

Create a LineGraph with error bars. lowerErrors and upperErrors must be input ranges with elements implicitly convertible to double for error bars to be shown. Any other value, such as null or 0, will result in no error bars being shown. Therefore, to only show, for example, upper erros, simply pass in null or 0 for the lower errors.

scaleX
void scaleX(double scaleFactor)

Scale this object by a factor of scaleFactor in the X direction. This is useful for getting it onto the same scale as another plot.

scaleY
void scaleY(double scaleFactor)

Scale this object by a factor of scaleFactor in the Y direction. * This is useful for getting it onto the same scale as another plot.

shiftX
void shiftX(double shiftBy)

Shift this graph by shiftBy units in the X direction. This is useful for getting it onto the same scale as another plot.

shiftY
void shiftY(double shiftBy)

Shift this graph by shiftBy units in the Y direction. This is useful for getting it onto the same scale as another plot.

Meta