Learn R Programming

iai: Interpretable AI R Interface

iai is a package providing an interface to the algorithms of Interpretable AI from the R programming language, including:

  • Optimal Trees for classification, regression, prescription and survival analysis
  • Optimal Imputation for missing data imputation and outlier detection
  • Optimal Feature Selection for exact sparse regression

Installation and Usage

Please refer to the official Interpretable AI documentation for information on setting up and using the package.

Copy Link

Version

Install

install.packages('iai')

Monthly Downloads

436

Version

1.10.2

License

MIT + file LICENSE

Maintainer

Jack Dunn

Last Published

October 18th, 2024

Functions in iai (1.10.2)

delete_rich_output_param

Delete a global rich output parameter
categorical_regression_reward_estimator

Learner for conducting reward estimation with categorical treatments and regression outcomes
clone

Return an unfitted copy of a learner with the same parameters
fit.grid_search

Fits a grid_search to the training data
get_classification_label.classification_tree_multi_learner

Return the predicted label at a node of a multi-task tree
equal_propensity_estimator

Learner that estimates equal propensity for all treatments.
get_classification_proba

Generic function for returning the probabilities of class membership at a node of a classification tree
fit

Generic function for fitting a learner.
fit_transform_cv

Train a grid using cross-validation with features and impute all missing values in these features
get_best_params

Return the best parameter combination from a grid
fit_and_expand

Fit an imputation learner with training features and create adaptive indicator features to encode the missing pattern
get_classification_proba.classification_tree_multi_learner

Return the predicted probabilities of class membership at a node of a multi-task tree
get_cluster_assignments

Return the indices of the trees assigned to each cluster, under the clustering of a given number of trees
get_classification_proba.classification_tree_learner

Return the predicted probabilities of class membership at a node of a tree
fit_cv

Fits a grid search to the training data with cross-validation
fit.imputation_learner

Fits an imputation learner to the training data.
get_cluster_distances

Return the distances between the centroids of each pair of clusters, under the clustering of a given number of trees
get_depth

Get the depth of a node of a tree
fit.learner

Fits a model to the training data
get_cluster_details

Return the centroid information for each cluster, under the clustering of a given number of trees
get_machine_id

Return the machine ID for the current computer.
get_num_samples

Get the number of training points contained in a node of a tree
get_lower_child

Get the index of the lower child at a split node of a tree
get_params

Return the value of all parameters on a learner
get_prescription_treatment_rank

Return the treatments ordered from most effective to least effective at a node of a tree
get_classification_label

Generic function for returning the predicted label in the node of a classification tree
fit.optimal_feature_selection_learner

Fits an Optimal Feature Selection learner to the training data
get_regression_constant.classification_tree_learner

Return the constant term in the logistic regression prediction at a node of a classification tree
get_roc_curve_data

Extract the underlying data from an ROC curve
get_split_categories

Return the categoric/ordinal information used in the split at a node of a tree
get_regression_constant.classification_tree_multi_learner

Return the constant term in the logistic regression prediction at a node of a multi-task classification tree
get_grid_results

Return a summary of the results from the grid search
fit_predict

Generic function for fitting a reward estimator on features, treatments and returning predicted counterfactual rewards and scores of the internal estimators.
get_learner

Return the fitted learner using the best parameter combination from a grid
fit_predict.categorical_reward_estimator

Fit a categorical reward estimator on features, treatments and outcomes and return predicted counterfactual rewards for each observation, under each treatment observed in the data, as well as the scores of the internal estimators.
is_hyperplane_split

Check if a node of a tree applies a hyperplane split
get_classification_label.classification_tree_learner

Return the predicted label at a node of a tree
get_train_errors

Extract the training objective value for each candidate tree in the comparison, where a lower value indicates a better solution
get_tree

Return a copy of the learner that uses a specific tree rather than the tree with the best training objective.
get_estimation_densities

Return the total kernel density surrounding each treatment candidate for the propensity/outcome estimation problems in a fitted learner.
is_leaf

Check if a node of a tree is a leaf
fit_predict.numeric_reward_estimator

Fit a numeric reward estimator on features, treatments and outcomes and return predicted counterfactual rewards for each observation, under each treatment candidate, as well as the scores of the internal estimators.
is_ordinal_split

Check if a node of a tree applies a ordinal split
is_parallel_split

