From 3f952820cbf3f476543f36d3825dca55feab329e Mon Sep 17 00:00:00 2001 From: Clive Cox Date: Mon, 27 Jul 2020 20:01:51 +0100 Subject: [PATCH] Change Outlier call depending on type --- .../alibi-detect-server/adserver/od_model.py | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/components/alibi-detect-server/adserver/od_model.py b/components/alibi-detect-server/adserver/od_model.py index 874463b542..8334db7516 100644 --- a/components/alibi-detect-server/adserver/od_model.py +++ b/components/alibi-detect-server/adserver/od_model.py @@ -82,13 +82,24 @@ def process_event(self, inputs: List, headers: Dict) -> Dict: and headers[HEADER_RETURN_FEATURE_SCORE] == "true" ): ret_feature_score = True - od_preds = self.model.predict( - X, - outlier_type=outlier_type, - # use 'feature' or 'instance' level - return_feature_score=ret_feature_score, - # scores used to determine outliers - return_instance_score=ret_instance_score, - ) + op_preds = {} + name = self.model.meta['name'] + if name == 'IForest' or name == 'OutlierAEGMM' or \ + name == 'Mahalanobis' or name == 'SpectralResidual' or \ + name == 'OutlierVAEGMM': + od_preds = self.model.predict( + X, + # scores used to determine outliers + return_instance_score=ret_instance_score, + ) + else: + od_preds = self.model.predict( + X, + outlier_type=outlier_type, + # use 'feature' or 'instance' level + return_feature_score=ret_feature_score, + # scores used to determine outliers + return_instance_score=ret_instance_score, + ) return json.loads(json.dumps(od_preds, cls=NumpyEncoder))