logml.feature_importance.extractors.permutation

Functions

_calc_score(estimator, features, targets[, ...])

Scoring function for PermutationImportance.

Classes

PermutationImportanceEli5Extractor([config, ...])

Utilize eli5.sklearn.PermutationImportance to calculate feature importance.

class logml.feature_importance.extractors.permutation.PermutationFIExtractorParams

Bases: pydantic.main.BaseModel

Defines hyperparams for Permutation FI method.

Show JSON schema
{
   "title": "PermutationFIExtractorParams",
   "description": "Defines hyperparams for Permutation FI method.",
   "type": "object",
   "properties": {
      "n_iter": {
         "title": "N Iter",
         "default": 10,
         "type": "integer"
      },
      "random_state": {
         "title": "Random State",
         "type": "integer"
      },
      "refit": {
         "title": "Refit",
         "default": false,
         "type": "boolean"
      }
   }
}

Fields
field n_iter: int = 10
field random_state: int = None
field refit: bool = False
class logml.feature_importance.extractors.permutation.PermutationImportanceEli5Extractor(config: Optional[logml.feature_importance.extractors.permutation.PermutationFIExtractorParams] = None, show_progress=True, **kwargs)

Bases: logml.feature_importance.base.BaseImportanceExtractor

Utilize eli5.sklearn.PermutationImportance to calculate feature importance. See https://eli5.readthedocs.io

Note on target_metric value: should be a loss function with ability to minimize.

LABEL = 'permutation'
CONFIG_CLASS

alias of logml.feature_importance.extractors.permutation.PermutationFIExtractorParams

extract_model_feature_importance(model_name: Optional[str] = None, model_cls: Optional[Type[logml.models.base.BaseModel]] = None, params: Optional[dict] = None, dataset: Optional[logml.data.datasets.cv_dataset.ModelingDataset] = None, model=None)

Feature importance extraction for single model.

raw_fis: Dict[str, List]