Check if a node of a tree applies a parallel split
get_features_used

Return the names of the features used by the learner
multi_tree_plot

Generic function for constructing an interactive tree visualization of multiple tree learners
get_num_fits

Generic function for returning the number of fits in a trained learner
get_num_fits.glmnetcv_learner

Return the number of fits along the path in a trained GLMNet learner
get_grid_result_summary

Return a summary of the results from the grid search
get_grid_result_details

Return a vector of lists detailing the results of the grid search
multi_tree_plot.default

Construct an interactive tree visualization of multiple tree learners as specified by questions
optimal_feature_selection_regressor

Learner for conducting Optimal Feature Selection on regression problems
optimal_feature_selection_classifier

Learner for conducting Optimal Feature Selection on classification problems
get_prediction_weights.optimal_feature_selection_learner

Return the weights for numeric and categoric features used for prediction in a trained Optimal Feature Selection learner
get_prediction_weights.glmnetcv_learner

Return the weights for numeric and categoric features used for prediction in a trained GLMNet learner
fit_transform

Fit an imputation model using the given features and impute the missing values in these features
get_rich_output_params

Return the current global rich output parameter settings
get_regression_weights.survival_tree_learner

Return the weights for each feature in the cox regression prediction at a node of a survival tree
get_regression_constant.survival_tree_learner

Return the constant term in the cox regression prediction at a node of a survival tree
get_regression_constant.regression_tree_multi_learner

Return the constant term in the linear regression prediction at a node of a multi-task regression tree
get_num_fits.optimal_feature_selection_learner

Return the number of fits along the path in a trained Optimal Feature Selection learner
get_num_nodes

Return the number of nodes in a trained learner
predict.categorical_reward_estimator

Return counterfactual rewards estimated by a categorical reward estimator for each observation in the supplied data
predict

Generic function for returning the predictions of a model
get_regression_constant

Generic function for returning the constant term in the regression prediction at a node of a tree
get_policy_treatment_outcome_standard_error

Return the standard error for the quality of the treatments at a node of a tree
get_policy_treatment_rank

Return the treatments ordered from most effective to least effective at a node of a tree
get_regression_constant.prescription_tree_learner

Return the constant term in the linear regression prediction at a node of a prescription tree
get_regression_constant.regression_tree_learner

Return the constant term in the linear regression prediction at a node of a regression tree
get_regression_weights.regression_tree_learner

Return the weights for each feature in the linear regression prediction at a node of a regression tree
get_parent

Get the index of the parent node at a node of a tree
get_policy_treatment_outcome

Return the quality of the treatments at a node of a tree
get_regression_weights.regression_tree_multi_learner

Return the weights for each feature in the linear regression prediction at a node of a multi-task regression tree
get_prediction_constant.optimal_feature_selection_learner

Return the constant term in the prediction in a trained Optimal Feature Selection learner
get_regression_weights

Generic function for returning the weights for each feature in the regression prediction at a node of a tree
glmnetcv_regressor

Learner for training GLMNet models for regression problems with cross-validation
get_upper_child

Get the index of the upper child at a split node of a tree
glmnetcv_classifier

Learner for training GLMNet models for classification problems with cross-validation
get_prediction_weights

Generic function for returning the prediction weights in a trained learner
predict_hazard

Generic function for returning the hazard coefficient predicted by a model
glmnetcv_survival_learner

Learner for training GLMNet models for survival problems with cross-validation
get_regression_weights.classification_tree_multi_learner

Return the weights for each feature in the logistic regression prediction at a node of a multi-task classification tree
install_julia

Download and install Julia automatically.
impute_cv

Impute missing values using cross validation
get_split_weights

Return the weights for numeric and categoric features used in the hyperplane split at a node of a tree
opt_knn_imputation_learner

Learner for conducting optimal k-NN imputation
get_stability_results

Return the trained trees in order of increasing objective value, along with their variable importance scores for each feature
get_prediction_constant.glmnetcv_learner

Return the constant term in the prediction in a trained GLMNet learner
get_prediction_constant

Generic function for returning the prediction constant in a trained learner
numeric_survival_reward_estimator

Learner for conducting reward estimation with numeric treatments and survival outcomes
grid_search

Controls grid search over parameter combinations
get_survival_curve

