Logarithm::ModelEvaluator
Model evaluation metrics and utilities.
This class provides comprehensive evaluation metrics for anomaly detection models, including precision, recall, F1-score, AUC-ROC, and confusion matrix analysis.
Instance methods
Calculate AUC-ROC using trapezoidal rule
confusion_matrix(predictions : Array(Float64), labels : Array(Int32), threshold : Float64 = 0.5) : Matrix(Int32)
Generate confusion matrix
evaluate(model : AbstractModel, test_data : Array(Tensor), threshold : Float64 = 0.5) : Hash(String, Float64)
Evaluate model performance on test data.
Parameters:
- model: The trained model to evaluate
- test_data: Array of test tensors
- threshold: Anomaly threshold (0.0 to 1.0)
Returns: Hash with evaluation metrics
Calculate F1 score: 2 * (precision * recall) / (precision + recall)
Find optimal threshold using Youden's J statistic
Calculate precision: TP / (TP + FP)
precision_recall_curve(predictions : Array(Float64), labels : Array(Int32)) : Hash(String, Array(Float64))
Calculate precision-recall curve
Calculate recall: TP / (TP + FN)