code: def test_ranking_single_task_dcn(tenrec_data_path):
      args = kwargs_to_cli_ags()
      train_ds, eval_ds = get_datasets(tenrec_data_path)
  
      with tempfile.TemporaryDirectory() as tmp_output_folder:
          args = kwargs_to_cli_ags(
              output_path=tmp_output_folder,
              tasks="click",
              stl_positive_class_weight=3,
              model="dcn",
              dcn_interacted_layer_num=5,
              mlp_layers="64,32",
              embedding_sizes_multiplier=6,
              l2_reg=1e-6,
              embeddings_l2_reg=1e-8,
              dropout=0.05,
              lr=1e-4,
              lr_decay_rate=0.99,
              lr_decay_steps=100,
              train_batch_size=8192,
              eval_batch_size=8192,
              epoch=3,
          )
  
          runner = RankingTrainEvalRunner(
              args, train_ds, train_ds, None, logger=None
          )
  
          current_time = time.time()
  
          metrics = runner.run()
  
          elapsed_time = time.time() - current_time
  
          assert set(metrics.keys()) == set(
              [
                  "loss",
                  "auc",
                  "prauc",
                  "logloss",
                  "regularization_loss",
                  "loss_batch",
              ]
          )
  
          assert metrics["loss"] < 0.7
          assert metrics["logloss"] < 0.7
          assert metrics["auc"] > 0.75
          assert metrics["prauc"] > 0.60
          assert metrics["regularization_loss"] > 0.0
          assert metrics["loss_batch"] < 0.8
  
file_path: Merlin/tests/integration/examples/quick_start/test_ranking.py
imports: import os
  import tempfile
  import time
  import pytest
  from examples.quick_start.scripts.ranking.ranking import RankingTrainEvalRunner
  from merlin.io.dataset import Dataset
label_desc: Use image node_id 6 for calling a global function with example usage: test_ranking_single_task_dcn(tenrec_data_path) without return types