Support to interpret Performance Metrics from H2O Deep Learning model Using H2O in R, when I perform the call h2o.performance(m1, dataframe.valid.H2O), the below metrics table is returned.
Where can I find explanation of what each row and column mean?
Thanks,
Diego
Maximum Metrics: Maximum metrics at their respective thresholds
                      metric threshold    value idx
1                     max f1  0.565366 0.914894 197
2                     max f2  0.437890 0.963656 204
3               max f0point5  0.770983 0.906433 166
4               max accuracy  0.626282 0.847619 185
5              max precision  0.999759 1.000000   0
6                 max recall  0.437890 1.000000 204
7            max specificity  0.999759 1.000000   0
8           max absolute_MCC  0.770983 0.433861 166
9 max min_per_class_accuracy  0.897191 0.634286 119

 A: the answer above helps but I was still confused on two metrics, which I've figured out:
1. max min_per_class_accuracy is where you get he highest (max) average accuracy (min error) across all classes. It specifies the threshold on which the average accuracy is the greatest. (Bad terminology IMHO, probably more like max avg. on min_per_class_error)
2. max mean_per_class_accuracy is where you get the min sum of error across all classes. It specifies the threshold on which the average accuracy is max and even balanced across all classes.

Example might help (two class problem):


*

*The accuracy/error on Threshold 1:
C1 - error = 0.0788, accuracy = 1-0.0788= 0.9212
C2 - error = 0.1885, accuracy = 1-0.1885= 0.8115
average accuracy is (0.9212+0.8115)/2 -> 0.86635 
C1 accuracy - avg accuracy = abs(0.86635 - 0.9212) = 0.05995 
C2 accuracy - avg accuracy = abs(0.86635 - 0.8115) = 0.04975

Threshold 1 is where max min_per_class_accuracy is. In no other threshold there is an average accuracy greater that 0.86635.

*The accuracy/error on Threshold 2 :
C1 - error = 0.1379, accuracy = 1-0.1379 = 0.8621
C2 - error = 0.1396, accuracy = 1-0.1396 = 0.8604
average accuracy is (0.9212+0.8115)/2 -> 0.86125 (smaller than in threshold 1)
C1 accuracy - avg accuracy = abs(0.86125 - 0.8621) = 0.00085
C2 accuracy - avg accuracy = abs(0.86125 - 0.8604) = 0.00085

Threshold 2 is where max mean_per_class_accuracy is. No other threshold has a higher average with minimal spread (i.e. smaller than the average of 0.00085 and  0.00085). You can also see this as the closest accuracy on the two classes.
A: Thank you, if useful for anyone, let me post my interpretation (in less mathematical terms) of each measure based on what I read on wikipedia.
1                     max f1  = 2*TP / (2*TP + FP + FN), is the harmonic mean of precision and sensitivity, how many False Positive and False Negatives am I affected with?
2                     max f2  = F2 measure weights recall higher than precision (penalizes high n. of False Negatives)
3               max f0point5  = F_{0.5} measure puts more emphasis on precision than recall (penalizes high n. of False Positive)
4               max accuracy  = (TP + TN) / (P + N), how many across both P and N do I identify correctly
5              max precision  = TP / (TP + FP), precision in positives, how many False Positive am I affected with?
6                 max recall  = TP / P = TP / (TP+FN), how many of the Positives do you identify correctly
7            max specificity  = TN / N = TN / (FP+TN), how many of the negatives do you identify correctly
8           max absolute_MCC  = Balanced measure which can be used even if the classes are of very different sizes. It returns a value between −1 and +1. A coefficient of +1 represents a perfect prediction, 0 no better than random prediction and −1 indicates total disagreement between prediction and observation. While there is no perfect way of describing the confusion matrix of true and false positives and negatives by a single number, the Matthews correlation coefficient is generally regarded as being one of the best such measures.
9 max min_per_class_accuracy  = (my assumption) per class accuracy is the accuracy per class, the min is the worst accuracy i get from the class I classify with least accuracy - the max is about doing the best possible job to raise the lowest accuracy
idx = I assume that idx stands for the index in the metric's threshold list at which the max metrics are obtained
