class_docstr: The component performs feature correlation distance analysis using Spearman rank correlation and hierarchical clustering
  for the data passed in `train_data` excluding `label`.
  The near duplicates grouping is automatically suggested given `near_duplicates_threshold`.
  The results can be visualized using :py:class:`~autogluon.eda.visualization.interaction.FeatureDistanceAnalysisVisualization`.
  
  Note: it is recommended to apply :py:class:`~autogluon.eda.analysis.transform.ApplyFeatureGenerator` before the analysis
  to ensure correlations are calculated for categorical variables.
  
  Parameters
  ----------
  near_duplicates_threshold: float, default = 0.01
      defines feature distance to be considered as near duplicates
  parent: Optional[AbstractAnalysis], default = None
      parent Analysis
  children: Optional[List[AbstractAnalysis]], default None
      wrapped analyses; these will receive sampled `args` during `fit` call
  kwargs
  
  Examples
  --------
  >>> import autogluon.eda.analysis as eda
  >>> import autogluon.eda.visualization as viz
  >>> import autogluon.eda.auto as auto
  >>> import pandas as pd
  >>> import numpy as np
  >>>
  >>> df_train = pd.DataFrame(...)
  >>>
  >>> auto.analyze(
  >>>     train_data=df_train, label=target_col,
  >>>     anlz_facets=[
  >>>         eda.transform.ApplyFeatureGenerator(category_to_numbers=True, children=[
  >>>             eda.interaction.FeatureDistanceAnalysis(near_duplicates_threshold=0.7),
  >>>         ])
  >>>     ],
  >>>     viz_facets=[
  >>>         viz.interaction.FeatureDistanceAnalysisVisualization(fig_args=dict(figsize=(12,6))),
  >>>     ]
  >>> )
  
  See Also
  --------
  :py:class:`~autogluon.eda.analysis.transform.ApplyFeatureGenerator`
  :py:class:`~autogluon.eda.visualization.interaction.FeatureDistanceAnalysisVisualization`
  `Removing redundant features <https://github.com/fastai/book_nbs/blob/master/10_tabular.ipynb>`_ section of
      Jeremy Howard's "Deep Learning for Coders with Fastai and PyTorch" book.
class_docstr_tok: ["The","component","performs","feature","correlation","distance","analysis","using","Spearman","rank","correlation","and","hierarchical","clustering","for","the","data","passed","in","`","train_data","`","excluding","`","label","`",".","The","near","duplicates","grouping","is","automatically","suggested","given","`","near_duplicates_threshold","`",".","The","results","can","be","visualized","using",":","py",":","class",":","`","~autogluon.eda.visualization.interaction.FeatureDistanceAnalysisVisualization","`",".","Note",":","it","is","recommended","to","apply",":","py",":","class",":","`","~autogluon.eda.analysis.transform.ApplyFeatureGenerator","`","before","the","analysis","to","ensure","correlations","are","calculated","for","categorical","variables",".","Parameters","--","--","--","--","--","near_duplicates_threshold",":","float",",","default","=","0.01","defines","feature","distance","to","be","considered","as","near","duplicates","parent",":","Optional","[","AbstractAnalysis","]",",","default","=","None","parent","Analysis","children",":","Optional","[","List","[","AbstractAnalysis","]","]",",","default","None","wrapped","analyses",";","these","will","receive","sampled","`","args","`","during","`","fit","`","call","kwargs","Examples","--","--","--","--",">",">",">","import","autogluon.eda.analysis","as","eda",">",">",">","import","autogluon.eda.visualization","as","viz",">",">",">","import","autogluon.eda.auto","as","auto",">",">",">","import","pandas","as","pd",">",">",">","import","numpy","as","np",">",">",">",">",">",">","df_train","=","pd.DataFrame","(","...",")",">",">",">",">",">",">","auto.analyze","(",">",">",">","train_data=df_train",",","label=target_col",",",">",">",">","anlz_facets=","[",">",">",">","eda.transform.ApplyFeatureGenerator","(","category_to_numbers=True",",","children=","[",">",">",">","eda.interaction.FeatureDistanceAnalysis","(","near_duplicates_threshold=0.7",")",",",">",">",">","]",")",">",">",">","]",",",">",">",">","viz_facets=","[",">",">",">","viz.interaction.FeatureDistanceAnalysisVisualization","(","fig_args=dict","(","figsize=","(","12,6",")",")",")",",",">",">",">","]",">",">",">",")","See","Also","--","--","--","--",":","py",":","class",":","`","~autogluon.eda.analysis.transform.ApplyFeatureGenerator","`",":","py",":","class",":","`","~autogluon.eda.visualization.interaction.FeatureDistanceAnalysisVisualization","`","`","Removing","redundant","features","<","https",":","\/\/github.com\/fastai\/book_nbs\/blob\/master\/10_tabular.ipynb",">","`","_","section","of","Jeremy","Howard","'s","``","Deep","Learning","for","Coders","with","Fastai","and","PyTorch","''","book","."]
code: def __init__(
      self,
      near_duplicates_threshold: float = 0.01,
      parent: Optional[AbstractAnalysis] = None,
      children: Optional[List[AbstractAnalysis]] = None,
      **kwargs,
  ) -> None:
      super().__init__(parent, children, **kwargs)
      self.near_duplicates_threshold = near_duplicates_threshold
  
imports: import warnings
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import pandas
  import phik
  from pandas.core.dtypes.common import is_numeric_dtype
  from scipy import stats
  from scipy.cluster import hierarchy
  from scipy.stats import spearmanr
  from ..None import AnalysisState
  from .base import AbstractAnalysis
  from autogluon.common.features.types import R_FLOAT, R_INT
label_desc: Use image node_id 1 to create a new FeatureDistanceAnalysis object from inherited base classes: AbstractAnalysis with example: obj = FeatureDistanceAnalysis(near_duplicates_threshold, parent, children)