Return the survival curve at a node of a tree
get_regression_weights.prescription_tree_learner

Return the weights for each feature in the linear regression prediction at a node of a prescription tree
get_survival_curve_data

Extract the underlying data from a survival curve (as returned by predict.survival_learner or get_survival_curve)
predict_outcomes.policy_learner

Return the predicted outcome for each treatment made by a policy learner for each point in the features
predict_hazard.glmnetcv_survival_learner

Return the fitted hazard coefficient estimate made by a glmnetcv_survival_learner for each point in the features.
predict_outcomes.prescription_learner

Return the predicted outcome for each treatment made by a prescription learner for each point in the features
multi_questionnaire

Generic function for constructing an interactive questionnaire with multiple learners
iai_setup

Initialize Julia and the IAI package.
opt_svm_imputation_learner

Learner for conducting optimal SVM imputation
missing_goes_lower

Check if points with missing values go to the lower child at a split node of of a tree
get_regression_weights.classification_tree_learner

Return the weights for each feature in the logistic regression prediction at a node of a classification tree
multi_questionnaire.default

Construct an interactive questionnaire from multiple specified learners
install_system_image

Download and install the IAI system image automatically.
numeric_reward_estimator

Learner for conducting reward estimation with numeric treatments
multi_questionnaire.grid_search

Construct an interactive tree questionnaire using multiple learners from the results of a grid search
opt_tree_imputation_learner

Learner for conducting optimal tree-based imputation
plot.similarity_comparison

Plot a similarity comparison
predict_expected_survival_time.survival_curve

Return the expected survival time estimate made by a survival curve (as returned by predict.survival_learner or get_survival_curve)
optimal_tree_prescription_maximizer

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

Learner for conducting reward estimation with numeric treatments and regression outcomes
plot.stability_analysis

Plot a stability analysis
predict_expected_survival_time

Generic function for returning the expected survival time predicted by a model
is_categoric_split

Check if a node of a tree applies a categoric split
optimal_tree_policy_minimizer

Learner for training Optimal Policy Trees where the policy should aim to minimize outcomes
predict_proba

Generic function for returning the probabilities of class membership predicted by a model
questionnaire.optimal_feature_selection_learner

Specify an interactive questionnaire of an Optimal Feature Selection learner
optimal_tree_classifier

Learner for training Optimal Classification Trees
predict_expected_survival_time.survival_learner

Return the expected survival time estimate made by a survival learner for each point in the features.
predict_expected_survival_time.glmnetcv_survival_learner

Return the expected survival time estimate made by a glmnetcv_survival_learner for each point in the features.
questionnaire.tree_learner

Specify an interactive questionnaire of a tree learner
get_split_feature

Return the feature used in the split at a node of a tree
imputation_learner

Generic learner for imputing missing values
get_survival_hazard

Return the predicted hazard ratio at a node of a tree
is_mixed_ordinal_split

Check if a node of a tree applies a mixed ordinal/categoric split
get_survival_expected_time

Return the predicted expected survival time at a node of a tree
impute

Impute missing values using either a specified method or through validation
predict_treatment_outcome

Return the estimated quality of each treatment in the trained model of the learner for each point in the features
predict_treatment_outcome_standard_error

Return the standard error for the estimated quality of each treatment in the trained model of the learner for each point in the features
resume_from_checkpoint

Resume training from a checkpoint file
reward_estimator

Learner for conducting reward estimation with categorical treatments
get_split_threshold

Return the threshold used in the split at a node of a tree
mean_imputation_learner

Learner for conducting mean imputation
load_graphviz

Loads the Julia Graphviz library to permit certain visualizations.
optimal_tree_survival_learner

Learner for training Optimal Survival Trees
optimal_tree_survivor

Learner for training Optimal Survival Trees
optimal_tree_multi_classifier

Learner for training multi-task Optimal Classification Trees
predict.optimal_feature_selection_learner

Return the predictions made by an Optimal Feature Selection learner for each point in the features
numeric_classification_reward_estimator

Learner for conducting reward estimation with numeric treatments and classification outcomes
multi_tree_plot.grid_search

Construct an interactive tree visualization of multiple tree learners from the results of a grid search
predict_proba.classification_learner

Return the probabilities of class membership predicted by a classification learner for each point in the features
predict_treatment_rank

Return the treatments in ranked order of effectiveness for each point in the features
release_license

