code: def test_multiclass_nn(self, desired_class, method):
      backend = "PYT"
      dataset = helpers.load_custom_testing_dataset_multiclass()
  
      # Transform the categorical data to numbers to test the neural network
      label_enc = sklearn.preprocessing.LabelEncoder()
      dataset["Categorical"] = label_enc.fit_transform(
          dataset["Categorical"]
      )
  
      d = dice_ml.Data(
          dataframe=dataset,
          continuous_features=["Numerical", "Categorical"],
          outcome_name="Outcome",
      )
  
      # Load the neural network for multiclass classification and generate an explainer
      df = d.data_df
      num_class = len(df["Outcome"].unique())
      model = MulticlassNetwork(
          input_size=df.drop("Outcome", axis=1).shape[1],
          num_class=num_class,
      )
      m = dice_ml.Model(model=model, backend=backend)
      exp = dice_ml.Dice(d, m, method=method)
  
      # Test the function that returns the predictions
      _, _, preds = exp.build_KD_tree(
          df.copy(),
          desired_range=None,
          desired_class=desired_class,
          predicted_outcome_name=d.outcome_name + "_pred",
      )
      assert hasattr(
          preds, "shape"
      ), "The object that contains the predictions doesn't have a 'shape' attribute."
      assert (
          preds.shape[0] == df.shape[0]
      ), "The number of predictions differs from the number of elements in the dataset."
  
imports: import pytest
  import sklearn
  from raiutils.exceptions import UserConfigValidationException
  import dice_ml
  from dice_ml.utils import helpers
  from dice_ml.utils.neuralnetworks import MulticlassNetwork
label_desc: Use image node_id 4 for calling the TestDiceGeneticMultiClassificationMethods obj's underlying member method code with example usage: obj.test_multiclass_nn(desired_class, method) without return types