docs: def transform(self, X):
          """Scikit-learn required: Reduces the feature set down to the top `n_features_to_select` features.
  
          Parameters
          ----------
          X: array-like {n_samples, n_features}
              Feature matrix to perform feature selection on
  
          Returns
          -------
          X_reduced: array-like {n_samples, n_features_to_select}
              Reduced feature matrix
  
          """
          if self._num_attributes < self.n_features_to_select:
              raise ValueError('Number of features to select is larger than the number of features in the dataset.')
          
          return X[:, self.top_features_[:self.n_features_to_select]]