class_docstr: `UMAPOutlierDetection` is an outlier detector based on the reconstruction error from UMAP.
  
  If the difference between original and reconstructed data is larger than the `threshold`, the point is
      considered an outlier.
  
  Parameters
  ----------
  n_components : int, default=2
      Number of components of the UMAP model.
  threshold : float | None, default=None
      The threshold used for the decision function.
  variant : Literal["relative", "absolute"], default="relative"
      The variant used for the difference calculation. "relative" means that the difference between original and
      reconstructed data is divided by the sum of the original data.
  n_neighbors : int, default=15
      `n_neighbors` parameter of UMAP model.
  min_dist : float, default=0.1
      `min_dist` parameter of UMAP model.
  metric : str, default="euclidean"
      `metric` parameter of UMAP model
      (see [UMAP documentation](https://umap-learn.readthedocs.io/en/latest/parameters.html#metric) for the full list
      of available metrics and more information).
  random_state : int | None, default=None
      `random_state` parameter of UMAP model.
  
  Attributes
  ----------
  umap_ : UMAP
      The underlying UMAP model.
  offset_ : float
      The offset used for the decision function.
class_docstr_tok: ["`","UMAPOutlierDetection","`","is","an","outlier","detector","based","on","the","reconstruction","error","from","UMAP",".","If","the","difference","between","original","and","reconstructed","data","is","larger","than","the","`","threshold","`",",","the","point","is","considered","an","outlier",".","Parameters","--","--","--","--","--","n_components",":","int",",","default=2","Number","of","components","of","the","UMAP","model",".","threshold",":","float","|","None",",","default=None","The","threshold","used","for","the","decision","function",".","variant",":","Literal","[","``","relative","''",",","``","absolute","''","]",",","default=","''","relative","''","The","variant","used","for","the","difference","calculation",".","``","relative","''","means","that","the","difference","between","original","and","reconstructed","data","is","divided","by","the","sum","of","the","original","data",".","n_neighbors",":","int",",","default=15","`","n_neighbors","`","parameter","of","UMAP","model",".","min_dist",":","float",",","default=0.1","`","min_dist","`","parameter","of","UMAP","model",".","metric",":","str",",","default=","''","euclidean","''","`","metric","`","parameter","of","UMAP","model","(","see","[","UMAP","documentation","]","(","https",":","\/\/umap-learn.readthedocs.io\/en\/latest\/parameters.html","#","metric",")","for","the","full","list","of","available","metrics","and","more","information",")",".","random_state",":","int","|","None",",","default=None","`","random_state","`","parameter","of","UMAP","model",".","Attributes","--","--","--","--","--","umap_",":","UMAP","The","underlying","UMAP","model",".","offset_",":","float","The","offset","used","for","the","decision","function","."]
code: def __init__(
      self,
      n_components=2,
      threshold=None,
      variant="relative",
      n_neighbors=15,
      min_dist=0.1,
      metric="euclidean",
      random_state=None,
  ):
      self.n_components = n_components
      self.threshold = threshold
      self.variant = variant
      self.n_neighbors = n_neighbors
      self.min_dist = min_dist
      self.metric = metric
      self.random_state = random_state
  
file_path: scikit-lego/sklego/decomposition/umap_reconstruction.py
imports: import numpy
  from sklearn.base import BaseEstimator, OutlierMixin
  from sklearn.utils.validation import FLOAT_DTYPES, check_array, check_is_fitted
label_desc: Use image node_id 1 to create a new UMAPOutlierDetection object from inherited base classes: BaseEstimator, OutlierMixin with example: obj = UMAPOutlierDetection(n_components, threshold, variant, n_neighbors, min_dist, metric, random_state)