code: def clear(self, train=False, split=0):
          
          # Clear Features for the candidates in the split passed in.
          logger.info(f"Clearing Features (split {split})")
  
          sub_query = (
              self.session.query(Candidate.id).filter(Candidate.split == split).subquery()
          )
          query = self.session.query(Feature).filter(Feature.candidate_id.in_(sub_query))
          query.delete(synchronize_session="fetch")
  
          # Delete all old annotation keys
          if train:
              logger.debug(f"Clearing all FeatureKeys from {self.candidate_classes}...")
              drop_all_keys(self.session, FeatureKey, self.candidate_classes)
docs: Delete Features of each class from the database.
  
          :param train: Whether or not to clear the FeatureKeys
          :type train: bool
          :param split: Which split of candidates to clear features from.
          :type split: int