code: def test_soft_voting_array(self):
      X, y = dask_ml.datasets.make_classification(chunks=25)
      clf = dask_ml.ensemble.BlockwiseVotingClassifier(
          sklearn.linear_model.LogisticRegression(solver="lbfgs"),
          voting="soft",
          classes=[0, 1],
      )
      clf.fit(X, y)
  
      assert len(clf.estimators_) == 4
  
      result = clf.predict(X)
      assert isinstance(result, da.Array)
      assert result.dtype == np.dtype("int64")
      assert result.shape == (len(X),)
      result_ = result.compute()
      assert result_.dtype == result.dtype
      assert result_.shape == result.shape
  
      result = clf.predict_proba(X)
      assert result.dtype == np.dtype("float64")
      assert result.shape == (len(X), 2)  # 2 classes
      assert result.numblocks == (4, 1)
  
      score = clf.score(X, y)
      assert isinstance(score, float)
  
file_path: dask-ml/tests/ensemble/test_blockwise.py
imports: import dask
  import dask.array
  import dask.dataframe
  import numpy
  import pytest
  import sklearn.linear_model
  import dask_ml.datasets
  import dask_ml.ensemble
label_desc: Use image node_id 4 for calling the TestBlockwiseVotingClassifier obj's underlying member method code with example usage: obj.test_soft_voting_array() without return types