class_docstr: Represents an immutable set of features to be calculated for a single dataframe, and their
  dependencies.
class_docstr_tok: ["Represents","an","immutable","set","of","features","to","be","calculated","for","a","single","dataframe",",","and","their","dependencies","."]
docstr: Build the feature trie by adding the target features and their dependencies recursively.
docstr_tok: ["Build","the","feature","trie","by","adding","the","target","features","and","their","dependencies","recursively","."]
code: def _build_feature_trie(self):
      """
      Build the feature trie by adding the target features and their dependencies recursively.
      """
      feature_trie = Trie(
          default=lambda: (False, set(), set()),
          path_constructor=RelationshipPath,
      )
  
      for f in self.target_features:
          self._add_feature_to_trie(
              feature_trie, f, self.approximate_feature_trie
          )
  
      return feature_trie
  
file_path: featuretools/featuretools/computational_backends/feature_set.py
imports: import itertools
  import logging
  from collections import defaultdict
  from featuretools.entityset.relationship import RelationshipPath
  from featuretools.feature_base import AggregationFeature, FeatureOutputSlice, GroupByTransformFeature, TransformFeature
  from featuretools.utils import Trie
label_desc: Use image node_id 3 for calling the FeatureSet obj's underlying member method code with example usage: obj._build_feature_trie() and returns: feature_trie