Learn R Programming

⚠️There's a newer version (1.10.2) of this package.Take me there.

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.4.0

License

MIT + file LICENSE

Maintainer

Jack Dunn

Last Published

December 9th, 2020

Functions in iai (1.4.0)

delete_rich_output_param

Delete a global rich output parameter
apply

Return the leaf index in a tree model into which each point in the features falls
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.
convert_treatments_to_numeric

Convert `treatments` from symbol/string format into numeric values.
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`
categorical_reward_estimator

Learner for conducting reward estimation with categorical treatments
apply_nodes

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

Learner that estimates equal propensity for all treatments.
clone

Return an unfitted copy of a learner with the same parameters
get_depth

Get the depth of a node of a tree
fit_transform_cv

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

Get the number of training points contained in a node of a tree
as.mixeddata

Convert a vector of values to IAI mixed data format
get_classification_label

Return the predicted label at a node of a tree
fit_predict

Fit a reward estimation model on features, treatments and outcomes and return predicted counterfactual rewards for each observation, as well as the score of the internal outcome estimator.
get_policy_treatment_rank

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

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

Return the best parameter combination from a grid
get_prediction_constant

Return the constant term in the prediction in the trained learner
get_prescription_treatment_rank

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

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

Fits a model to the training data
get_num_fits

Return the number of fits along the path in the trained learner
get_grid_results

Return a summary of the results from the grid search
get_params

Return the value of all parameters on a learner
fit_transform

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

Return the quality of the treatments at a node of a tree
get_parent

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

Return the number of nodes in a trained learner
get_upper_child

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

Return the current global rich output parameter settings
get_regression_constant

Return the constant term in the regression prediction at a node of a tree
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
glmnetcv_regressor

Learner for training GLMNet models for regression problems
grid_search

Controls grid search over parameter combinations
get_split_categories

Return the categoric/ordinal information used in the split at a node of a tree
get_roc_curve_data

get_classification_proba

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

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

Return the fitted learner using the best parameter combination from a grid
iai_setup

Initialize Julia and the IAI package.
get_regression_weights

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

Return the survival curve at a node of a tree
imputation_learner

Generic learner for imputing missing values
impute

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

Learner for conducting mean imputation
multi_tree_plot.default

Construct an interactive tree visualization of multiple tree learners as specified by questions
multi_tree_plot.grid_search

Construct an interactive tree visualization of multiple tree learners from the results of a grid search
missing_goes_lower

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

Learner for training Optimal Classification Trees
is_leaf

Check if a node of a tree is a leaf
is_hyperplane_split

Check if a node of a tree applies a hyperplane split
multi_questionnaire

Generic function for constructing an interactive questionnaire using multiple tree learners
optimal_tree_policy_maximizer

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

Specify an interactive questionnaire of a tree learner
get_split_threshold

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

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

Learner for conducting Optimal Feature Selection on classification problems
optimal_tree_policy_minimizer

Learner for training Optimal Policy Trees where the policy should aim to minimize outcomes
multi_questionnaire.default

Construct an interactive questionnaire using multiple tree learners as specified by questions
get_split_feature

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

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

Learner for conducting Optimal Feature Selection on regression problems
roc_curve

Generic function for constructing an ROC curve
reward_estimator

Learner for conducting reward estimation with categorical treatments
set_julia_seed

Set the random seed in Julia
score

Calculate the score for a model on the given data
predict_hazard

Return the fitted hazard coefficient estimate made by a model for each point in the features.
optimal_tree_prescription_maximizer

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

Return the predicted outcome for each treatment made by a model for each point in the features
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
set_display_label

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

Learner for conducting reward estimation with numeric treatments
rand_imputation_learner

Learner for conducting random imputation
optimal_tree_survival_learner

Learner for training Optimal Survival Trees
opt_knn_imputation_learner

Learner for conducting optimal k-NN imputation
is_mixed_parallel_split

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

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

Return the expected survival time estimate made by a model for each point in the features.
multi_questionnaire.grid_search

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

Return the predictions made by the model 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
read_json

Read in a learner or grid saved in JSON format
roc_curve.default

Construct an ROC curve from predicted probabilities and true labels
optimal_tree_survivor

Learner for training Optimal Survival Trees
set_params

Set all supplied parameters on a learner
predict_treatment_rank

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

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

Construct an ROC curve using a trained model on the given data
show_in_browser

Show interactive visualization of an object (such as a learner or curve) in the default browser
show_questionnaire

Show an interactive questionnaire based on a learner in default browser
single_knn_imputation_learner

Learner for conducting heuristic k-NN imputation
impute_cv

Impute missing values using cross validation
is_categoric_split

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

write_json

Output a learner or grid in JSON format
split_data

Split the data into training and test datasets
optimal_tree_regressor

Learner for training Optimal Regression Trees
opt_tree_imputation_learner

Learner for conducting optimal tree-based imputation
opt_svm_imputation_learner

Learner for conducting optimal SVM imputation
optimal_tree_prescription_minimizer

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

Output a learner as a PDF image
write_questionnaire

Output a learner as an interactive questionnaire in HTML format
write_png

Output a learner as a PNG image
xgboost_regressor

Learner for training XGBoost models for regression problems
tree_plot

Specify an interactive tree visualization of a tree learner
transform

Impute missing values in a dataframe using a fitted imputation model
variable_importance

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

Write the internal booster saved in the learner to file
predict_proba

Return the probabilities of class membership predicted by a model for each point in the features
random_forest_classifier

Learner for training random forests for classification problems
predict_treatment_outcome

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

set_rich_output_param

Sets a global rich output parameter
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.
write_svg

Output a learner as a SVG image
random_forest_regressor

Learner for training random forests for regression problems
xgboost_classifier

Learner for training XGBoost models for classification problems
write_html

Output a learner as an interactive browser visualization in HTML format