Skip to content

Commit

Permalink
add base
Browse files Browse the repository at this point in the history
  • Loading branch information
RektPunk committed Sep 18, 2024
1 parent 2fdddb6 commit 4eb7d84
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions imlightgbm/base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from enum import Enum


class BaseEnum(str, Enum):
@classmethod
def get(cls, text: str) -> Enum:
cls.__check_valid(text)
return cls[text]

@classmethod
def __check_valid(cls, text: str) -> None:
if text not in cls._member_map_.keys():
valid_members = ", ".join(list(cls._member_map_.keys()))
raise ValueError(
f"Invalid value: '{text}'. Expected one of: {valid_members}."
)


class SupportedTask(BaseEnum):
binary: str = "binary"
multiclass: str = "multiclass"


class Metric(BaseEnum):
auc: str = "auc"
binary_logloss: str = "binary_logloss"
binary_error: str = "binary_error"
auc_mu: str = "auc_mu"
multi_logloss: str = "multi_logloss"
multi_error: str = "multi_error"


class Objective(BaseEnum):
focal: str = "focal"
weighted: str = "weighted"

0 comments on commit 4eb7d84

Please sign in to comment.