code: def check_if_datetime_as_object_feature(X: Series) -> bool:
      type_family = get_type_family_raw(X.dtype)
      # TODO: Check if low numeric numbers, could be categorical encoding!
      # TODO: If low numeric, potentially it is just numeric instead of date
      if X.isnull().all():
          return False
      if type_family != "object":  # TODO: seconds from epoch support
          return False
      try:
          # TODO: pd.Series(['20170204','20170205','20170206']) is incorrectly not detected as datetime_as_object
          #  But we don't want pd.Series(['184','822828','20170206']) to be detected as datetime_as_object
          #  Need some smart logic (check min/max values?, check last 2 values don't go >31?)
          pd.to_numeric(X)
      except:
          try:
              if len(X) > 500:
                  # Sample to speed-up type inference
                  X = X.sample(n=500, random_state=0)
              result = pd.to_datetime(
                  X, errors="coerce", format="mixed"
              )
              if (
                  result.isnull().mean() > 0.8
              ):  # If over 80% of the rows are NaN
                  return False
              return True
          except:
              return False
      else:
          return False
  
file_path: autogluon/common/src/autogluon/common/features/infer_types.py
imports: import logging
  from collections import defaultdict
  from typing import List
  import numpy
  import pandas
  from pandas import DataFrame, Series
label_desc: Use image node_id 10 for calling a global function with example usage: check_if_datetime_as_object_feature(X) and returns: False, False, False, True, False, False