class_docstr: This class contains everything needed to run an end-to-end ATM classifier
  pipeline. It is initialized with a set of parameters and trained like a
  normal sklearn model. This class can be pickled and saved to disk, then
  unpickled outside of ATM and used to classify new datasets.
class_docstr_tok: ["This","class","contains","everything","needed","to","run","an","end-to-end","ATM","classifier","pipeline",".","It","is","initialized","with","a","set","of","parameters","and","trained","like","a","normal","sklearn","model",".","This","class","can","be","pickled","and","saved","to","disk",",","then","unpickled","outside","of","ATM","and","used","to","classify","new","datasets","."]
docstr: Parameters:
      method: the short method code (as defined in constants.py) or path
          to method json
      params: parameters passed to the sklearn classifier constructor
      judgment_metric: string that indicates which metric should be
          optimized for.
      class_column: sklearn classifier class
docstr_tok: ["Parameters",":","method",":","the","short","method","code","(","as","defined","in","constants.py",")","or","path","to","method","json","params",":","parameters","passed","to","the","sklearn","classifier","constructor","judgment_metric",":","string","that","indicates","which","metric","should","be","optimized","for",".","class_column",":","sklearn","classifier","class"]
code: def __init__(
      self,
      method,
      params,
      judgment_metric,
      class_column,
      testing_ratio=0.3,
      verbose_metrics=False,
  ):
      """
      Parameters:
          method: the short method code (as defined in constants.py) or path
              to method json
          params: parameters passed to the sklearn classifier constructor
          judgment_metric: string that indicates which metric should be
              optimized for.
          class_column: sklearn classifier class
      """
      # configuration & database
      self.method = method
      self.params = params
      self.judgment_metric = judgment_metric
      self.class_column = class_column
      self.testing_ratio = testing_ratio
      self.verbose_metrics = verbose_metrics
  
      # load the classifier method's class
      path = Method(method).class_path.split(".")
      mod_str, cls_str = ".".join(path[:-1]), path[-1]
      mod = import_module(mod_str)
      self.class_ = getattr(mod, cls_str)
  
      # pipelining
      self.pipeline = None
  
      # persistent random state
      self.random_state = np.random.randint(1e7)
  
imports: from __future__ import absolute_import, division, unicode_literals
  import logging
  import os
  import pickle
  import re
  import time
  from builtins import object
  from collections import defaultdict
  from importlib import import_module
  import numpy
  import pandas
  from sklearn import decomposition
  from sklearn.gaussian_process.kernels import RBF, ConstantKernel, ExpSineSquared, Matern, RationalQuadratic
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import MinMaxScaler, StandardScaler
  from atm.constants import Metrics
  from atm.encoder import DataEncoder
  from atm.method import Method
  from atm.metrics import cross_validate_pipeline, test_pipeline
label_desc: Use image node_id 1 to create a new Model object from inherited base classes: object with example: obj = Model(method, params, judgment_metric, class_column, testing_ratio, verbose_metrics)