code: def _test_prob_model(self, param1, param2):
      probability_param = "-b 1"
      df = self.df
  
      param_str = " ".join(
          [self.base_param, param1, param2, probability_param]
      )
      param = svmutil.svm_parameter(param_str)
      model = svm_train(self.prob, param)
  
      # Get predictions with probabilities as dictionaries
      (df["prediction"], _, probability_lists) = svm_predict(
          self.y, self.x, model, probability_param + " -q"
      )
      probability_dicts = [
          dict(zip([1, 2], cur_vals)) for cur_vals in probability_lists
      ]
      df["probabilities"] = probability_dicts
  
      spec = libsvm.convert(
          model, self.column_names, "target", "probabilities"
      )
  
      if _is_macos() and _macos_version() >= (10, 13):
          metrics = evaluate_classifier_with_probabilities(
              spec, df, verbose=False
          )
          self.assertEqual(metrics["num_key_mismatch"], 0)
          self.assertLess(metrics["max_probability_error"], 0.00001)
  
imports: import random
  import tempfile
  import unittest
  import pandas
  import pytest
  from coremltools._deps import _HAS_LIBSVM, _HAS_SKLEARN, _SKLEARN_VERSION, MSG_LIBSVM_NOT_FOUND, MSG_SKLEARN_NOT_FOUND
  from coremltools.models.utils import _is_macos, _macos_version, evaluate_classifier, evaluate_classifier_with_probabilities
label_desc: Use image node_id 2 for calling the NuSVCLibSVMTest obj's underlying member method code with example usage: obj._test_prob_model(param1, param2) without return types