class_docstr: A common base class for Independent and Partition.
      
class_docstr_tok: ["A","common","base","class","for","Independent","and","Partition","."]
docstr: Write a Tabular masker to a file stream.
          
docstr_tok: ["Write","a","Tabular","masker","to","a","file","stream","."]
code: def save(self, out_file):
      """Write a Tabular masker to a file stream."""
      super().save(out_file)
  
      # Increment the version number when the encoding changes!
      with Serializer(out_file, "shap.maskers.Tabular", version=0) as s:
          # save the data in the format it was given to us
          if self.output_dataframe:
              s.save(
                  "data",
                  pd.DataFrame(self.data, columns=self.feature_names),
              )
          elif getattr(self, "mean", None) is not None:
              s.save("data", (self.mean, self.cov))
          else:
              s.save("data", self.data)
  
          s.save("max_samples", self.max_samples)
          s.save("clustering", self.clustering)
  
imports: import logging
  import numpy
  import pandas
  from numba import njit
  from ..None import utils
  from .._serializable import Deserializer, Serializer
  from ..utils import MaskedModel
  from ..utils._exceptions import DimensionError, InvalidClusteringError
  from ._masker import Masker
label_desc: Use image node_id 4 for calling the Tabular obj's underlying member method code with example usage: obj.save(out_file) without return types