From f5dc0977cd8b61d65c1f6912df57d28e4ca13496 Mon Sep 17 00:00:00 2001 From: Antonello Lobianco Date: Wed, 15 May 2024 22:11:44 +0200 Subject: [PATCH] Added logo for documentation --- docs/src/assets/logo.png | Bin 0 -> 43029 bytes .../Feature importance/Feature_importance.jl | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 docs/src/assets/logo.png diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4147b4959f63a4d1159e776747a87f0b3aadaa GIT binary patch literal 43029 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 literal 0 HcmV?d00001 diff --git a/docs/src/tutorials/Feature importance/Feature_importance.jl b/docs/src/tutorials/Feature importance/Feature_importance.jl index dd4efb00..b9e89b11 100644 --- a/docs/src/tutorials/Feature importance/Feature_importance.jl +++ b/docs/src/tutorials/Feature importance/Feature_importance.jl @@ -1,6 +1,6 @@ # # [Understanding variable importance in black-box machine learning models](@id variable_importance_tutorial) -# Often we want to understand the contribution of different variables (x columns) to the prediction accuracy of a black-box machine learning model. +# Often we want to understand the contribution of the different variables (x columns) to the prediction accuracy of a black-box machine learning model. # To this end, BetaML 0.12 introduces [`FeatureRanker`](@ref), a flexible variable ranking estimator that employs multiple variable importance metrics. # `FeatureRanker` helps to determine the importance of features in predictions from any black-box machine learning model (not necessarily the BetaML suit), internally using cross-validation to assess the quality of the predictions (`metric="mda"`), or the contribution of the variable to the variance of the predictions (`metric="sobol"`), with or without a given variable. @@ -36,10 +36,12 @@ ysort = sort(y) ycat = [(i < ysort[Int(round(N/3))]) ? "c" : ( (i < ysort[Int(round(2*N/3))]) ? "a" : "b") for i in y] yoh = fit!(OneHotEncoder(),ycat); -# We first try a Random Forest regressor. The BetaML `RandomForestEstimator` model supports a `predict` function with the option to ignore specific dimensions. This allow us to "test" the various variables without retraining the model: +# We run this example using a Random Forest regressor. The BetaML `RandomForestEstimator` model supports a `predict` function with the option to ignore specific dimensions. This allow us to "test" the various variables without retraining the model: fr = FeatureRanker(model=RandomForestEstimator(),nsplits=5,nrepeats=1,recursive=false,metric="mda",ignore_dims_keyword="ignore_dims") -rank = fit!(fr,x,y) # As for the other BetaML models, `fit!` by default returns the predictions, in this case the ranking, avoiding a `predict` call + +# We can now fit the `FeatureRanker` to our data. Note that, as for the other BetaML models, `fit!` by default returns the predictions, in this case the ranking, avoiding a separate `predict` call. The returned raking goes from the lowest to the most important variable, according to the given metric. +rank = fit!(fr,x,y) # As expected, the ranking shows `x1` as the most important variable. Let's look in detail at the metrics that we can obtain by querying the model with `info(fr)`: