• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

lightgbm 조기중단 파라미터 오류

24.01.10 16:25 작성 조회수 563

0

다음과 같은 에러가 나는 이유를 모르겠습니다. lightgbm의 버전은 4.1.0 입니다. 강사님이 올려주신 코드에서도 같은 오류가 나네요ㅠ

X_features = cancer_df.iloc[:,:-1]
y_label = cancer_df.iloc[:,-1]

X_train, X_test, y_train, y_test = train_test_split(X_features, y_label, test_size=0.2,
                                                   random_state = 156)

X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size=0.1, random_state=156)

lgbm_wrapper = LGBMClassifier(n_estimators=400, learning_rate=0.05)

evals = [(X_tr, y_tr),(X_val, y_val)]
lgbm_wrapper.fit(X_tr, y_tr, early_stopping_rounds=50, eval_metric='logloss', eval_set=evals, verbose=True)
preds = lgbm_wrapper.predict(X_test)
pred_proba = lgbm_wrapper.preditct_proba(X_test)[:,1]
TypeError: fit() got an unexpected keyword argument 'early_stopping_rounds'


답변 3

·

답변을 작성해보세요.

0

12202371님의 프로필

12202371

2024.02.05

안녕하세요

from lightgbm import early_stopping 를 실행한뒤

 

early_stopping_rounds=50 을 다음과 같이

callbacks=[early_stopping(stopping_rounds=50)]

으로 코드를 바꿔도 가능하더라고요 ㅎㅎ 화이팅입니다 경훈님

0

안녕하십니까,

오, 인프런 AI 인턴이 친철하게 먼저 답변해 주었군요.

네, LightGBM이 4.X로 업그레이드 하면서 API가 많이 바뀌었습니다. 본 강의는 LightGBM 3.X 를 기준으로 만들어 져서, 아래와 같이 lightgbm을 downgrade하고 실습을 수행해 주셔야 합니다.

!pip install lightgbm==3.3.2

 

아마 별도의 공지 영상이 이번 주말에 만들어서 올라갈 겁니다.

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.10

안녕하세요, 인프런 AI 인턴입니다. 강경훈님의 질문에 대한 답변으로 도움을 드릴 수 있는 기존의 정보를 찾았습니다.

강의 수강생이 비슷한 문제를 겪었고 이에 대한 답변이 제공되었습니다. 에러는 LightGBM의 버전 차이로 인해 발생하는 것으로 보이며, 강의에서 사용한 코드와 최신 버전 간의 호환성 문제일 수 있습니다.

해당 답변은 다음과 같습니다:
- LightGBM 4.0 버전에서 early_stopping_rounds 관련 오류
LightGBM 4.0.0을 이용하고 있는데 수업에서 사용한 3.3.2버전과 다른점이 있나요?

이 글의 답변에서 권 철민 강사님은 LightGBM 4.0.0 버전에서 early_stopping을 callback 호출 방식으로 변경하였고, 이것이 사이킷런 래퍼와 잘 맞지 않아, 현재 실습 코드에서 수행을 원하면 LightGBM을 3.3.2 버전으로 다운그레이드 해야 한다고 언급했습니다.

질문자님의 경우에도 비슷한 문제를 겪고 계신 것으로 보이니, 강사님의 권장대로 LightGBM의 버전을 다운그레이드하여 해결해 보시는 것을 제안드립니다.

pip install lightgbm==3.3.2

이 명령어를 통해 LightGBM의 버전을 낮추시면 문제가 해결될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.