class_docstr: Display Partial Dependence Plots (PDP) with Individual Conditional Expectation (ICE)
  
  The visualizations have two modes:
  - regular PDP + ICE plots - this is the default mode of operation
  - two-way PDP plots - this mode can be selected via passing two `features` and setting `two_way = True`
  
  ICE plots complement PDP by showing the relationship between a feature and the model's output for each individual instance in the dataset.
  ICE lines (blue) can be overlaid on PDPs (red) to provide a more detailed view of how the model behaves for specific instances.
  
  Parameters
  ----------
  features: Union[str, List[str]]
      feature to display on the plots
  two_way: bool, default = False
      render two-way PDP; this mode works only when two `features` are specified
  target: Optional[Any], default = None
      In a multiclass setting, specifies the class for which the PDPs should be computed.
      Ignored in binary classification or classical regression settings
  namespace: Optional[str], default = None
      namespace to use; can be nested like `ns_a.ns_b.ns_c`
  fig_args: Optional[Dict[str, Any]] = None,
      kwargs to pass into chart figure
  headers: bool, default = False
      if `True` then render headers
  sample: Union[None, int, float], default = None
      sample size; if `int`, then row number is used;
      `float` must be between 0.0 and 1.0 and represents fraction of dataset to sample;
      `None` means no sampling
      See also :func:`autogluon.eda.analysis.dataset.Sampler`
  kwargs
class_docstr_tok: ["Display","Partial","Dependence","Plots","(","PDP",")","with","Individual","Conditional","Expectation","(","ICE",")","The","visualizations","have","two","modes",":","-","regular","PDP","+","ICE","plots","-","this","is","the","default","mode","of","operation","-","two-way","PDP","plots","-","this","mode","can","be","selected","via","passing","two","`","features","`","and","setting","`","two_way","=","True","`","ICE","plots","complement","PDP","by","showing","the","relationship","between","a","feature","and","the","model","'s","output","for","each","individual","instance","in","the","dataset",".","ICE","lines","(","blue",")","can","be","overlaid","on","PDPs","(","red",")","to","provide","a","more","detailed","view","of","how","the","model","behaves","for","specific","instances",".","Parameters","--","--","--","--","--","features",":","Union","[","str",",","List","[","str","]","]","feature","to","display","on","the","plots","two_way",":","bool",",","default","=","False","render","two-way","PDP",";","this","mode","works","only","when","two","`","features","`","are","specified","target",":","Optional","[","Any","]",",","default","=","None","In","a","multiclass","setting",",","specifies","the","class","for","which","the","PDPs","should","be","computed",".","Ignored","in","binary","classification","or","classical","regression","settings","namespace",":","Optional","[","str","]",",","default","=","None","namespace","to","use",";","can","be","nested","like","`","ns_a.ns_b.ns_c","`","fig_args",":","Optional","[","Dict","[","str",",","Any","]","]","=","None",",","kwargs","to","pass","into","chart","figure","headers",":","bool",",","default","=","False","if","`","True","`","then","render","headers","sample",":","Union","[","None",",","int",",","float","]",",","default","=","None","sample","size",";","if","`","int","`",",","then","row","number","is","used",";","`","float","`","must","be","between","0.0","and","1.0","and","represents","fraction","of","dataset","to","sample",";","`","None","`","means","no","sampling","See","also",":","func",":","`","autogluon.eda.analysis.dataset.Sampler","`","kwargs"]
code: def __init__(
      self,
      features: Union[str, List[str]],
      two_way: bool = False,
      target: Optional[Any] = None,
      namespace: Optional[str] = None,
      fig_args: Optional[Dict[str, Dict[str, Any]]] = None,
      sample: Optional[Union[float, int]] = 300,
      headers: bool = False,
      **kwargs,
  ) -> None:
      super().__init__(namespace, **kwargs)
  
      if type(features) is not list:
          features = [features]  # type: ignore
      self.features: list = features
  
      self.target = target
      self.fig_args = fig_args
      self.sample = sample
      self.headers = headers
      self.two_way = two_way
  
      if two_way:
          assert (
              len(self.features) == 2
          ), "`two_way` can only be used if only 2 `features` are passed"
  
imports: from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple, Type, Union
  import matplotlib.pyplot
  import numpy
  import pandas
  import seaborn
  from scipy import stats
  from scipy.cluster import hierarchy
  from sklearn.inspection import PartialDependenceDisplay
  from autogluon.common.features.types import R_BOOL, R_CATEGORY, R_DATETIME, R_FLOAT, R_INT, R_OBJECT
  from ..state import AnalysisState
  from .base import AbstractVisualization
  from .jupyter import JupyterMixin
label_desc: Use image node_id 1 to create a new PDPInteractions object from inherited base classes: AbstractVisualization, JupyterMixin with example: obj = PDPInteractions(features, two_way, target, namespace, fig_args, sample, headers)