작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
30
0
LGBMClassifier 로 plot_importance() 실행시 오류 발생합니다.
lightgbm 3.3.2 버전으로 다운그레이드했습니다.
그래도 오류가 발생합니다.
code 는
fig, ax = plt.subplots(figsize=(10, 12))
plot_importance(lgbm_wrapper, ax=ax)
plt.show()
입니다
tree must be Booster, XGBModel or dict instance
라는 메세지 입니다.
답변 2
0
안녕하십니까,
실습 코드를 그대로 사용하셨는데 오류가 발생하시는 건가요?
혹시 모르니 사용하신 실습 코드 전체를 여기에 올려봐 주시겠습니까?
주피터 노트북에서 cell을 하나 만들고, 그 cell에 수행 하신 전체 코드를 올려보시고 테스트 부탁드립니다. 그리고 해당 코드를 여기에 올려봐 주십시요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박종성님의 질문에 대해 설명드리겠습니다.
질문 주신 ‘tree must be Booster, XGBModel or dict instance’ 오류는 보통 LightGBM과 XGBoost를 혼동하여 발생하는 사례입니다. plot_importance
는 두 패키지 모두에서 제공하는 함수지만, 그 호출 방식이 다를 수 있습니다. lgbm_wrapper
가 올바르게 LGBMClassifier
로 설정되었는지 다시 확인해보시고, 필요하다면 LGBMClassifier
가 아닌 Booster
객체로 변환해서 시도해보는 것도 방법입니다.
오류 해결을 위한 재확인 사항:
lgbm_wrapper
가 LGBMClassifier
를 통해 학습된 상태인지 확인이 필요합니다.plot_importance
함수에 전달되는 객체가 어떤 것인지 확인하세요. LGBMClassifier
의 경우 booster_
속성을 이용할 수 있습니다.
booster = lgbm_wrapper.booster_
plot_importance(booster, ax=ax)
관련 답변 링크:
위의 방법으로도 문제가 해결되지 않는 경우, 사용하는 코드의 세부사항이나 데이터의 특징에 따라 추가적으로 조정이 필요할 수 있습니다. 코드의 정확한 부분을 공유하시면 더 구체적인 도움을 드릴 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.