class_docstr: Class for applying feature selection operations on tabular data 
class_docstr_tok: ["Class","for","applying","feature","selection","operations","on","tabular","data"]
docstr: Method for fit feature selection
  
  :param input_data: data with features, target and ids to process
  :return operation: trained operation (optional output)
docstr_tok: ["Method","for","fit","feature","selection",":","param","input_data",":","data","with","features",",","target","and","ids","to","process",":","return","operation",":","trained","operation","(","optional","output",")"]
code: def fit(self, input_data: InputData):
      """Method for fit feature selection
  
      :param input_data: data with features, target and ids to process
      :return operation: trained operation (optional output)
      """
      features = input_data.features
      target = input_data.target
  
      # Define number of columns in the features table
      if len(features.shape) == 1:
          self.features_columns_number = 1
      else:
          self.features_columns_number = features.shape[1]
  
      if self.features_columns_number > 1:
          if self._is_input_data_one_dimensional(features):
              self.is_not_fitted = True
              return self.operation
          try:
              self.operation.fit(features, target)
          except ValueError:
              # For time series forecasting not available multi-targets
              self.operation.fit(features, target[:, 0])
      else:
          self.is_not_fitted = True
      return self.operation
  
imports: from typing import Optional
  import numpy
  from sklearn.feature_selection import RFE
  from sklearn.linear_model import LinearRegression, LogisticRegression
  from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.operations.evaluation.operation_implementations.implementation_interfaces import DataOperationImplementation
  from fedot.core.operations.operation_parameters import OperationParameters
label_desc: Use image node_id 2 for calling the FeatureSelectionImplementation obj's underlying member method code with example usage: obj.fit(input_data) and returns: self, self