Release any IAI license held by the current session.
random_forest_regressor

Learner for training random forests for regression problems
is_mixed_parallel_split

Check if a node of a tree applies a mixed parallel/categoric split
random_forest_survival_learner

Learner for training random forests for survival problems
roc_curve

Generic function for constructing an ROC curve
print_path

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

Calculate the score for a GLMNet learner on the given data
show_in_browser.tree_learner

Show interactive tree visualization of a tree learner in the default browser
score.numeric_reward_estimator

Calculate the scores for a numeric reward estimator on the given data
show_questionnaire

Generic function for showing interactive questionnaire in browser
variable_importance.learner

Generate a ranking of the variables in a learner according to their importance during training. The results are normalized so that they sum to one.
variable_importance

Generic function for calculating variable importance
optimal_tree_policy_maximizer

Learner for training Optimal Policy Trees where the policy should aim to maximize outcomes
optimal_tree_multi_regressor

Learner for training multi-task Optimal Regression Trees
predict_shap

Calculate SHAP values for all points in the features using the learner
predict_hazard.survival_learner

Return the fitted hazard coefficient estimate made by a survival learner for each point in the features.
predict_outcomes

Generic function for returning the outcomes predicted by a model under each treatment
predict_reward.numeric_reward_estimator

Return counterfactual rewards estimated by a numeric reward estimator for each observation in the supplied data and predictions
predict.supervised_learner

Return the predictions made by a supervised learner for each point in the features
write_dot

read_json

Read in a learner or grid saved in JSON format
optimal_tree_prescription_minimizer

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

Return the probabilities of class membership predicted by a multi-task classification learner for each point in the features
plot.grid_search

Plot a grid search results for Optimal Feature Selection learners
plot.roc_curve

Plot an ROC curve
predict_proba.glmnetcv_classifier

Return the probabilities of class membership predicted by a glmnetcv_classifier learner for each point in the features
reset_display_label

Reset the predicted probability displayed to be that of the predicted label when visualizing a learner
score.default

Calculate the score for a set of predictions on the given data
score.categorical_reward_estimator

Calculate the scores for a categorical reward estimator on the given data
roc_curve.classification_learner

Construct an ROC curve using a trained classification learner on the given data
set_rich_output_param

Sets a global rich output parameter
set_reward_kernel_bandwidth

Save a new reward kernel bandwidth inside a learner, and return new reward predictions generated using this bandwidth for the original data used to train the learner.
predict.glmnetcv_learner

Return the predictions made by a GLMNet learner for each point in the features
optimal_tree_regressor

Learner for training Optimal Regression Trees
predict.numeric_reward_estimator

Return counterfactual rewards estimated by a numeric reward estimator for each observation in the supplied data
write_html

Generic function for writing interactive visualization to file
predict.supervised_multi_learner

Return the predictions made by a multi-task supervised learner for each point in the features
questionnaire

Generic function for constructing an interactive questionnaire
predict_reward.categorical_reward_estimator

Return counterfactual rewards estimated by a categorical reward estimator for each observation in the supplied data and predictions
predict.survival_learner

Return the predictions made by a survival learner for each point in the features
prune_trees

Use the trained trees in a learner along with the supplied validation data to determine the best value for the `cp` parameter and then prune the trees according to this value
predict_reward

Generic function for returning the counterfactual rewards estimated by a model under each treatment
roc_curve.glmnetcv_classifier

Construct an ROC curve using a trained glmnetcv_classifier on the given data
refit_leaves

Refit the models in the leaves of a trained learner using the supplied data
show_in_browser.abstract_visualization

Show interactive visualization of an object in the default browser
score

Generic function for calculating scores
write_html.abstract_visualization

Output an object as an interactive browser visualization in HTML format
score.supervised_multi_learner

Calculate the score for a multi-task model on the given data
variable_importance_similarity

Calculate similarity between the final tree in a tree learner with all trees in new tree learner using variable importance scores.
write_booster

Write the internal booster saved in the learner to file
set_display_label

Show the probability of a specified label when visualizing a learner
split_data

Split the data into training and test datasets
show_in_browser

Generic function for showing interactive visualization in browser
stability_analysis

Conduct a stability analysis of the trees in a tree learner
set_threshold

