code: def test_recommend_non_numeric_primitives(make_es):
      ecom_es_customers = EntitySet()
      ecom_es_customers.add_dataframe(make_es["customers"])
      valid_primitives = [
          "day",
          "num_characters",
          "natural_logarithm",
          "sine",
      ]
      actual_recommendations = _recommend_non_numeric_primitives(
          ecom_es_customers,
          "customers",
          valid_primitives,
      )
      expected_recommendations = set(
          [
              "day",
              "num_characters",
          ],
      )
      assert expected_recommendations == actual_recommendations
  
imports: import logging
  import pandas
  import pytest
  from woodwork.logical_types import NaturalLanguage
  from woodwork.table_schema import ColumnSchema
  from featuretools import EntitySet
  from featuretools.primitives import Day, TransformPrimitive
  from featuretools.utils.recommend_primitives import DEFAULT_EXCLUDED_PRIMITIVES, TIME_SERIES_PRIMITIVES, _recommend_non_numeric_primitives, _recommend_skew_numeric_primitives, get_recommended_primitives
label_desc: Use image node_id 9 for calling a global function with example usage: test_recommend_non_numeric_primitives(make_es) without return types