class_docstr: Transformer that performs regression to build relationship between a
  target series and the rest of series, and returns regression residual
  series.
  
  Parameters
  ----------
  regressor: object
      Regressor to be used. Same as a scikit-learn regressor, it should
      minimally have `fit` and `predict` methods.
  target: str, optional
      Name of the column to be regarded as target variable.
code: def _fit_core(self, df: pd.DataFrame) -> None:
      if self.target not in df.columns:
          raise RuntimeError(
              "Cannot find target series {} in input dataframe.".format(
                  self.target
              )
          )
      self._target = self.target
      self._features = [
          col for col in df.columns if col != self._target
      ]
      if df.dropna().empty:
          raise RuntimeError(
              "Valid values are not enough for training."
          )
      self.regressor.fit(
          df.dropna().loc[:, self._features],
          df.dropna().loc[:, self._target],
      )
  
imports: from typing import Any, Callable, Dict, Optional, Tuple, Union
  import pandas
  from sklearn.decomposition import PCA
  from .._transformer_base import _NonTrainableMultivariateTransformer, _TrainableMultivariateTransformer
label_desc: Use image node_id 3 for calling the RegressionResidual obj's underlying member method code with example usage: obj._fit_core(df) without return types