class_docstr: Calculates the values of a set of features for given instance ids.
docstr: Args:
      feature_set (FeatureSet): The features to calculate values for.
  
      time_last (pd.Timestamp, optional): Last allowed time. Data from exactly this
          time not allowed.
  
      training_window (Timedelta, optional): Window defining how much time before the cutoff time data
          can be used when calculating features. If None, all data before cutoff time is used.
  
      precalculated_features (Trie[RelationshipPath -> pd.DataFrame]):
          Maps RelationshipPaths to dataframes of precalculated_features
docstr_tok: ["Args",":","feature_set","(","FeatureSet",")",":","The","features","to","calculate","values","for",".","time_last","(","pd.Timestamp",",","optional",")",":","Last","allowed","time",".","Data","from","exactly","this","time","not","allowed",".","training_window","(","Timedelta",",","optional",")",":","Window","defining","how","much","time","before","the","cutoff","time","data","can","be","used","when","calculating","features",".","If","None",",","all","data","before","cutoff","time","is","used",".","precalculated_features","(","Trie","[","RelationshipPath","-",">","pd.DataFrame","]",")",":","Maps","RelationshipPaths","to","dataframes","of","precalculated_features"]
code: def __init__(
      self,
      entityset,
      feature_set,
      time_last=None,
      training_window=None,
      precalculated_features=None,
  ):
      """
      Args:
          feature_set (FeatureSet): The features to calculate values for.
  
          time_last (pd.Timestamp, optional): Last allowed time. Data from exactly this
              time not allowed.
  
          training_window (Timedelta, optional): Window defining how much time before the cutoff time data
              can be used when calculating features. If None, all data before cutoff time is used.
  
          precalculated_features (Trie[RelationshipPath -> pd.DataFrame]):
              Maps RelationshipPaths to dataframes of precalculated_features
  
      """
      self.entityset = entityset
      self.feature_set = feature_set
      self.training_window = training_window
  
      if time_last is None:
          time_last = datetime.now()
  
      self.time_last = time_last
  
      if precalculated_features is None:
          precalculated_features = Trie(
              path_constructor=RelationshipPath
          )
  
      self.precalculated_features = precalculated_features
  
      # total number of features (including dependencies) to be calculate
      self.num_features = sum(
          len(features1) + len(features2)
          for _, (
              _,
              features1,
              features2,
          ) in self.feature_set.feature_trie
      )
  
imports: from datetime import datetime
  from functools import partial
  import numpy
  import pandas
  import pandas.api.types
  from featuretools.entityset.relationship import RelationshipPath
  from featuretools.exceptions import UnknownFeature
  from featuretools.feature_base import AggregationFeature, DirectFeature, GroupByTransformFeature, IdentityFeature, TransformFeature
  from featuretools.utils import Trie
  from featuretools.utils.gen_utils import Library, get_relationship_column_id, import_or_none, is_instance
label_desc: Use image node_id 1 to create a new FeatureSetCalculator object from inherited base classes: object with example: obj = FeatureSetCalculator(entityset, feature_set, time_last, training_window, precalculated_features)