API Reference

This page contains the API reference for public objects and functions in LUX.

Explanation interface

lux.lux.LUX(predict_proba[, classifier, ...])

This class contains functions that implement generation of local rule-based model-agnostic explanations.

lux.samplers.UncertainSMOTE(*, predict_proba)

An implementation of Synthetic Minority Over-sampling Technique (SMOTE) with handling of uncertain samples. Parameters: ----------- :param sampling_strategy: float, str, dict, or callable, default='all' The sampling strategy to use. Can be a float representing the desired ratio of minority class samples over the majority class samples after resampling, or one of {'all', 'not minority', 'minority'}. Alternatively, it can be a dictionary where the keys represent the class labels and the values represent the desired number of samples for each class, or a callable function returning a dictionary. :type sampling_strategy: float, str, dict, or callable :param random_state: int, RandomState instance or None, default=None Controls the randomness of the algorithm. :type random_state: int, RandomState instance or None :param k_neighbors: int, default=5 Number of nearest neighbors to used to construct synthetic samples. :type k_neighbors: int :param n_jobs: int or None, default=None Number of CPU cores used during the computation. :type n_jobs: int or None :param sigma: float, default=1 Parameter controlling the thresholding of confidence intervals for identifying uncertain samples. :type sigma: float :param m_neighbors: int, default=10 Number of nearest neighbors to consider when estimating if a sample is in danger. :type m_neighbors: int :param min_samples: float, default=0.1 Fraction of the maximum class samples to be added as additional synthetic samples. :type min_samples: float :param instance_to_explain: array-like of shape (n_features,) or None, default=None An instance to be used for generating samples around. :type instance_to_explain: array-like of shape (n_features,) or None :param kind: {'borderline-1', 'borderline-2'}, default='borderline-1' The kind of borderline samples to detect. If 'borderline-1', it identifies samples that are borderline to a single class. If 'borderline-2', it identifies samples that are borderline to multiple classes. :type kind: {'borderline-1', 'borderline-2'}.

lux.samplers.ImportanceSampler(classifier, ...)

A transformer class for generating synthetic data using importance sampling based on SHAP values.

Explanation tree backend

lux.pyuid3.uid3.UId3([max_depth, ...])

A decision tree classifier with customizable parameters for controlling tree growth.

lux.pyuid3.data.Data([name, attributes, ...])

Initialize a Data object.

lux.pyuid3.tree.Tree(root)

Metrics

lux.metrics.stability(rules_and_instances, ...)

Calculate stability metrics for a set of rules and instances.

lux.metrics.local_fidelity(rule, dataset, ...)

Calculate coverage and various evaluation metrics for a given rule applied to a dataset.

lux.metrics.average_jackart(rule_1, rule_2, ...)

Calculate the average Jaccard similarity coefficient between two sets of rules.