<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>World Conference on eXplainable Artificial
Intelligence:</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>mlr3summary: Concise and interpretable summaries for machine learning models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Susanne Dandl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marc Becker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernd Bischl</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Casalicchio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ludwig Bothmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ludwig-Maximilians-Universität München (LMU Munich)</institution>
          ,
          <addr-line>Ludwigstrasse 33, 80539, Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Munich Center for Machine Learning (MCML)</institution>
          ,
          <addr-line>Munich</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <fpage>7</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>This work introduces a novel R package for concise, informative summaries of machine learning models. We take inspiration from the summary function for (generalized) linear models in R, but extend it in several directions: First, our summary function is model-agnostic and provides a unified summary output also for non-parametric machine learning models; Second, the summary output is more extensive and customizable - it comprises information on the dataset, model performance, model complexity, model's estimated feature importances, feature efects, and fairness metrics; Third, models are evaluated based on resampling strategies for unbiased estimates of model performances, feature importances, etc. Overall, the clear, structured output should help to enhance and expedite the model selection process, making it a helpful tool for practitioners and researchers alike.</p>
      </abstract>
      <kwd-group>
        <kwd>Model summary</kwd>
        <kwd>interpretable machine learning</kwd>
        <kwd>resampling-based evaluation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Machine learning (ML) increasingly supports decision-making processes in various domains.
A data scientist has a wide range of models available, ranging from intrinsically interpretable
models such as linear models to highly complex models such as random forests or gradient
boosted trees. Intrinsically interpretable models can come at the expense of generalization
performance, i.e., the model’s capability to predict accurately on future data. Being able to
interpret predictive models is either often a strict requirement for scientific inference or at least
a very desirable property to audit models in other (more technical) contexts. Many methods
have been proposed for interpreting black-box ML models in the field of interpretable ML (IML).</p>
      <p>
        For comparing (generalized) linear models (GLMs), the stats package in R ofers a summary
function, which only requires the model (fitted with lm or glm) as input. As an example, glm is
applied to a preprocessed version of the German credit dataset [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] (available in the package via
data("credit", package = "mlr3summary")):
&gt; logreg = glm(risk ~., data = credit, family = binomial(link = "logit"))
&gt; summary(logreg)
Call:
glm(formula = risk ~., data = credit, family = binomial(link = "logit"))
Coefficients:
(Intercept)
age
...
      </p>
      <p>Residual deviance: 656.19 on 515 degrees of freedom
AIC: 670.19
...</p>
      <p>
        Estimate Std. Error z value Pr(&gt;|z|)
1.057e+00 3.646e-01 2.900 0.00373 **
9.103e-03 8.239e-03 1.105 0.26925
This (shortened) summary informs about the significance of variables ( Pr(&gt;|z|)), their
respective efect size and direction ( Estimate), as well as the goodness-of-fit of the model ( Residual
deviance and AIC). Unfortunately, many other non-parametric ML models currently cannot
be analyzed similarly: either targeted implementations exist for specific model classes, or an
array of diferent model-agnostic interpretability techniques (e.g., to derive feature importance)
scattered across multiple packages [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2, 3, 4</xref>
        ] must be employed. However, especially in applied
data science, a user often performs model selection or model comparison across an often diverse
pool of candidate models, so a standardized diagnostic output becomes highly desirable.
      </p>
      <p>
        Another issue is that in the glm-based summary, the goodness-of-fit is only evaluated on
