Skip to content

Commit

Permalink
Merge pull request #811 from nabenabe0928/feat/replace-fanova-with-pe…
Browse files Browse the repository at this point in the history
…d-anova

Add PED-ANOVA as the first option for importance evaluator
  • Loading branch information
c-bata authored Feb 22, 2024
2 parents 07b64d8 + 3efee74 commit 8d1ae04
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions optuna_dashboard/_importance.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@
FastFanovaImportanceEvaluator = None # type: ignore


try:
from optuna.importance import PedAnovaImportanceEvaluator # type: ignore[attr-defined]
except ImportError:
_logger.warning("optuna>=3.6.0 is required for PedAnovaImportanceEvaluator.")
PedAnovaImportanceEvaluator = None # type: ignore


if TYPE_CHECKING:
from typing import Callable
from typing import Optional
Expand Down Expand Up @@ -64,6 +71,10 @@ def _get_param_importances(
*,
target: Optional[Callable[[FrozenTrial], float]] = None,
) -> dict[str, float]:
if PedAnovaImportanceEvaluator is not None:
# TODO(nabenabe0928): We might want to pass baseline_quantile as an argument in the future.
return get_param_importances(study, target=target, evaluator=PedAnovaImportanceEvaluator())

if FastFanovaImportanceEvaluator is not None:
try:
evaluator = FastFanovaImportanceEvaluator(completed_trials=completed_trials)
Expand Down

0 comments on commit 8d1ae04

Please sign in to comment.