docstr: :param relief_object:           Must be an object that implements the standard sklearn fit function, and after fit, has attribute feature_importances_
                                  that can be accessed. Scores must be a 1D np.ndarray of length # of features. The fit function must also be able to
                                  take in an optional 1D np.ndarray 'weights' parameter of length num_features.
  :param num_feature_subset:      Number of feature subsets generated at random
  :param size_feature_subset:     Number of features in each subset. Cannot exceed number of features.
  :param random_state:            random seed
docstr_tok: [":","param","relief_object",":","Must","be","an","object","that","implements","the","standard","sklearn","fit","function",",","and","after","fit",",","has","attribute","feature_importances_","that","can","be","accessed",".","Scores","must","be","a","1D","np.ndarray","of","length","#","of","features",".","The","fit","function","must","also","be","able","to","take","in","an","optional","1D","np.ndarray","'weights","'","parameter","of","length","num_features",".",":","param","num_feature_subset",":","Number","of","feature","subsets","generated","at","random",":","param","size_feature_subset",":","Number","of","features","in","each","subset",".","Can","not","exceed","number","of","features",".",":","param","random_state",":","random","seed"]
code: def __init__(
      self,
      relief_object,
      num_feature_subset=40,
      size_feature_subset=5,
      random_state=None,
  ):
      """
      :param relief_object:           Must be an object that implements the standard sklearn fit function, and after fit, has attribute feature_importances_
                                      that can be accessed. Scores must be a 1D np.ndarray of length # of features. The fit function must also be able to
                                      take in an optional 1D np.ndarray 'weights' parameter of length num_features.
      :param num_feature_subset:      Number of feature subsets generated at random
      :param size_feature_subset:     Number of features in each subset. Cannot exceed number of features.
      :param random_state:            random seed
      """
  
      if (
          not self.check_is_int(num_feature_subset)
          or num_feature_subset <= 0
      ):
          raise Exception(
              "num_feature_subset must be a positive integer"
          )
  
      if (
          not self.check_is_int(size_feature_subset)
          or size_feature_subset <= 0
      ):
          raise Exception(
              "size_feature_subset must be a positive integer"
          )
  
      if random_state != None and not self.check_is_int(random_state):
          raise Exception("random_state must be None or integer")
  
      self.relief_object = relief_object
      self.num_feature_subset = num_feature_subset
      self.size_feature_subset = size_feature_subset
      self.random_state = random_state
      self.rank_absolute = self.relief_object.rank_absolute
  
file_path: scikit-rebate/skrebate/vls.py
imports: from sklearn.base import BaseEstimator
  import copy
  import random
  import numpy
label_desc: Use image node_id 1 to create a new VLS object from inherited base classes: BaseEstimator with example: obj = VLS(relief_object, num_feature_subset, size_feature_subset, random_state)