|View source on GitHub|
Abstract inspector for all Yggdrasil models.
tfdf.inspector.AbstractInspector( directory: str )
||Gets the dataspec.|
||Gets the generic model header.|
||Gets the model's metadata.|
||Task solved by the model.|
evaluation() -> Optional[
Model self evaluation.
The model self evaluation is a cheap alternative to the use of a separate validation dataset or cross-validation. The exact implementation depends on the model e.g. Out-of-bag evaluation, internal train-validation.
During training, some models (e.g. Gradient Boosted Tree) used this evaluation for early stopping (if early stopping is enabled).
While this evaluation is computed during training, it can be used as a low quality model evaluation.
|The evaluation, or None is not evaluation is available.|
export_to_tensorboard( path: str ) -> None
Export the training logs (and possibly other metadata) to TensorBoard.
Usage examples in Colab:
model.make_inspector().export_to_tensorboard("/tmp/tensorboard_logs") %load_ext tensorboard %tensorboard --logdir "/tmp/tensorboard_logs"
Note that you can compare multiple models runs using sub-directories. For examples:
model_1.make_inspector().export_to_tensorboard("/tmp/tb_logs/model_1") model_2.make_inspector().export_to_tensorboard("/tmp/tb_logs/model_2") %load_ext tensorboard %tensorboard --logdir "/tmp/tb_logs"
||Output directory for the logs.|
features() -> List[
Input features of the model.
Label predicted by the model.
label_classes() -> Optional[List[str]]
Possible classes of the label.
If the task is not a classification, or if the labels are dense integers, returns None.
|The list of label values, or None.|
model_type() -> str
Unique key describing the type of the model.
Note that different learners can output similar model types, and a given learner can output different model types.
Objective solved by the model i.e. Task + extra information.
training_logs() -> Optional[List[TrainLog]]
Evaluation metrics and statistics about the model during training.
The training logs show the quality of the model (e.g. accuracy evaluated on the out-of-bag or validation dataset) according to the number of trees in the model. Logs are useful to characterize the balance between model size and model quality.
variable_importances() -> Dict[str, List[Tuple[py_tree.dataspec.SimpleColumnSpec, float]]]
Variable importances (VI) i.e impact of each feature to the model.
VIs generally indicates how much a variable contributes to the model predictions or quality. Different VIs have different semantics and are generally not comparable.
The VIs returned by
variable_importances() depends on the learning
algorithm and its hyper-parameters. For example, the hyperparameter
compute_oob_variable_importances=True of the Random Forest learner enables
the computation of permutation out-of-bag variable importances.
See https://documentation.corp.google.com/external/ydf/yggdrasil_decision_forests/documentation/user_manual.md#variable-importances for the definition of the variable importances.
Values are sorted by decreasing value/importance except if stated otherwise.
# Train a Random Forest. Enable the computation of OOB (out-of-bag) variable # importances. model = tfdf.keras.RandomForestModel(compute_oob_variable_importances=True) model.fit(...) # Print all the variable importances model.summary() # List the available variable importances print(inspector.variable_importances().keys()) # Show a specific variable importance # Each line is: (feature name, (index of the feature), importance score) inspector.variable_importances()["MEAN_DECREASE_IN_ACCURACY"] >> [("bill_length_mm" (1; #1), 0.0713061951754389), >> ("island" (4; #4), 0.007298519736842035), >> ("flipper_length_mm" (1; #3), 0.004505893640351366), ...