class_docstr: Tests for SkLearnMutualInformationStatsFn.
code: def test_mi_regression_numeric_label_small_sample(self):
      label_array = pa.array([[0], [0]])
  
      # Make sure the features are not all unique. Otherwise the column will be
      # dropped.
      feat_array = pa.array([["Red"], ["Red"]])
      batch = pa.RecordBatch.from_arrays(
          [label_array, feat_array], ["label_key", "feature"]
      )
  
      schema = text_format.Parse(
          """
          feature {
            name: "label_key"
            type: INT
            int_domain {
              is_categorical: false
            }
            shape {
              dim {
                size: 1
              }
            }
          }
          feature {
            name: "feature"
            type: BYTES
            shape {
              dim {
                size: 1
              }
            }
          }
          """,
          schema_pb2.Schema(),
      )
  
      # Since the label is numeric, no mutual information is calculated.
      expected = statistics_pb2.DatasetFeatureStatistics()
      self._assert_mi_output_equal(
          batch, expected, schema, types.FeaturePath(["label_key"])
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import absltest
  import numpy
  import pyarrow
  from tensorflow_data_validation import types
  from tensorflow_data_validation.statistics.generators import sklearn_mutual_information
  from google.protobuf import text_format
  from tensorflow.python.util.protobuf import compare
  from tensorflow_metadata.proto.v0 import schema_pb2
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 8 for calling the SkLearnMutualInformationTest obj's underlying member method code with example usage: obj.test_mi_regression_numeric_label_small_sample() without return types