API Reference

Documentation for the interpretableai package

Index

General Utilities

installFunction

Install Julia packages required for interpretableai.iai.

read_jsonFunction
read_json(filename)

Read in a learner or grid saved in JSON format from filename.

Julia Equivalent: IAI.read_json

Data Preparation

MixedDataType
MixedData(values, ordinal_levels=None)

Represents a mixed data feature

MixedData features can represent a feature with either numeric/categoric or ordinal/categoric values.

Parameters

  • values: (list-like) The values of the mixed feature. In a numeric/categoric mix, all numeric elements will be treated as numeric and all remaining elements as categoric. In an ordinal/categoric mix, all elements belonging to the ordinal_levels will be treated as ordinal, and all remaining elements as categoric.
  • ordinal_levels: (Index-like, optional) If not supplied, the feature is treated as a numeric/categoric mix. If supplied, these are the ordered levels of the ordinal values in the ordinal/categoric mix.
split_dataFunction
split_data(task, X, *y, **kwargs)

Split the data (X and y) into a tuple of training and testing data, (X_train, y_train), (X_test, y_test), for a problem of type task.

Julia Equivalent: IAI.split_data

Learners

Learner

LearnerType

Abstract type encompassing all learners

fitMethod
lnr.fit(X, *y, sample_weight=None)

Fits a model using the parameters in learner and the data X and y.

Julia Equivalent: IAI.fit!

Parameters

Refer to the documentation on data preparation for information on how to format and supply the data.

cloneMethod
lnr.clone()

Return an unfitted copy of the learner with the same parameters.

Julia Equivalent: IAI.clone

write_jsonMethod
obj.write_json(filename, **kwargs)

Write learner or grid to filename in JSON format.

Julia Equivalent: IAI.write_json

SupervisedLearner

SupervisedLearnerType

Abstract type encompassing all learners for supervised tasks

predictMethod
lnr.predict(X)

Return the predictions made by the learner for each point in the features X.

Julia Equivalent: IAI.predict

scoreMethod
lnr.score(X, *y, **kwargs)

Calculates the score for the learner on data X and y.

Julia Equivalent: IAI.score

UnsupervisedLearner

ClassificationLearner

predict_probaMethod
lnr.predict_proba(X)

Return the probabilities of class membership predicted by the learner for each point in the features X.

Julia Equivalent: IAI.predict_proba

RegressionLearner

RegressionLearnerType

Abstract type encompassing all learners for regression tasks

SurvivalLearner

SurvivalLearnerType

Abstract type encompassing all learners for survival tasks

predict_hazardMethod
lnr.predict_hazard(X)

Return the fitted hazard coefficient estimate made by the learner for each point in the data X.

A higher hazard coefficient estimate corresponds to a smaller predicted survival time.

Julia Equivalent: IAI.predict_hazard

IAI Compatibility

Requires IAI version 1.2 or higher.

PrescriptionLearner

predict_outcomesMethod
lnr.predict_outcomes(X)

Return the the predicted outcome for each treatment made by the learner for each point in the features X.

Julia Equivalent: IAI.predict_outcomes

ImputationLearner

ImputationLearnerType
ImputationLearner(method='opt_knn', **kwargs)

Abstract type containing all imputation learners.

Julia Equivalent: IAI.ImputationLearner

Parameters

Can be used to construct instances of imputation learners using the method keyword argument.

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

transformMethod
lnr.transform(X)

Impute missing values in X using the fitted imputation model in lnr.

Julia Equivalent: IAI.transform

Parameters

Refer to the documentation on data preparation for information on how to format and supply the data.

fit_transformMethod
lnr.fit_transform(X, **kwargs)

Fit the imputation learner using the training data X and impute the missing values in the training data.

Similar to calling fit followed by transform .

Julia Equivalent: IAI.fit_transform!

Parameters

Refer to the documentation on data preparation for information on how to format and supply the data.

GridSearch

GridSearchType
GridSearch(lnr, params)

Controls grid search over parameter combinations in params for lnr.

Julia Equivalent: IAI.GridSearch

fit_cvMethod
grid.fit_cv(X, *y, **kwargs)

Fit a grid with data X and y using k-fold cross-validation.

Julia Equivalent: IAI.fit_cv!

Parameters

Refer to the documentation on data preparation for information on how to format and supply the data.

