def __call__(self, data: Union[np.ndarray, List[List[float]], List[List[int]]],<EOL>*args, **kwargs) -> Union[List[List[str]], List[str]]:
if self.confident_threshold:<EOL><INDENT>return [list(np.where(np.array(d) > self.confident_threshold)[<NUM_LIT:0>])<EOL>for d in data]<EOL><DEDENT>elif self.max_proba:<EOL><INDENT>return [[np.argmax(d)] for d in data]<EOL><DEDENT>elif self.top_n:<EOL><INDENT>return [np.argsort(d)[::-<NUM_LIT:1>][:self.top_n] for d in data]<EOL><DEDENT>else:<EOL><INDENT>raise ConfigError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>
Process probabilities to labels

Args:
    data: list of vectors with probability distribution
    *args:
    **kwargs:

Returns:
    list of labels (only label classification) or list of lists of labels (multi-label classification)