class_docstr: Feature selection using data-mined expert knowledge.
  Based on the SURF algorithm as introduced in:
  Moore, Jason et al. Multiple Threshold Spatially Uniform ReliefF
  for the Genetic Analysis of Complex Human Diseases.
docstr: Sets up ReliefF to perform feature selection.
  Parameters
  ----------
  n_features_to_select: int (default: 10)
      the number of top features (according to the relieff score) to
      retain after feature selection is applied.
  discrete_threshold: int (default: 10)
      Value used to determine if a feature is discrete or continuous.
      If the number of unique levels in a feature is > discrete_threshold, then it is
      considered continuous, or discrete otherwise.
  verbose: bool (default: False)
      If True, output timing of distance array and scoring
  n_jobs: int (default: 1)
      The number of cores to dedicate to computing the scores with joblib.
      Assigning this parameter to -1 will dedicate as many cores as are available on your system.
      We recommend setting this parameter to -1 to speed up the algorithm as much as possible.
  weight_final_scores: bool (default: False)
      Whether to multiply given weights (in fit) to final scores. Only applicable if weights are given.
  rank_absolute: bool (default: False)
      Whether to give top features as by ranking features by absolute value.
code: def __init__(
      self,
      n_features_to_select=10,
      discrete_threshold=10,
      verbose=False,
      n_jobs=1,
      weight_final_scores=False,
      rank_absolute=False,
  ):
      """Sets up ReliefF to perform feature selection.
      Parameters
      ----------
      n_features_to_select: int (default: 10)
          the number of top features (according to the relieff score) to
          retain after feature selection is applied.
      discrete_threshold: int (default: 10)
          Value used to determine if a feature is discrete or continuous.
          If the number of unique levels in a feature is > discrete_threshold, then it is
          considered continuous, or discrete otherwise.
      verbose: bool (default: False)
          If True, output timing of distance array and scoring
      n_jobs: int (default: 1)
          The number of cores to dedicate to computing the scores with joblib.
          Assigning this parameter to -1 will dedicate as many cores as are available on your system.
          We recommend setting this parameter to -1 to speed up the algorithm as much as possible.
      weight_final_scores: bool (default: False)
          Whether to multiply given weights (in fit) to final scores. Only applicable if weights are given.
      rank_absolute: bool (default: False)
          Whether to give top features as by ranking features by absolute value.
      """
      self.n_features_to_select = n_features_to_select
      self.discrete_threshold = discrete_threshold
      self.verbose = verbose
      self.n_jobs = n_jobs
      self.weight_final_scores = weight_final_scores
      self.rank_absolute = rank_absolute
  
file_path: scikit-rebate/skrebate/surf.py
imports: from __future__ import print_function
  import numpy
  from joblib import Parallel, delayed
  from .relieff import ReliefF
  from .scoring_utils import SURF_compute_scores
label_desc: Use image node_id 1 to create a new SURF object from inherited base classes: ReliefF with example: obj = SURF(n_features_to_select, discrete_threshold, verbose, n_jobs, weight_final_scores, rank_absolute)