code: def test_main(self):
      term_doc_mat = get_hamlet_term_doc_matrix()
      pmi_filter = TermDocMatrixFilter(
          pmi_threshold_coef=4, minimum_term_freq=3
      )
      filtered_term_doc_mat = pmi_filter.filter(term_doc_mat)
      self.assertLessEqual(
          len(filtered_term_doc_mat.get_term_freq_df()),
          len(term_doc_mat.get_term_freq_df()),
      )
  
file_path: scattertext/scattertext/test/test_PMIFiltering.py
imports: from unittest import TestCase
  import pandas
  from scattertext import TermDocMatrixFilter
  from scattertext import TermDocMatrixFromPandas
  from scattertext import whitespace_nlp
  from scattertext.TermDocMatrixFilter import AtLeastOneCategoryHasNoTermsException, filter_bigrams_by_pmis, unigrams_that_only_occur_in_one_bigram, filter_out_unigrams_that_only_occur_in_one_bigram
  from scattertext.test.test_TermDocMat import get_hamlet_term_doc_matrix
label_desc: Use image node_id 1 for calling the TestPMIFiltering obj's underlying member method code with example usage: obj.test_main() without return types