code: def validate_feature_columns(data_column_names, feature_column_names):
      if len(feature_column_names) == 0:
          raise RuntimeError(
              "None of the selected features have valid type."
          )
  
      set_difference = set(feature_column_names) - set(
          data_column_names
      )
  
      if len(set_difference) > 0:
          err = "Feature(s) "
          for s in range(len(set_difference) - 1):
              err = err + str(list(set_difference)[s]) + ", "
          err = (
              err
              + str(list(set_difference).pop())
              + " are missing from the dataset."
          )
          raise ValueError(err)
  
file_path: turicreate/src/python/turicreate/toolkits/_feature_engineering/_internal_utils.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import copy
  from turicreate.util import _raise_error_if_not_of_type
  import logging
  import os
  from six.moves.urllib.request import urlretrieve
  import zipfile
label_desc: Use image node_id 4 for calling a global function with example usage: validate_feature_columns(data_column_names, feature_column_names) without return types