LightGBM에서 verbose_eval가 없다는 에러?

hyonun·2024년 1월 24일
0
train() got an unexpected keyword argument 'verbose_eval'

라는 에러가 발생한다.
본래LightGBM 을 3.x.. 버전에서는 존재했는데

LightGBM이 4.x..버전으로 업데이트하면서 인수에서 사라졌다.

먼저 verbose_eval은

verbose_eval : bool or int, optional (default=True)
        Requires at least one validation data.
        If True, the eval metric on the valid set is printed at each boosting stage.
        If int, the eval metric on the valid set is printed at every `verbose_eval` boosting stage.
        The last boosting stage or the boosting stage found by using `early_stopping_rounds` is also printed.
        .. rubric:: Example
        With `verbose_eval` = 4 and at least one item in `valid_sets`,
        an evaluation metric is printed every 4 (instead of 1) boosting stages.

verbose_eval 을 4로 설정하면, boosting stage의 4번째마다 evaluation metric 정보를 프린트한다고 나와있다.

4.2.0 버전 부터는 삭제되어있는데

비슷하게 동작하는 파라미터로

eval_train_metric : bool, optional (default=False)
        Whether to display the train metric in progress.
        The score of the metric is calculated again after each training step, so there is some impact on performance.

가 있다.
진행중인 train metric을 표시한다고 나온다. 각 트레이닝 스텝마다.

verbose_eval이 그냥 각 단계마다 print 하는 역할이라 생각하니
잘은 모르겠지만, 이젠 사용하지 않는 파라미터니 지워서 사용했다.

왜사라졌는지 알고싶고 분명 대체제가 있을텐데 명확하게 알고싶다.

출처 : lightgbm.train — LightGBM 4.2.0.99 documentation

profile
비전공자 + 반도체 경력2년의 IT개발자 도전기~

0개의 댓글