fit_transform_cvMethod
grid.fit_transform_cv(X, **kwargs)

For imputation learners, fit a grid with features X using k-fold cross-validation and impute missing values in X.

Julia Equivalent: IAI.fit_transform_cv!

Parameters

Refer to the documentation on data preparation for information on how to format and supply the data.

get_learnerMethod
grid.get_learner()

Return the fitted learner using the best parameter combination from the grid.

Julia Equivalent: IAI.get_learner

Tree Learners

TreeLearner

TreeLearnerType

Abstract type encompassing all tree-based learners.

applyMethod
lnr.apply(X)

Return the leaf index in the learner into which each point in the features X falls.

Julia Equivalent: IAI.apply

apply_nodesMethod
lnr.apply_nodes(X)

Return the indices of the points in the features X that fall into each node in the learner.

Julia Equivalent: IAI.apply_nodes

decision_pathMethod
lnr.decision_path(X)

Return a matrix where entry (i, j) is True if the ith point in the features X passes through the jth node in the learner.

Julia Equivalent: IAI.decision_path

print_pathMethod
lnr.print_path(X)

Print the decision path through the learner for each sample in the features X.

Julia Equivalent: IAI.print_path

get_depthMethod
lnr.get_depth(node_index)

Return the depth of node node_index in the trained learner.

Julia Equivalent: IAI.get_depth

get_parentMethod
lnr.get_parent(node_index)

Return the index of the parent node of node node_index in the trained learner.

Julia Equivalent: IAI.get_parent

get_lower_childMethod
lnr.get_lower_child(node_index)

Return the index of the lower child of node node_index in the trained learner.

Julia Equivalent: IAI.get_lower_child

get_upper_childMethod
lnr.get_upper_child(node_index)

Return the index of the upper child of node node_index in the trained learner.

Julia Equivalent: IAI.get_upper_child

get_num_samplesMethod
lnr.get_num_samples(node_index)

Return the number of training points contained in node node_index in the trained learner.

Julia Equivalent: IAI.get_num_samples

is_leafMethod
lnr.is_leaf(node_index)

Return True if node node_index in the trained learner is a leaf.

Julia Equivalent: IAI.is_leaf

get_split_weightsMethod
lnr.get_split_weights(node_index)

Return the weights for numeric and categoric features used in the hyperplane split at node node_index in the trained learner.

Julia Equivalent: IAI.get_split_weights

write_pngMethod
lnr.write_png(filename, **kwargs)

Write learner to filename as a PNG image.

Requires GraphViz be installed and on the system PATH.

Julia Equivalent: IAI.write_png

write_htmlMethod
lnr.write_html(filename, **kwargs)

Write interactive browser visualization of learner to filename as HTML.

Julia Equivalent: IAI.write_html

ClassificationTreeLearner

set_thresholdMethod
lnr.set_threshold(label, threshold, simplify=False)

For a binary classification problem, update the the predicted labels in the leaves of the learner to predict label only if the predicted probability is at least threshold. If simplify is True, the tree will be simplified after all changes have been made.

Julia Equivalent: IAI.set_threshold!

RegressionTreeLearner

SurvivalTreeLearner

SurvivalTreeLearnerType

Abstract type encompassing all tree-based learners with survival leaves.

PrescriptionTreeLearner

get_regression_weightsMethod
lnr.get_regression_weights(node_index, treatment)

Return the weights for each feature in the regression prediction for treatment at node node_index in the trained learner.

Julia Equivalent: IAI.get_regression_weights

Tree learner visualization

write_htmlMethod
treeplot.write_html(filename, **kwargs)

Write interactive browser visualization to filename as HTML.

Julia Equivalent: IAI.write_html

Optimal Trees

OptimalTreeClassifierType
OptimalTreeClassifier(**kwargs)

Learner for training Optimal Classification Trees.

Julia Equivalent: IAI.OptimalTreeClassifier

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptimalTreeRegressorType
OptimalTreeRegressor(**kwargs)

Learner for training Optimal Regression Trees.

Julia Equivalent: IAI.OptimalTreeRegressor

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptimalTreeSurvivorType
OptimalTreeSurvivor(**kwargs)

Learner for training Optimal Survival Trees.

