class_docstr: Blockwise training and ensemble voting regressor.
  
  This regressor trains on blocks / partitions of tensors or DataFrames.
  A cloned version of `estimator` will be fit *independently* on each block
  or partition of the data.
  
  Prediction is done by the *ensemble* of learned models.
  
  .. warning::
     Ensure that your data are sufficiently shuffled prior to training!
     If the values of the various blocks / partitions of your dataset are not
     distributed similarly, the regressor will give poor results.
  
  Parameters
  ----------
  estimator : Estimator
  
  Attributes
  ----------
  estimators_ : list of regressors
      The collection of fitted sub-estimators that are `estimator` fitted
      on each partition / block of the inputs.
  
  Examples
  --------
  >>> import mars.tensor as mt
  >>> from mars.learn.ensemble import BlockwiseVotingRegressor
  >>> from sklearn.linear_model import LinearRegression
  >>> from sklearn.datasets import make_classification
  >>> X, y = make_classification(n_samples=100_000)
  >>> X, y = mt.tensor(X, chunk_size=10_0000), mt.tensor(y, chunk_size=10_0000)
  >>> subestimator = LinearRegression()
  >>> clf = BlockwiseVotingRegressor(subestimator)
  >>> clf.fit(X, y)
class_docstr_tok: ["Blockwise","training","and","ensemble","voting","regressor",".","This","regressor","trains","on","blocks","\/","partitions","of","tensors","or","DataFrames",".","A","cloned","version","of","`","estimator","`","will","be","fit","*","independently","*","on","each","block","or","partition","of","the","data",".","Prediction","is","done","by","the","*","ensemble","*","of","learned","models",".","..","warning",":",":","Ensure","that","your","data","are","sufficiently","shuffled","prior","to","training","!","If","the","values","of","the","various","blocks","\/","partitions","of","your","dataset","are","not","distributed","similarly",",","the","regressor","will","give","poor","results",".","Parameters","--","--","--","--","--","estimator",":","Estimator","Attributes","--","--","--","--","--","estimators_",":","list","of","regressors","The","collection","of","fitted","sub-estimators","that","are","`","estimator","`","fitted","on","each","partition","\/","block","of","the","inputs",".","Examples","--","--","--","--",">",">",">","import","mars.tensor","as","mt",">",">",">","from","mars.learn.ensemble","import","BlockwiseVotingRegressor",">",">",">","from","sklearn.linear_model","import","LinearRegression",">",">",">","from","sklearn.datasets","import","make_classification",">",">",">","X",",","y","=","make_classification","(","n_samples=100_000",")",">",">",">","X",",","y","=","mt.tensor","(","X",",","chunk_size=10_0000",")",",","mt.tensor","(","y",",","chunk_size=10_0000",")",">",">",">","subestimator","=","LinearRegression","(",")",">",">",">","clf","=","BlockwiseVotingRegressor","(","subestimator",")",">",">",">","clf.fit","(","X",",","y",")"]
code: def predict(
      self, X, session: SessionType = None, run_kwargs: dict = None
  ):
      check_is_fitted(self, attributes=["estimators_"])
      X = check_array(X)
      op = BlockwiseEnsemblePredict(
          x=X, estimators=[self.estimators_], is_classifier=False
      )
      return op().execute(session=session, **(run_kwargs or dict()))
  
imports: from typing import List, Union
  import numpy
  from sklearn.base import BaseEstimator, clone
  from sklearn.utils.validation import check_is_fitted
  from ...None import opcodes
  from ...None import execute
  from ...None import tensor
  from ...core import OutputType, ENTITY_TYPE, recursive_tile
  from ...core.context import Context
  from ...serialization.serializables import FieldTypes, AnyField, BoolField, DictField, Int64Field, ListField, StringField, KeyField
  from ...typing import SessionType
  from ...tensor.core import Tensor, TensorOrder
  from ...tensor.utils import decide_unify_split
  from ..operands import LearnOperand, LearnOperandMixin
  from ..base import BaseEstimator, ClassifierMixin, RegressorMixin
  from ..utils import check_array
label_desc: Use image node_id 2 for calling the BlockwiseVotingRegressor obj's underlying member method code with example usage: obj.predict(X, session, run_kwargs) and returns: op