# API Reference

Documentation for the OptimalFeatureSelection public interface.

## Model Details

These functions can be used to query the structure of a OptimalFeatureSelectionLearner. The examples make use of the following learner:

Fitted OptimalFeatureSelectionClassifier:
Constant: -2.96637
Weights:
region=C:  2.89757
score2:    0.0580296
(Higher score indicates stronger prediction for class true)
IAI.get_prediction_constantFunction
get_prediction_constant(lnr::OptimalFeatureSelectionLearner)

Return the constant term in the prediction in the trained lnr.

Example

IAI.get_prediction_constant(lnr)
-2.9663706

get_prediction_constant(lnr::OptimalFeatureSelectionLearner;
fit_index::Integer)

Return the constant term in the prediction for cluster fit_index in the trained lnr.

get_prediction_constant(lnr::GLMNetCVLearner)

Return the constant term in the prediction made by the best fit on the path in lnr.

get_prediction_constant(lnr::GLMNetCVLearner; fit_index::Integer)

Return the constant term in the prediction made by the fit at fit_index on the path in lnr.

IAI.get_prediction_weightsFunction
get_prediction_weights(lnr::OptimalFeatureSelectionLearner)

Return the weights for each feature in the prediction in the trained lnr. The weights are returned as two Dicts, one for numeric features and one for categoric features.

The numeric Dict has key-value pairs of feature names and their corresponding weights in the prediction.

The categoric Dict has key-value pairs of feature names and a corresponding Dict that maps the categoric levels for that feature to their weights in the prediction.

Any feature not included in either Dict has zero weight in the prediction, and similarly, any categoric levels that are not included have zero weight.

Example

numeric_weights, categoric_weights = IAI.get_prediction_weights(lnr)
numeric_weights
Dict{Symbol, Float64} with 1 entry:
:score2 => 0.0580296
categoric_weights
Dict{Symbol, Dict{Any, Float64}} with 1 entry:
:region => Dict("C"=>2.89757)

get_prediction_weights(lnr::OptimalFeatureSelectionLearner;
fit_index::Integer)

Return the weights for each feature in the prediction for cluster fit_index in the trained lnr.

get_prediction_weights(lnr::GLMNetCVLearner)

Return the weights for each feature in the prediction made by the best fit on the path in lnr.

get_prediction_weights(lnr::GLMNetCVLearner; fit_index::Integer)

Return the weights for each feature in the prediction made by the fit at fit_index on the path in lnr.

## Utilities

IAI.variable_importanceMethod
variable_importance(lnr::OptimalFeatureSelectionLearner)

For OptimalFeatureSelectionLearners, the importance is determined using the coefficients in the resulting model after scaling to account for features of different magnitudes.

## Visualization

### Interactive Visualizations

IAI.write_questionnaireMethod
write_questionnaire(f, lnr::OptimalFeatureSelectionLearner; keyword_arguments...)
write_questionnaire(f, grid::GridSearch; keyword_arguments...)

Write interactive questionnaire based on lnr or grid to f in HTML format.

IAI.show_questionnaireMethod
show_questionnaire(lnr::OptimalFeatureSelectionLearner; keyword_arguments...)
show_questionnaire(grid::GridSearch; keyword_arguments...)

Show interactive questionnaire based on lnr or grid in default browser.

IAI.QuestionnaireMethod
Questionnaire(lnr::OptimalFeatureSelectionLearner; keyword_arguments...)

Specifies an interactive questionnaire based on lnr.

## Coordinated Sparsity

These functions are used as part of coordinated-sparsity fitting:

IAI.fit!Method
fit!(lnr::OptimalFeatureSelectionLearner, X::FeatureInput,
y::TargetInput...; keyword_arguments...)

Fit an OptimalFeatureSelection model using the parameters in lnr and the data X and y. Supports the same keyword arguments as fit!.

When the coordinated_sparsity parameter of lnr is true, the following additional keyword argument is required:

• cluster_inds is a Vector where each element is a Vector{Int} that gives the indices of the points in the data that comprise each cluster. For more information, refer to the documentation on coordinated-sparsity fitting
IAI.get_num_fitsMethod
get_num_fits(lnr::OptimalFeatureSelectionLearner)

Returns the number of fits stored in lnr. This will be be either:

• the number of clusters, if lnr was fit using cluster_inds
• 1, otherwise
IAI.predictMethod
predict(lnr::OptimalFeatureSelectionLearner, X::FeatureInput;
fit_index::Integer)

Returns the prediction made by the fit in cluster fit_index of lnr for each point in the data X.

IAI.scoreMethod
score(lnr::OptimalFeatureSelectionLearner, X::FeatureInput,
y::TargetInput...; fit_index::Integer, keyword_arguments...)

Calculates the score for the fit in cluster fit_index of lnr on data X and y.