Julia Equivalent: IAI.OptimalTreeSurvivor

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptimalTreePrescriptionMinimizerType
OptimalTreePrescriptionMinimizer(**kwargs)

Learner for training Optimal Prescriptive Trees where the prescriptions should aim to minimize outcomes.

Julia Equivalent: IAI.OptimalTreePrescriptionMinimizer

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptimalTreePrescriptionMaximizerType
OptimalTreePrescriptionMaximizer(**kwargs)

Learner for training Optimal Prescriptive Trees where the prescriptions should aim to maximize outcomes.

Julia Equivalent: IAI.OptimalTreePrescriptionMaximizer

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptImpute

imputeFunction
impute(X, *args, **kwargs)

Impute the missing values in X using either a specified method or through grid search validation.

Julia Equivalent: IAI.impute

Parameters

Refer to the Julia documentation for available parameters.

impute_cvFunction
impute_cv(X, *args, **kwargs)

Impute the missing values in X using cross validation.

Julia Equivalent: IAI.impute_cv

Parameters

Refer to the Julia documentation for available parameters.

OptKNNImputationLearnerType
OptKNNImputationLearner(**kwargs)

Learner for conducting optimal k-NN imputation.

Julia Equivalent: IAI.OptKNNImputationLearner

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptSVMImputationLearnerType
OptSVMImputationLearner(**kwargs)

Learner for conducting optimal SVM imputation.

Julia Equivalent: IAI.OptSVMImputationLearner

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

OptTreeImputationLearnerType
OptTreeImputationLearner(**kwargs)

Learner for conducting optimal tree-based imputation.

Julia Equivalent: IAI.OptTreeImputationLearner

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

SingleKNNImputationLearnerType
SingleKNNImputationLearner(**kwargs)

Learner for conducting heuristic k-NN imputation.

Julia Equivalent: IAI.SingleKNNImputationLearner

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

MeanImputationLearnerType
MeanImputationLearner(**kwargs)

Learner for conducting mean imputation.

Julia Equivalent: IAI.MeanImputationLearnerer

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

RandImputationLearnerType
RandImputationLearner(**kwargs)

Learner for conducting random imputation.

Julia Equivalent: IAI.RandImputationLearnerer

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

Optimal Feature Selection

OptimalFeatureSelectionClassifierType
OptimalFeatureSelectionClassifier(**kwargs)

Learner for conducting Optimal Feature Selection on classification problems.

Julia Equivalent: IAI.OptimalFeatureSelectionClassifier

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

IAI Compatibility

Requires IAI version 1.1 or higher.

OptimalFeatureSelectionRegressorType
OptimalFeatureSelectionRegressor(**kwargs)

Learner for conducting Optimal Feature Selection on regression problems.

Julia Equivalent: IAI.OptimalFeatureSelectionRegressor

Parameters

Use keyword arguments to set parameters on the resulting learner. Refer to the Julia documentation for available parameters.

IAI Compatibility

Requires IAI version 1.1 or higher.

get_prediction_weightsMethod
lnr.get_prediction_weights()

Return the weights for numeric and categoric features used for prediction in the trained learner.

Julia Equivalent: IAI.get_prediction_weights

IAI Compatibility

Requires IAI version 1.1 or higher.

Miscellaneous Types

ROCCurve

ROCCurveType

Container for ROC curve information with the following fields:

  • coords: a dict for each point on the curve with the following keys:
    • 'fpr': false positive rate at the given threshold
    • 'tpr': true positive rate at the given threshold
    • 'threshold': the threshold
  • auc: the area-under-the-curve (AUC)

Julia Equivalent: IAI.ROCCurve


ROCCurve(lnr, X, y)

Construct an ROCCurve using trained lnr on the features X and labels y.


ROCCurve(probs, y, positive_label=positive_label)

Construct an ROCCurve using predicted probabilities probs and true labels y, with probabilities indicating chance of predicting positive_label.

SurvivalCurve

SurvivalCurveType

Container for survival curve information.

Use curve[t] to get the survival probability prediction from curve at time t.

Julia Equivalent: IAI.SurvivalCurve

get_dataMethod
curve.get_data()

Extract the underlying data from the curve as a dict with two keys:

  • 'times': the time for each breakpoint on the curve
  • 'coefs': the probablility for each breakpoint on the curve

Julia Equivalent: IAI.get_survival_curve_data