code: def select_features(self, *args, **kwargs):
          
          if not args:
              raise ValueError("Field list cannot be empty.")
          # generate selected set from args
          augment = kwargs.get('add', False)
          fields = _render_field_set(args)
          self._assert_ml_fields_valid(*fields)
          return _batch_change_roles(self, fields, FieldRole.FEATURE, augment)
docs: Select one or more fields as feature fields.
  
          :rtype: DataFrame