the training data, but not on hold-out/test data. While this might be appropriate for GLM-type
models – provided proper model diagnosis has been performed – this is not advisable for
nonparametric and non-linear models, which can overfit the training data. 1 Here, hold-out test data
or in general resampling techniques like cross-validation should be used for proper estimation of
the generalization performance [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Such resampling-based performance estimation should also
be used for loss-based IML methods. For interpretability methods that only rely on predictions,
this might also be advisable but might not lead to huge diferences in results [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ].
Contributions With the mlr3summary package, we provide a novel model-agnostic
summary function for ML models and learning algorithms in R. This is facilitated by building
upon mlr3 [
        <xref ref-type="bibr" rid="ref8">8, 9</xref>
        ] – a package ecosystem for applied ML, including resampling-based
performance assessment. The summary function returns a structured overview that gives information
on the underlying dataset and model, generalization performances, complexity of the model,
fairness metrics, and feature importances and efects. For the latter two, the function relies on
model-agnostic methods from the field of IML. The output is customizable via a flexible control
argument to allow adaptation to diferent application scenarios. The mlr3summary package
is released under LGPL-3 on CRAN and GitHub (https://github.com/mlr-org/mlr3summary).
Documentations in the form of help pages are available as well as unit tests. The code to
reproduce this paper is part of the package and GitHub repository (inst/ or demo/).
1For completeness’ sake: Overfitting can happen for GLMs, e.g., in high-dimensional spaces with limited sample size.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        Most R packages that ofer model summaries are restricted to parametric models and extend
the stats summary method (e.g., modelsummary [10] or broom [11]). Performance is only
assessed based on training data – generalization errors are not provided. Packages that can
handle diverse ML models focus primarily on performance assessment (e.g., mlr3 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or caret
[12]). Packages that primarily consider feature importances and efects do not provide overviews
in a concise, decluttered format but provide extensive reports (e.g., modelDown [13] and
modelStudio [14] based on DALEX [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], or explainer [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). While it is possible to base the
assessment on hold-out/test data, assessment based on resampling is not automatically supported
by these packages. Overall, to the best of our knowledge, there is no R package yet that allows
for a concise yet informative overview based on resampling-based performance assessment,
model complexity, feature importance and efect directions, and fairness metrics.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Design, functionality, and example</title>
      <p>The core function of the mlr3summary package is the S3-based summary function for mlr3
Learner objects. It has three arguments: object reflects a trained model – a model of
class Learner fitted with mlr3; resample_result reflects the results of resampling – a
ResampleResult object fitted with mlr3; control reflects some control arguments – a list
created with summary_control (details in Section 3.2).</p>
      <p>The mlr3 package is the basis of mlr3summary because it provides a unified interface to
diverse ML models and resampling strategies. A general overview of the mlr3 ecosystem is
given in Bischl et al. [9]. With mlr3, the modelling process involves the following steps: (1)
initialize a regression or classification task, (2) choose a regression or classification learner, 2 (3)
train a model with the specified learner on the initialized task, (4) apply a resampling strategy.
The last step is necessary to receive valid estimates for performances, importances, etc., as
mentioned in Section 1. The following lines of code illustrate steps (1)-(4) on the (preprocessed)
credit dataset from Section 1 using a ranger random forest and 3-fold cross-validation.
&gt; task = TaskClassif$new(id = "credit", backend = credit, target = "risk")
&gt; rf = lrn("classif.ranger", predict_type = "prob")
&gt; rf$train(task)
&gt; cv3 = rsmp("cv", folds = 3L)
&gt; rr = resample(task = task, learner = rf, resampling = cv3,
+ store_models = TRUE)</p>
      <p>Internally, the resample function fits, in each iteration, the model on the respective training
data, uses the model to predict the held-out test data, and stores the predictions in the result
object. To compute performances, complexities, importances, and other metrics, the summary
function iteratively accesses the models and datasets within the resulting object, which requires
setting the parameter store_models = TRUE within resample. For the final summary
output, the results of each iteration are aggregated (e.g., averages and standard deviations (sds)).
2Custom learners can also be added to mlr3, see https://mlr3extralearners.mlr-org.com/articles/extending.html.</p>
      <sec id="sec-3-1">
        <title>3.1. Summary function and output</title>
        <p>This section shows the summary call and output for the random forest of the previous credit
example and provides some details on each displayed paragraph.
&gt; summary(object = rf, resample_result = rr)</p>
        <p>General provides an overview of the task, the learner (including its hyperparameters), and
the resampling strategy.3</p>
        <p>Residuals display the distribution of residuals of hold-out data over the resampling iterations.
For regression models, the residuals display the diference between true and predicted outcome.
For classifiers that return class probabilities, the residuals are defined as the diference between
predicted probabilities and a one-hot-encoding of the true class. For classifiers that return
classes, a confusion matrix is shown.</p>
        <p>Performance displays averages and sds (in [ ]) of performance measures over the iterations.4
3Currently, this is the only paragraph that is based on object, all other paragraphs are based on resample_result.
4Please note that there is no unbiased estimator of the variance, see [15] and Section 5 for a discussion.
The shown performance values are the area-under-the-curve (auc), the F-score (fbeta), the
binary Brier score (bbrier), and Mathew’s correlation coeficient (mcc). The arrows display
whether lower or higher values refer to a better performance. “(macro)” indicates a macro
aggregation, i.e., measures are computed for each iteration separately before averaging. “(micro)”
would indicate that measures are computed across all iterations (see [9] for details).</p>
        <p>Complexity displays averages and sds of two model complexity measures proposed by
Molnar et al. [16]: sparsity shows the number of used features that have a non-zero efect
on the prediction (evaluated by accumulated local efects (ale) [ 17]); interaction_strength
shows the scaled approximation error between a main efect model (based on ale) and the
prediction function.5</p>
        <p>Importance shows the averages and sds of feature importances over the iterations. The first
column (pdp) displays importances based on the sds of partial dependence curves [18, 19], the
second column (pfi.ce) shows the results for permutation feature importance [20, 21].</p>
        <p>Efects shows average efect plots over the iterations – partial dependence plots (pdp) [ 18]
and ale plots [17]. For binary classifiers, the efect plots are only shown for the positively-labeled
class (here, task$positive = "good"). For multi-class classifiers, the efect plots are given
for each outcome class separately (one vs. all). For categorical features, the bars are ordered
according to the factor levels of the feature.</p>
        <p>The learner can also be a complete pipeline from mlr3pipelines [22], where the most
common case would be an ML model with associated pre-processing steps. Then, the summary
output also shows some basic information about the pipeline.6 Since preprocessing steps are
treated as being part of the learner, the summary output is displayed on the original data (e.g.,
despite one-hot encoding of categorical features, importance results are not shown for each
encoding level separately). The learner can also be an AutoTuner from mlr3tuning, where
automatic processes for tuning the hyperparameters are conducted. Examples on pipelining
and tuning are given in the demo of the package.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Customizations</title>
        <p>
          The output of the summary function can be customized via a control argument which requires
a list created with the function summary_control as an input. If no control is specified, the
following default setting is used:
&gt; summary_control(measures = NULL,
+ complexity_measures = c("sparsity", "interaction_strength"),
+ importance_measures = NULL, n_important = 15L,
+ effect_measures = c("pdp", "ale"),
+ fairness_measures = NULL, protected_attribute = NULL,
+ hide = NULL, digits = max(3L, getOption("digits") - 3L))
Performances are adaptable via measures, complexities via complexity_measures,
importances via importance_measures and efects via effect_measures within
summary_control. Examples are given in the demo of the package. The default for measures
5The interaction strength has a value in [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ], 0 means no interactions, 1 means no main efects but interactions.
6Linear pipelines can be displayed in the console, non-linear parts are suppressed in the output.
and importance_measures is NULL, which results in a collection of commonly reported
measures being chosen, based on the task type – for concrete measures see the help page
(?summary_control). n_important reflects that, by default, only the 15 most important
features are displayed in the output. This is especially handy for high-dimensional data. With
hide, paragraphs of the summary output can be omitted (e.g., "performance") and with
digits, the number of printed digits is specified.
        </p>
        <p>Fairness assessment for classification and regression models is also available in the
mlr3summary package based on the mlr3fairness package [23]. Therefore, a protected
attribute must be specified. This can be done either within the task by updating the feature
roles or by specifying a protected_attribute in summary_control. The following shows
the code and output when specifying sex as a protected attribute. The shown default fairness
measures are demographic parity (dp), conditional use accuracy equality (cuae) and equalized
odds (eod), other measures are possible via fairness_measures in summary_control.
&gt; summary(object = rf, resample_result = rr,
+ control = summary_control(protected_attribute = "sex"))</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Runtime assessment</title>
      <p>To assess how the runtime scales with difering numbers of features  ∈ {5, 10, 25, 50, 100}
and numbers of observations  ∈ {50, 100, 500, 1000, 2000}, we conducted a simulation study.
Given 1, 2, 3 ∼  (0, 1), 4 ∼ (0.75), the data generating process is  =  (x) + 
with  (x) = 41 +42 +4432 and  ∼  (0, 0.1·  (x)). As noise variables, 5 as a categorical
feature with five classes, and 6, ...,  ∼  (0, 1) were added to the data. We trained random
forests and linear main efect models on the datasets and conducted 3-fold cross-validation. The
ifrst two figures in Figure 1 show that runtimes of the linear model were lower compared to the
random forest. To improve runtimes, we added parallelization over the resampling iterations
(via the future package [24]) as another feature to mlr3summary – results for the random
forest (with 3 cores) are on the right. Overall, scaling of runtimes is worse in  than in .</p>
    </sec>
    <sec id="sec-5">
      <title>5. Outlook and discussion</title>
      <p>
        In conclusion, this paper introduces a novel R package for concise model summaries. The
summary output is highly adaptable due to a control argument and might be extended in
the future. We also plan to ofer a report function for detailed visualizations and model
comparisons. To assess importance and efects of single features, mlr3summary builds upon
the iml and fastshap packages. These packages only ofer a limited set of interpretation
methods. Recommended alternatives to permutation feature importances like conditional
feature importance [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], are currently not available in a proper R package (published on CRAN).
Our summary also currently lacks proper statistical tests for importances or confidence intervals
for performances. This is because unbiased estimates of the variance are required which is a
challenge for resampling strategies and the available methods that propose unbiased estimates
are computationally infeasible (e.g., due to many model refits) [
        <xref ref-type="bibr" rid="ref7">7, 25</xref>
        ]. Addressing this issue
requires some concerted eforts from the research community. If methods are readily available
in R, we are happy to integrate them in mlr3summary.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work has been partially supported by the Federal Statistical Ofice of Germany.
L. Kotthof, B. Bischl, mlr3: A modern object-oriented machine learning framework in R,
Journal of Open Source Software (2019). doi:10.21105/joss.01903.
[9] B. Bischl, R. Sonabend, L. Kotthof, M. Lang, Applied machine learning using mlr3 in R,</p>
      <p>Chapman and Hall/CRC, 2024. doi:10.1201/9781003402848.
[10] V. Arel-Bundock, modelsummary: Data and model summaries in R, Journal of Statistical</p>
      <p>Software 103 (2022) 1–23. doi:10.18637/jss.v103.i01.
[11] D. Robinson, A. Hayes, S. Couch, broom: Convert statistical objects into tidy tibbles, 2023.</p>
      <p>URL: https://CRAN.R-project.org/package=broom, R package version 1.0.5.
[12] Kuhn, Max, Building predictive models in R using the caret package, Journal of Statistical</p>
      <p>Software 28 (2008) 1–26. doi:10.18637/jss.v028.i05.
[13] K. Romaszko, M. Tatarynowicz, M. Urbański, P. Biecek, modelDown: Automated
website generator with interpretable documentation for predictive machine learning models,
Journal of Open Source Software 4 (2019). doi:10.21105/joss.01444.
[14] H. Baniecki, P. Biecek, modelStudio: Interactive studio with explanations for ML predictive
models, Journal of Open Source Software 4 (2019) 1798. doi:10.21105/joss.01798.
[15] C. Nadeau, Y. Bengio, Inference for the generalization error, in: S. Solla, et al. (Eds.),</p>
      <p>Advances in Neural Information Processing Systems, volume 12, MIT Press, 1999, pp. 1–7.
[16] C. Molnar, G. Casalicchio, B. Bischl, Quantifying model complexity via functional
decomposition for better post-hoc interpretability, Springer International Publishing, 2020, p.
193–204. doi:10.1007/978-3-030-43823-4_17.
[17] D. W. Apley, J. Zhu, Visualizing the efects of predictor variables in black box supervised
learning models, Journal of the Royal Statistical Society Series B: Statistical Methodology
82 (2020) 1059–1086. doi:10.1111/rssb.12377.
[18] J. H. Friedman, Greedy function approximation: A gradient boosting machine, The Annals
of Statistics 29 (2001). doi:10.1214/aos/1013203451.
[19] B. M. Greenwell, B. C. Boehmke, A. J. McCarthy, A simple and efective model-based
variable importance measure, arXiv preprint arXiv:1805.04755 (2018). doi:10.48550/
arXiv.1805.04755.
[20] L. Breiman, Random forests, Machine Learning 45 (2001) 5–32. doi:10.1023/a:
1010933404324.
[21] A. Fisher, C. Rudin, F. Dominici, All models are wrong, but many are useful: Learning
a variable’s importance by studying an entire class of prediction models simultaneously,
Journal of Machine Learning Research 20 (2019).
[22] M. Binder, F. Pfisterer, M. Lang, L. Schneider, L. Kotthof, B. Bischl, mlr3pipelines - Flexible
machine learning pipelines in R, Journal of Machine Learning Research 22 (2021) 1–7.
[23] F. Pfisterer, W. Siyi, M. Lang, mlr3fairness: Fairness auditing and debiasing for ’mlr3’, 2023.</p>
      <p>URL: https://CRAN.R-project.org/package=mlr3fairness, R package version 0.3.2.
[24] H. Bengtsson, A unifying framework for parallel and distributed processing in R using
futures, The R Journal 13 (2021) 208–227. doi:10.32614/RJ-2021-048.
[25] T. H. Stephen Bates, R. Tibshirani, Cross-validation: What does it estimate and how well
does it do it?, Journal of the American Statistical Association (2023) 1–12. doi:10.1080/
01621459.2023.2197686.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Hofmann</surname>
          </string-name>
          ,
          <article-title>Statlog (German credit data), UCI Machine Learning Repository (</article-title>
          <year>1994</year>
          ). doi:
          <volume>10</volume>
          .24432/C5NC77.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Molnar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Casalicchio, iml: An R package for interpretable machine learning</article-title>
          ,
          <source>JOSS</source>
          <volume>3</volume>
          (
          <year>2018</year>
          )
          <article-title>786</article-title>
          . doi:
          <volume>10</volume>
          .21105/joss.00786.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Biecek</surname>
          </string-name>
          , DALEX:
          <article-title>Explainers for complex predictive models in R</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
          <volume>19</volume>
          (
          <year>2018</year>
          )
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Zargari</surname>
          </string-name>
          <string-name>
            <surname>Marandi</surname>
          </string-name>
          ,
          <source>explainer: Machine learning model explainer</source>
          ,
          <year>2023</year>
          . URL: https://CRAN. R-project.org/package=explainer,
          <source>R package version 1.0.0.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Simon</surname>
          </string-name>
          ,
          <article-title>Resampling strategies for model assessment</article-title>
          and selection,
          <string-name>
            <surname>Springer</surname>
            <given-names>US</given-names>
          </string-name>
          , Boston, MA,
          <year>2007</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>186</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-0-
          <fpage>387</fpage>
          -47509-
          <issue>7</issue>
          _
          <fpage>8</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Molnar</surname>
          </string-name>
          , G. König,
          <string-name>
            <given-names>J.</given-names>
            <surname>Herbinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Freiesleben</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dandl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Scholbeck</surname>
          </string-name>
          , G. Casalicchio,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grosse-Wentrup</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <article-title>General pitfalls of model-agnostic interpretation methods for machine learning models</article-title>
          , in: A.
          <string-name>
            <surname>Holzinger</surname>
          </string-name>
          , et al. (Eds.), xxAI - Beyond
          <string-name>
            <surname>Explainable</surname>
            <given-names>AI</given-names>
          </string-name>
          : International Workshop, Springer International Publishing, Cham,
          <year>2022</year>
          , pp.
          <fpage>39</fpage>
          -
          <lpage>68</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -04083-
          <issue>2</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Molnar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Freiesleben</surname>
          </string-name>
          , G. König,
          <string-name>
            <given-names>J.</given-names>
            <surname>Herbinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Reisinger</surname>
          </string-name>
          , G. Casalicchio,
          <string-name>
            <given-names>M. N.</given-names>
            <surname>Wright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <article-title>Relating the partial dependence plot and permutation feature importance to the data generating process</article-title>
          , in: L.
          <string-name>
            <surname>Longo</surname>
          </string-name>
          (Ed.),
          <source>Explainable Artificial Intelligence</source>
          , Springer Nature Switzerland, Cham,
          <year>2023</year>
          , pp.
          <fpage>456</fpage>
          -
          <lpage>479</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -44064-9_
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Binder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Richter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Schratz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pfisterer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Coors</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Au</surname>
          </string-name>
          , G. Casalicchio,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>