class_docstr: Converts featuresets and labeled featuresets to ARFF-formatted
  strings, appropriate for input into Weka.
  
  Features and classes can be specified manually in the constructor, or may
  be determined from data using ``from_train``.
docstr: :param labels: A list of all class labels that can be generated.
  :param features: A list of feature specifications, where
      each feature specification is a tuple (fname, ftype);
      and ftype is an ARFF type string such as NUMERIC or
      STRING.
docstr_tok: [":","param","labels",":","A","list","of","all","class","labels","that","can","be","generated",".",":","param","features",":","A","list","of","feature","specifications",",","where","each","feature","specification","is","a","tuple","(","fname",",","ftype",")",";","and","ftype","is","an","ARFF","type","string","such","as","NUMERIC","or","STRING","."]
code: def __init__(self, labels, features):
      """
      :param labels: A list of all class labels that can be generated.
      :param features: A list of feature specifications, where
          each feature specification is a tuple (fname, ftype);
          and ftype is an ARFF type string such as NUMERIC or
          STRING.
      """
      self._labels = labels
      self._features = features
  
imports: import os
  import re
  import subprocess
  import tempfile
  import time
  import zipfile
  from sys import stdin
  from nltk.classify.api import ClassifierI
  from nltk.internals import config_java, java
  from nltk.probability import DictionaryProbDist
label_desc: Use image node_id 1 to create a new ARFF_Formatter object  with example: obj = ARFF_Formatter(labels, features)