text: # --------------------------------------------------------------------------------------------
  # Copyright (c) Microsoft Corporation. All rights reserved.
  # Licensed under the MIT License.
  # --------------------------------------------------------------------------------------------
  # - Generated by tools/entrypoint_compiler.py: do not edit by hand
  """
  RandomFeatureSelector
  """
  
  __all__ = ["RandomFeatureSelector"]
  
  import numbers
  
  from ....utils.entrypoints import Component
  from ....utils.utils import trace, try_set
  
  
  class RandomFeatureSelector(Component):
      """
      **Description**
          Selects a random subset of features for each trainer in the ensemble
  
      :param features_selection_proportion: The proportion of features to be
          selected. The range is 0.0-1.0.
  
      :param params: Additional arguments sent to compute engine.
  
      """
  
      @trace
      def __init__(
              self,
              features_selection_proportion=0.8,
              **params):
  
          self.features_selection_proportion = features_selection_proportion
          self.kind = 'EnsembleFeatureSelector'
          self.name = 'RandomFeatureSelector'
          self.settings = {}
  
          if features_selection_proportion is not None:
              self.settings['FeaturesSelectionProportion'] = try_set(
                  obj=features_selection_proportion,
                  none_acceptable=True,
                  is_of_type=numbers.Real)
  
          super(
              RandomFeatureSelector,
              self).__init__(
              name=self.name,
              settings=self.settings,
              kind=self.kind)
  