code: def test_edge_umap(self):
      g = graphistry.edges(triangleEdges, "src", "dst")
      use_cols = [edge_ints, edge_floats, edge_numeric]
      targets = [edge_target]
      self._test_umap(
          g,
          use_cols=use_cols,
          targets=targets,
          name="Edge UMAP with `(target, use_col)=`",
          kind="edges",
          df=triangleEdges,
      )
  
imports: from xml.sax.handler import feature_external_ges
  import pytest
  import unittest
  import warnings
  import graphistry
  import os
  import logging
  import numpy
  import pandas
  from graphistry import Plottable
  from graphistry.feature_utils import remove_internal_namespace_if_present
  from graphistry.tests.test_feature_utils import ndf_reddit, text_cols_reddit, meta_cols_reddit, good_cols_reddit, single_target_reddit, double_target_reddit, edge_df, edge_df2, edge2_target_df, model_avg_name, lazy_import_has_min_dependancy, check_allclose_fit_transform_on_same_data
  from graphistry.umap_utils import lazy_umap_import_has_dependancy, lazy_cuml_import_has_dependancy, lazy_cudf_import_has_dependancy
label_desc: Use image node_id 8 for calling the TestUMAPMethods obj's underlying member method code with example usage: obj.test_edge_umap() without return types