Predict for X.

        For dask inputs, a dask array or dataframe is returned. For other
        inputs (NumPy array, pandas dataframe, scipy sparse matrix), the
        regular return value is returned.

        Parameters
        ----------
        X : array-like

        Returns
        -------
        y : array-like

def predict(self, X):
        """Predict for X.

        For dask inputs, a dask array or dataframe is returned. For other
        inputs (NumPy array, pandas dataframe, scipy sparse matrix), the
        regular return value is returned.

        Parameters
        ----------
        X : array-like

        Returns
        -------
        y : array-like
        """
        self._check_method("predict")
        X = self._check_array(X)

        if isinstance(X, da.Array):
            result = X.map_blocks(
                _predict, dtype="int", estimator=self._postfit_estimator, drop_axis=1
            )
            return result

        elif isinstance(X, dd._Frame):
            return X.map_partitions(
                _predict, estimator=self._postfit_estimator, meta=np.array([1])
            )

        else:
            return _predict(X, estimator=self._postfit_estimator)