code: def test_return_probability(self, iris_test_data, iris_edge_list):
      df = iris_test_data.copy()
  
      discretiser_params = {
          "sepal width (cm)": {
              "method": "fixed",
              "numeric_split_points": [3],
          },
          "petal length (cm)": {
              "method": "fixed",
              "numeric_split_points": [3.7],
          },
          "petal width (cm)": {
              "method": "fixed",
              "numeric_split_points": [1.2],
          },
      }
  
      label = df["sepal length (cm)"]
      df.drop(["sepal length (cm)"], axis=1, inplace=True)
      clf = BayesianNetworkClassifier(
          iris_edge_list,
          discretiser_kwargs=discretiser_params,
          discretiser_alg={
              "sepal width (cm)": "unsupervised",
              "petal length (cm)": "unsupervised",
              "petal width (cm)": "unsupervised",
          },
          return_prob=True,
      )
      clf.fit(df, label)
      output = clf.predict(df.iloc[0:1])
      assert len(list(output)) == 3
      assert math.isclose(
          output["sepal length (cm)_0"].values, 0.764706, abs_tol=1e-3
      )
      assert math.isclose(
          output["sepal length (cm)_1"].values, 0.215686, abs_tol=1e-3
      )
  
file_path: causalnex/tests/test_network_model.py
imports: import math
  import numpy
  import pytest
  from causalnex.network.sklearn import BayesianNetworkClassifier
label_desc: Use image node_id 4 for calling the TestBayesianCPDs obj's underlying member method code with example usage: obj.test_return_probability(iris_test_data, iris_edge_list) without return types