class_docstr: Abstraction of a Lightwood predictor. The ``PredictorInterface`` encompasses how Lightwood interacts with the full ML pipeline. Internally,
  
  The ``PredictorInterface`` class must have several expected functions:
  
  - ``analyze_data``: Peform a statistical analysis on the unprocessed data; this helps inform downstream encoders and mixers on how to treat the data types.
  - ``preprocess``: Apply cleaning functions to each of the columns within the dataset to prepare them for featurization
  - ``split``: Split the input dataset into a train/dev/test set according to your splitter function
  - ``prepare``: Create and, if necessary, train your encoders to create feature representations from each column of your data.
  - ``featurize``: For input, pre-processed data, create feature vectors
  - ``fit``: Train your mixer models to yield predictions from featurized data
  - ``analyze_ensemble``: Evaluate the quality of fit for your mixer models
  - ``adjust``: Incorporate new data to update pre-existing model(s).
  
  For simplification, we offer an end-to-end approach that allows you to input raw data and follow every step of the process until you reach a trained predictor with the ``learn`` function:
  
      - ``learn``: An end-to-end technique specifying how to pre-process, featurize, and train the model(s) of interest. The expected input is raw, untrained data. No explicit output is provided, but the Predictor object will "host" the trained model thus.
  
  You can also use the predictor to now estimate new data:
  
  - ``predict``: Deploys the chosen best model, and evaluates the given data to provide target estimates.
  - ``save``: Saves the Predictor object for further use.
  
  The ``PredictorInterface`` is created via J{ai}son's custom code creation. A problem inherits from this class with pre-populated routines to fill out expected results, given the nature of each problem type.
class_docstr_tok: ["Abstraction","of","a","Lightwood","predictor",".","The","``","PredictorInterface","``","encompasses","how","Lightwood","interacts","with","the","full","ML","pipeline",".","Internally",",","The","``","PredictorInterface","``","class","must","have","several","expected","functions",":","-","``","analyze_data","``",":","Peform","a","statistical","analysis","on","the","unprocessed","data",";","this","helps","inform","downstream","encoders","and","mixers","on","how","to","treat","the","data","types",".","-","``","preprocess","``",":","Apply","cleaning","functions","to","each","of","the","columns","within","the","dataset","to","prepare","them","for","featurization","-","``","split","``",":","Split","the","input","dataset","into","a","train\/dev\/test","set","according","to","your","splitter","function","-","``","prepare","``",":","Create","and",",","if","necessary",",","train","your","encoders","to","create","feature","representations","from","each","column","of","your","data",".","-","``","featurize","``",":","For","input",",","pre-processed","data",",","create","feature","vectors","-","``","fit","``",":","Train","your","mixer","models","to","yield","predictions","from","featurized","data","-","``","analyze_ensemble","``",":","Evaluate","the","quality","of","fit","for","your","mixer","models","-","``","adjust","``",":","Incorporate","new","data","to","update","pre-existing","model","(","s",")",".","For","simplification",",","we","offer","an","end-to-end","approach","that","allows","you","to","input","raw","data","and","follow","every","step","of","the","process","until","you","reach","a","trained","predictor","with","the","``","learn","``","function",":","-","``","learn","``",":","An","end-to-end","technique","specifying","how","to","pre-process",",","featurize",",","and","train","the","model","(","s",")","of","interest",".","The","expected","input","is","raw",",","untrained","data",".","No","explicit","output","is","provided",",","but","the","Predictor","object","will","``","host","''","the","trained","model","thus",".","You","can","also","use","the","predictor","to","now","estimate","new","data",":","-","``","predict","``",":","Deploys","the","chosen","best","model",",","and","evaluates","the","given","data","to","provide","target","estimates",".","-","``","save","``",":","Saves","the","Predictor","object","for","further","use",".","The","``","PredictorInterface","``","is","created","via","J","{","ai","}","son","'s","custom","code","creation",".","A","problem","inherits","from","this","class","with","pre-populated","routines","to","fill","out","expected","results",",","given","the","nature","of","each","problem","type","."]
docstr: Evaluate the quality of mixers within an ensemble of models.
  
  :param enc_data: Pre-processed and featurized data, split into the relevant train/test splits.
docstr_tok: ["Evaluate","the","quality","of","mixers","within","an","ensemble","of","models",".",":","param","enc_data",":","Pre-processed","and","featurized","data",",","split","into","the","relevant","train\/test","splits","."]
code: def analyze_ensemble(self, enc_data: Dict[str, pd.DataFrame]) -> None:
      """
      Evaluate the quality of mixers within an ensemble of models.
  
      :param enc_data: Pre-processed and featurized data, split into the relevant train/test splits.
      """
      pass
  
file_path: lightwood/lightwood/api/predictor.py
imports: import dill
  from typing import Dict, Optional
  import pandas
  from lightwood.api.types import ModelAnalysis
label_desc: Use image node_id 8 for calling the PredictorInterface obj's underlying member method code with example usage: obj.analyze_ensemble(enc_data) without return types