code: def test_imputer_float(self):
      X = make_tensor_value_info("X", TensorProto.FLOAT, [None, None])
      Y = make_tensor_value_info("Y", TensorProto.FLOAT, [None, None])
      node1 = make_node(
          "Imputer",
          ["X"],
          ["Y"],
          domain="ai.onnx.ml",
          imputed_value_floats=np.array([0], dtype=np.float32),
          replaced_value_float=np.nan,
      )
      graph = make_graph([node1], "ml", [X], [Y])
      onx = make_model_gen_version(graph, opset_imports=OPSETS)
      check_model(onx)
      x = np.array([[0, 1, np.nan, 3]], dtype=np.float32).T
      expected = np.array([[0, 1, 0, 3]], dtype=np.float32).T
      self._check_ort(onx, {"X": x})
      sess = ReferenceEvaluator(onx)
      got = sess.run(None, {"X": x})[0]
      assert_allclose(expected, got)
  
imports: import unittest
  from functools import wraps
  from os import getenv
  import numpy
  from numpy.testing import assert_allclose
  from parameterized import parameterized
  from onnx import ONNX_ML, TensorProto, TypeProto, ValueInfoProto
  from onnx.checker import check_model
  from onnx.defs import onnx_opset_version
  from onnx.helper import make_graph, make_model_gen_version, make_node, make_opsetid, make_tensor, make_tensor_value_info
  from onnx.reference import ReferenceEvaluator
label_desc: Use image node_id 7 for calling the TestReferenceEvaluatorAiOnnxMl obj's underlying member method code with example usage: obj.test_imputer_float() without return types