code: def build(X_df=None, y_df=None):
      
      if X_df is None:
          X_df, _ = load_data()
      if y_df is None:
          _, y_df = load_data()
  
      features = get_contrib_features()
      mapper_X = ballet.feature.make_mapper(features)
      X = mapper_X.fit_transform(X_df)
  
      encoder_y = get_target_encoder()
      y = encoder_y.fit_transform(y_df)
  
      return {
          'X_df': X_df,
          'features': features,
          'mapper_X': mapper_X,
          'X': X,
          'y_df': y_df,
          'encoder_y': encoder_y,
          'y': y,
      }
docs: Build features and target
  
      Args:
          X_df (DataFrame): raw variables
          y_df (DataFrame): raw target
  
      Returns:
          dict with keys X_df, features, mapper_X, X, y_df, encoder_y, y