For a binary classification problem, update the the predicted labels in the leaves of the learner to predict a label only if the predicted probability is at least the specified threshold.
transform

Impute missing values in a dataframe using a fitted imputation model
write_html.roc_curve

Output an ROC curve as an interactive browser visualization in HTML format
write_questionnaire.tree_learner

Output a tree learner as an interactive questionnaire in HTML format
write_json

Output a learner or grid in JSON format
show_in_browser.roc_curve

Show interactive visualization of a roc_curve in the default browser
write_html.tree_learner

Output a tree learner as an interactive browser visualization in HTML format
write_svg

Output a learner as a SVG image
similarity_comparison

Conduct a similarity comparison between the final tree in a learner and all trees in a new learner to consider the tradeoff between training performance and similarity to the original tree
score.supervised_learner

Calculate the score for a model on the given data
score.optimal_feature_selection_learner

Calculate the score for an Optimal Feature Selection learner on the given data
roc_curve.default

Construct an ROC curve from predicted probabilities and true labels
random_forest_classifier

Learner for training random forests for classification problems
roc_curve.classification_multi_learner

Construct an ROC curve using a trained multi-task classification learner on the given data
set_julia_seed

Set the random seed in Julia
set_params

Set all supplied parameters on a learner
rand_imputation_learner

Learner for conducting random imputation
transform_and_expand

Transform features with a trained imputation learner and create adaptive indicator features to encode the missing pattern
write_png

Output a learner as a PNG image
write_pdf

Output a learner as a PDF image
xgboost_survival_learner

Learner for training XGBoost models for survival problems
zero_imputation_learner

Learner for conducting zero-imputation
single_knn_imputation_learner

Learner for conducting heuristic k-NN imputation
write_questionnaire

Generic function for writing interactive questionnaire to file
variable_importance.tree_learner

Generate a ranking of the variables in a tree learner according to their importance during training. The results are normalized so that they sum to one.
variable_importance.optimal_feature_selection_learner

Generate a ranking of the variables in an Optimal Feature Selection learner according to their importance during training. The results are normalized so that they sum to one.
write_questionnaire.optimal_feature_selection_learner

Output an Optimal Feature Selection learner as an interactive questionnaire in HTML format
show_questionnaire.tree_learner

Show an interactive questionnaire based on a tree learner in default browser
xgboost_classifier

Learner for training XGBoost models for classification problems
tree_plot

Specify an interactive tree visualization of a tree learner
show_questionnaire.optimal_feature_selection_learner

Show an interactive questionnaire based on an Optimal Feature Selection learner in default browser
xgboost_regressor

Learner for training XGBoost models for regression problems
tune_reward_kernel_bandwidth

Conduct the reward kernel bandwidth tuning procedure for a range of starting bandwidths and return the final tuned values.
autoplot.roc_curve

Construct a ggplot2::ggplot object plotting the ROC curve
add_julia_processes

Add additional Julia worker processes to parallelize workloads
apply_nodes

Return the indices of the points in the features that fall into each node of a trained tree model
acquire_license

Acquire an IAI license for the current session.
autoplot.grid_search

Construct a ggplot2::ggplot object plotting grid search results for Optimal Feature Selection learners
autoplot.similarity_comparison

Construct a ggplot2::ggplot object plotting the results of the similarity comparison
autoplot.stability_analysis

Construct a ggplot2::ggplot object plotting the results of the stability analysis
all_treatment_combinations

Return a dataframe containing all treatment combinations of one or more treatment vectors, ready for use as treatment candidates in `fit_predict!` or `predict`
apply

Return the leaf index in a tree model into which each point in the features falls
as.mixeddata

Convert a vector of values to IAI mixed data format
cleanup_installation

Remove all traces of automatic Julia/IAI installation
convert_treatments_to_numeric

Convert `treatments` from symbol/string format into numeric values.
copy_splits_and_refit_leaves

Copy the tree split structure from one learner into another and refit the models in each leaf of the tree using the supplied data
categorical_classification_reward_estimator

Learner for conducting reward estimation with categorical treatments and classification outcomes
categorical_reward_estimator

Learner for conducting reward estimation with categorical treatments
categorical_survival_reward_estimator

Learner for conducting reward estimation with categorical treatments and survival outcomes
decision_path

Return a matrix where entry (i, j) is true if the ith point in the features passes through the jth node in a trained tree model.