summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2024-01-11 12:12:26 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2024-01-11 12:12:26 +0100
commita91a70e1d0f420a981b9e33fa11c424212a42b52 (patch)
tree1d518472db95c00c430ede81c908904723a73585
parent325bd733f2d1af8ed861d865d24cbad98b552007 (diff)
doc: mention that --plot-param also shows model predictions
-rw-r--r--README.md2
-rw-r--r--doc/analysis-visual.md3
-rw-r--r--doc/model-visual.md5
-rw-r--r--doc/modeling-method.md2
4 files changed, 11 insertions, 1 deletions
diff --git a/README.md b/README.md
index 4299707..37d2042 100644
--- a/README.md
+++ b/README.md
@@ -135,7 +135,7 @@ The following variables may be set to alter the behaviour of dfatool components.
| `DFATOOL_DTREE_IGNORE_IRRELEVANT_PARAMS` | 0, **1** | Ignore parameters deemed irrelevant by stddev heuristic during regression tree generation |
| `DFATOOL_DTREE_LOSS_IGNORE_SCALAR` | **0**, 1 | Ignore scalar parameters when computing the loss for split node candidates. Instead of computing the loss of a single partition for each `x_i == j`, compute the loss of partitions for `x_i == j` in which non-scalar parameters vary and scalar parameters are constant. This way, scalar parameters do not affect the decision about which non-scalar parameter to use for splitting. |
| `DFATOOL_PARAM_CATEGORIAL_TO_SCALAR` | **0**, 1 | Some models (e.g. FOL, sklearn CART, XGBoost) do not support categorial parameters. Ignore them (0) or convert them to scalar indexes (1). |
-| `DFATOOL_FIT_FOL` | **0**, 1 | Build a first-order linear function (i.e., a * param1 + b * param2 + ...) instead of more complex functions or tree structures. |
+| `DFATOOL_FIT_FOL` | **0**, 1 | Build a first-order linear function (i.e., a * param1 + b * param2 + ...) instead of more complex functions or tree structures. Must not be combined with `--force-tree`. |
| `DFATOOL_FOL_SECOND_ORDER` || **0**, 1 | Add second-order components (interaction of feature pairs) to first-order linear function. |
## Examples
diff --git a/doc/analysis-visual.md b/doc/analysis-visual.md
index dad5bb6..b069bd0 100644
--- a/doc/analysis-visual.md
+++ b/doc/analysis-visual.md
@@ -22,4 +22,7 @@ parameter name. It shows each distinct configuration (parameter/NFP value) in
a different colour. Combining it with `--filter-param` and `--ignore-param`
may help de-clutter the plot.
+dfatool will additionally plot the predicted performance for each distinct
+configuration as a solid line.
+
![](/media/n_dpus-dpu_alloc-1.png)
diff --git a/doc/model-visual.md b/doc/model-visual.md
index 7830421..564cf3e 100644
--- a/doc/model-visual.md
+++ b/doc/model-visual.md
@@ -16,3 +16,8 @@ accessible via `dot -Tpng filename.dot | feh -`.
In case of regression forests (XGBoost), dfatool exports the individual trees to
`PREFIX(name)-(attribute).(index).dot`.
+
+## Plotting Model Predictions for Individual Configurations
+
+`--plot-param name:attribute:label` displays both raw readings (as points, see
+[[analysis-visual.md]]) and the corresponding performance model (as lines).
diff --git a/doc/modeling-method.md b/doc/modeling-method.md
index d29ab3a..f369cc0 100644
--- a/doc/modeling-method.md
+++ b/doc/modeling-method.md
@@ -39,6 +39,8 @@ All of these are valid regression model trees.
* `--force-tree` builds a tree structure even if dfatool's heuristic indicates that no non-integer parameter affects the modeled performance attribute.
* `DFATOOL_DTREE_IGNORE_IRRELEVANT_PARAMS=0` disables the relevant parameter detection heuristic when building the tree structure. By default, irrelevant parameters cannot end up as decision nodes.
* `DFATOOL_FIT_LINEAR_ONLY=1` makes RMT behave more like LMT by only considering linear functions in leaf nodes.
+* `DFATOOL_FIT_FOL=1`
+* `DFATOOL_PARAM_CATEGORIAL_TO_SCALAR=1`
* `DFATOOL_SKIP_CODEPENDENT_CHECK=1`
* `DFATOOL_REGRESSION_SAFE_FUNCTIONS=1`