In the code above, the ps_svc is a classifier trained by sdsvc command and r_svc1 is an ROC object estimated using the ps_svc model.
The problem is that already returns decisions. Therefore, when executing the expression:
first, tsb*ps_svc returns decisions in an sdlab object. This is then passed to r_svc1 (an ROC object). ROC object cannot be applied to sdlab object, only to soft outputs in an sddata object.
What is needed to avoid the error, is to enclose the classifier and ROC in parentheses:
This will first execute ps_svc*r_svc1 which adds operating points from r_svc1 ROC to the classifier and returns ps_svc classifier with this new operating point information. In the second step, this classifier is applied to the test set tsb which returns decisions at the current operating point set in r_svc1.
I’d suggest to put this line explicitly after setting the desired op.point:
With Kind Regards,