code: def test_missing_outputs_drop_rows():
      config = {
          INPUT_FEATURES: [category_feature()],
          OUTPUT_FEATURES: [category_feature(output_feature=True)],
          DEFAULTS: {
              CATEGORY: {
                  PREPROCESSING: {
                      MISSING_VALUE_STRATEGY: FILL_WITH_MODE
                  }
              }
          },
      }
  
      merged_config = ModelConfig.from_dict(config).to_dict()
  
      global_preprocessing = merged_config[DEFAULTS]
      input_feature_config = merged_config[INPUT_FEATURES][0]
      output_feature_config = merged_config[OUTPUT_FEATURES][0]
  
      assert (
          output_feature_config[PREPROCESSING][MISSING_VALUE_STRATEGY]
          == DROP_ROW
      )
  
      assert (
          global_preprocessing[input_feature_config[TYPE]][
              PREPROCESSING
          ][MISSING_VALUE_STRATEGY]
          == FILL_WITH_MODE
      )
      feature_preprocessing = merge_dict(
          global_preprocessing[output_feature_config[TYPE]][
              PREPROCESSING
          ],
          output_feature_config[PREPROCESSING],
      )
      assert feature_preprocessing[MISSING_VALUE_STRATEGY] == DROP_ROW
  
file_path: ludwig/tests/ludwig/utils/test_defaults.py
imports: import copy
  import pytest
  from ludwig.constants import CATEGORY, COMBINER, DECODER, DEFAULTS, DEPENDENCIES, DROP_ROW, EARLY_STOP, ENCODER, EXECUTOR, FILL_WITH_MODE, HYPEROPT, INPUT_FEATURES, LOSS, MISSING_VALUE_STRATEGY, MODEL_ECD, MODEL_TYPE, OUTPUT_FEATURES, PREPROCESSING, REDUCE_DEPENDENCIES, REDUCE_INPUT, SCHEDULER, SUM, TIED, TOP_K, TRAINER, TYPE
  from ludwig.schema.model_config import ModelConfig
  from ludwig.schema.trainer import ECDTrainerConfig
  from ludwig.utils.backward_compatibility import upgrade_config_dict_to_latest_version
  from ludwig.utils.misc_utils import merge_dict, set_default_values
  from tests.integration_tests.utils import binary_feature, category_feature, number_feature, sequence_feature, text_feature, vector_feature
label_desc: Use image node_id 2 for calling a global function with example usage: test_missing_outputs_drop_rows() without return types