code: def evaluate_classifier_with_probabilities(model, data,
                                             probabilities='probabilities',
                                             verbose = False):
      
  
      model = _get_model(model)
      if verbose:
          print("")
          print("Other Framework\t\tPredicted")
  
      max_probability_error, num_key_mismatch = 0, 0
  
      for _,row in data.iterrows():
          predicted_values = model.predict(dict(row))[_to_unicode(probabilities)]
          other_values = row[probabilities]
  
          if set(predicted_values.keys()) != set(other_values.keys()):
              if verbose:
                  print("Different classes: ", str(predicted_values.keys()), str(other_values.keys()))
              num_key_mismatch += 1
              continue
  
          for cur_class, cur_predicted_class_values in predicted_values.items():
              delta = cur_predicted_class_values - other_values[cur_class]
              if verbose:
                  print(delta, cur_predicted_class_values, other_values[cur_class])
  
              max_probability_error = max(abs(delta), max_probability_error)
  
          if verbose:
              print("")
  
      ret = {
          "num_samples": len(data),
          "max_probability_error": max_probability_error,
          "num_key_mismatch": num_key_mismatch
      }
  
      if verbose:
          print("results: %s" % ret)
  
      return ret
docs: Evaluate a classifier specification for testing.
  
      Parameters
      ----------
      filename: [str | Model]
          File from where to load the model from (OR) a loaded
          version of the MLModel.
  
      data: [str | Dataframe]
          Test data on which to evaluate the models (dataframe,
          or path to a csv file).
  
      probabilities: str
         Column to interpret as the probabilities column
  
      verbose: bool
         Verbosity levels of the predictions.