docstr: Parameters
  ----------
  raw_text, uncleaned text for parsing out features
  
  Returns
  -------
  csr_matrix, feature matrix
docstr_tok: ["Parameters","--","--","--","--","--","raw_text",",","uncleaned","text","for","parsing","out","features","Returns","--","--","--","-","csr_matrix",",","feature","matrix"]
code: def feats_from_doc(self, raw_text):
      """
      Parameters
      ----------
      raw_text, uncleaned text for parsing out features
  
      Returns
      -------
      csr_matrix, feature matrix
      """
      parsed_text = self._nlp(self._clean_function(raw_text))
      X_factory = CSRMatrixFactory()
      X_factory.set_last_col_idx(self._term_idx_store.getnumvals() - 1)
      term_freq = self._get_features_from_parsed_text(
          parsed_text, self._term_idx_store
      )
      self._register_document_features_with_X_factory(
          X_factory, 0, term_freq
      )
      return X_factory.get_csr_matrix()
  
imports: import string
  from collections import Counter
  import numpy
  import pandas
  from scattertext.CSRMatrixTools import CSRMatrixFactory
  from scattertext.TermDocMatrix import TermDocMatrix
  from scattertext.features.FeatsFromSpacyDoc import FeatsFromSpacyDoc
  from scattertext.indexstore.IndexStore import IndexStore
label_desc: Use image node_id 2 for calling the FeatsFromDoc obj's underlying member method code with example usage: obj.feats_from_doc(raw_text) and returns: X_factory