Can negative scores of one class SVM be used as threshold in ROC?

2 views (last 30 days)
I used one class SVM for anomaly detection and used ROC(perfcurve) to compare the performance of each SVM setting (outlier factors, kernels, Nu). The input of ROC is the scores from predicted values. I found that the ROC also used negative values as thresholds , and these negative ones have the best result with AUC=1. Can I use the negative threshold as an optimal point, since I read in the examples of fitcsvm, negative scores are considered as outliers?

Answers (1)

Harimurali
Harimurali on 6 Oct 2023
Hi Tran,
I understand that you want to know if negative thresholds can be used as optimal points in ROC curve and if it results in miscalculation of performance of your model.
In the context of one-class SVM, negative scores might be termed outliers or anomalies. These negative scores represent cases that are regarded to be outside of the model's regular data distribution. As a result, exceptional performance (AUC = 1) when applying negative thresholds in the ROC analysis is not unusual.
However, it is critical to examine the unique properties of your dataset as well as the situation at hand. An AUC of 1 with negative thresholds may suggest that your model classifies all cases as outliers, including actual anomalies as well as regular occurrences. This can result in both high sensitivity to abnormalities and high false positive rates.
However, it's essential to consider the specific characteristics of your dataset and the problem at hand. An AUC of 1 with negative thresholds may indicate that your model is labelling all instances as outliers, including both true anomalies and normal instances. This can lead to high sensitivity to anomalies but also high false positive rates.
You may refer to the following documentation for more information regarding ROC curves:
I hope this helps.

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!