code: def test_predict_proba_with_ds_soft(create_pool_classifiers):
      expected = np.array([0.61, 0.39])
      DFP_mask = np.ones((1, 6))
      predictions = np.array([[0, 1, 0, 0, 1, 0]])
      probabilities = np.array(
          [
              [
                  [0.5, 0.5],
                  [1, 0],
                  [0.33, 0.67],
                  [0.5, 0.5],
                  [1, 0],
                  [0.33, 0.67],
              ]
          ]
      )
      pool_classifiers = (
          create_pool_classifiers + create_pool_classifiers
      )
      desmi_test = DESMI(pool_classifiers, DFP=True, voting="soft")
      desmi_test.n_classes_ = 2
      selected_indices = np.array([[0, 1, 5]])
      desmi_test.estimate_competence = MagicMock(
          return_value=np.ones(6)
      )
      desmi_test.select = MagicMock(return_value=selected_indices)
  
      predicted_proba = desmi_test.predict_proba_with_ds(
          predictions, probabilities, DFP_mask=DFP_mask
      )
      assert np.isclose(predicted_proba, expected, atol=0.01).all()
  
file_path: DESlib/deslib/tests/des/test_des_mi.py
imports: from unittest.mock import MagicMock
  import numpy
  import pytest
  from sklearn.linear_model import Perceptron
  from sklearn.utils.estimator_checks import check_estimator
  from deslib.des.des_mi import DESMI
label_desc: Use image node_id 9 for calling a global function with example usage: test_predict_proba_with_ds_soft(create_pool_classifiers) without return types