cmx | R Documentation |
cmx
calculates the confusion matrix for a single model.
cmx(DATA, threshold = 0.5, which.model = 1, na.rm = FALSE)
DATA |
a matrix or dataframe of observed and predicted values where each row represents one plot and where columns are:
| ||||||||||||||||||||||||
threshold |
a cutoff value between zero and one used for translating predicted probabilities into 0 /1 values, defaults to 0.5. It must be a single value between zero and one. | ||||||||||||||||||||||||
which.model |
a number indicating which model from DATA should be used | ||||||||||||||||||||||||
na.rm |
a logical indicating whether missing values should be removed |
cmx
calculates the confusion matrix for a single model at a single threshold.
If DATA
contains more predictions from more than one model WHICH.DATA
can be used to specify which model should be used. If WHICH.DATA
is not given, cmx
will use predictions from the first model by default.
When calculating the confusion matrix, any plot with a predicted probability greater than threshold
is considered to be predicted Present
, while any plot with a predicted probability less than or equal to threshold
is considered to be predicted Absent
. The only exception is when threshold
equals zero. In that case, all plots are considered to be predicted Present
.
Unlike other functions in this library, threshold
can not be a vector or an integer greater than one. Instead, threshold
must be given as a single number between zero and one.
If na.rm
equals FALSE
and NA
's are present in the DATA
function will return NA
.
If na.rm
equals TRUE
and NA
's are present in the DATA
, function will remove all rows where any of the values in the row consist of NA
. Function will also print the number of rows that have been removed.
the confusion matrix is returned in the form of a table where:
columns |
observed values |
rows |
predicted values |
Elizabeth Freeman eafreeman@fs.fed.us
pcc
, sensitivity
, specificity
, Kappa
### EXAMPLE 1 ### ### generate simulated data ### set.seed(666) N=1000 SIMDATA<-matrix(0,N,3) SIMDATA<-as.data.frame(SIMDATA) names(SIMDATA)<-c("plotID","Observed","Predicted") SIMDATA$plotID<-1:N SIMDATA$Observed<-rbinom(n=N,size=1,prob=.2) SIMDATA$Predicted[SIMDATA$Observed==1]<-rnorm(n=length(SIMDATA$Observed[SIMDATA$Observed==1]), mean=.8,sd=.15) SIMDATA$Predicted[SIMDATA$Observed==0]<-rnorm(n=length(SIMDATA$Observed[SIMDATA$Observed==0]), mean=.2,sd=.15) SIMDATA$Predicted<-(SIMDATA$Predicted-min(SIMDATA$Predicted))/ (max(SIMDATA$Predicted)-min(SIMDATA$Predicted)) ### plot simulated data hist(SIMDATA$Predicted,100) ### calculate confusion matrix ### cmx(SIMDATA) ### EXAMPLE 2 ### data(SIM3DATA) cmx(SIM3DATA) cmx(SIM3DATA,which.model=2) cmx(SIM3DATA,which.model=3,threshold=.2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.