인프런 커뮤니티 질문&답변

염민서님의 프로필 이미지

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

4회 기출 유형(작업형2)

4회 기출 유형 (작업형2) 관련 질문

해결된 질문

24.06.10 00:30 작성

·

95

0

안녕하세요 선생님!

xgboost를 사용해 예측을 진행하려고 하니,

ValueError: Invalid classes inferred from unique values of `y`.  Expected: [0 1 2 3], got [1 2 3 4]

위와 같은 에러코드가 나와, chat gpt에 물어보니,

XGBoost가 클래스 레이블을 0부터 시작하는 정수 값으로 기대하기 때문입니다. 즉, XGBoost는 클래스 레이블이 [0, 1, 2, 3]과 같은 형식을 갖추기를 기대하는데, 현재 데이터는 [1, 2, 3, 4]로 되어 있습니다.

이 문제를 해결하려면 클래스 레이블을 0부터 시작하도록 변경해야 합니다.

 

라고 답변을 주었는데, 코드를 수정해준 것을 보니, y 변수에 train['Segmentation']을 할당하여 LabelEncoding 을 진행하여 0부터 시작하는 데이터로 변환시켜주는 코드를 줬는데,

이 코드를 사용하여 예측하고 제출 csv 파일까지 만들어 확인해보니, Segmentation 예측을 1,2,3,4 로 한 것이 아닌 0,1,2,3 으로 예측하였는데...

xgboost를 사용하기 위해서는 어느 부분을 수정하여야 할까요?

 

감사합니다.

답변 1

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

2024. 06. 10. 09:51

xgboost를 사용하기 위해서는 2번 수정을해야해서 추천을 하지 않습니다.

예측전 수정, 예측 후 수정

이는 시험에서 실수할 가능성이 높아

부스팅계열 모델을 사용하신다면 lightgbm을 추천해요!

염민서님의 프로필 이미지
염민서
질문자

2024. 06. 10. 20:15

앗 그렇군요! 감사합니다. lightgbm으로 연습해보겠습니다!