class_docstr: The ArbitraryOutlierCapper() caps the maximum or minimum values of a variable
  at an arbitrary value indicated by the user.
  
  You must provide the maximum or minimum values that will be used to cap each
  variable in a dictionary containing the features as keys and the capping values as
  values.
  
  More details in the :ref:`User Guide <arbitrary_capper>`.
  
  Parameters
  ----------
  max_capping_dict: dictionary, default=None
      Dictionary containing the user specified capping values for the right tail of
      the distribution of each variable to cap (maximum values).
  
  min_capping_dict: dictionary, default=None
      Dictionary containing user specified capping values for the eft tail of the
      distribution of each variable to cap (minimum values).
  
  {missing_values}
  
  Attributes
  ----------
  {right_tail_caps_}
  
  {left_tail_caps_}
  
  {variables_}
  
  {feature_names_in_}
  
  {n_features_in_}
  
  Methods
  -------
  
  {fit}
  
  {fit_transform}
  
  transform:
      Cap the variables.
code: def __init__(
      self,
      max_capping_dict: Optional[dict] = None,
      min_capping_dict: Optional[dict] = None,
      missing_values: str = "raise",
  ) -> None:
      if not max_capping_dict and not min_capping_dict:
          raise ValueError(
              "Please provide at least 1 dictionary with the capping values."
          )
  
      if missing_values not in ["raise", "ignore"]:
          raise ValueError(
              "missing_values takes only values 'raise' or 'ignore'"
          )
  
      _check_numerical_dict(max_capping_dict)
      _check_numerical_dict(min_capping_dict)
  
      self.max_capping_dict = max_capping_dict
      self.min_capping_dict = min_capping_dict
      self.missing_values = missing_values
  
file_path: feature_engine/feature_engine/outliers/artbitrary.py
imports: from typing import Optional
  import pandas
  from feature_engine._check_input_parameters.check_input_dictionary import _check_numerical_dict
  from feature_engine._docstrings.fit_attributes import _feature_names_in_docstring, _n_features_in_docstring, _variables_attribute_docstring
  from feature_engine._docstrings.init_parameters import _missing_values_docstring
  from feature_engine._docstrings.methods import _fit_not_learn_docstring, _fit_transform_docstring
  from feature_engine._docstrings.substitute import Substitution
  from feature_engine._variable_handling.variable_type_selection import _find_or_check_numerical_variables
  from feature_engine.dataframe_checks import _check_contains_inf, _check_contains_na, check_X
  from feature_engine.outliers.base_outlier import BaseOutlier
  from feature_engine.tags import _return_tags
label_desc: Use image node_id 1 to create a new ArbitraryOutlierCapper object from inherited base classes: BaseOutlier with example: obj = ArbitraryOutlierCapper(max_capping_dict, min_capping_dict, missing_values)