inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

6회 기출 작업형02

53

한경주

작성한 질문수 4

0

6회 기출 다중분류 문제에서

XGB를 사용하면 오류가 나는데 이유가 뭘까요?

 

from xgboost import XGBClassifier

model = XGBClassifier(random_state=0, verbose=-1)

 

/usr/local/lib/python3.12/dist-packages/xgboost/sklearn.py in fit(self, X, y, sample_weight, base_margin, eval_set, verbose, xgb_model, sample_weight_eval_set, base_margin_eval_set, feature_weights)
   1756                 or not (classes == expected_classes).all()
   1757             ):
-> 1758                 raise ValueError(
   1759                     f"Invalid classes inferred from unique values of `y`.  "
   1760                     f"Expected: {expected_classes}, got {classes}"

 

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

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 2

1

퇴근후딴짓

안녕하세요 🙂

우선 xgboost는 조금 까다롭습니다.

다른 모델들은 개선이 되었는데 xgb는 여전히 개선되지 않는 부분이

분류일 경우 타겟이 숫자여야하고 0부터 시작해야 합니다.

 

이에 xgb보단 비슷한 부스팅계열이면서 더 빠른 lightgbm을 추천해요 🙂

화이팅입니다!!!

1

한경주

감사합니다!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 한경주님.

XGBClassifier를 사용할 때 발생하는 오류 “ValueError: Invalid classes inferred from unique values of y. Expected: [0 1 2 3 4], got [‘High’ ‘Low’ ‘Medium’ ‘Very High’ ‘Very Low’]“는 XGBoost가 타겟 레이블을 0부터 시작하는 정수형 값으로 기대하기 때문에 발생합니다. 이는 XGBoost의 다중 분류 모델이 문자열이나 카테고리형 데이터 대신 정수형 데이터를 받도록 설계되었기 때문입니다.

이 문제를 해결하기 위해서는 타겟 레이블을 정수형으로 변환해야 합니다. LabelEncoder를 사용하여 카테고리형 데이터를 숫자 값으로 변환할 수 있습니다. 참고로, 변환 후의 결과와 원래 문자열 라벨의 매핑을 저장해 두면, 예측 결과 해석 시 도움이 됩니다.

비슷한 문제를 다룬 기존 질문도 확인해보세요:

해당 게시물 요약:
- LabelEncoder를 사용해 ‘High’, ‘Low’ 등의 타겟 레이블을 0, 1, 2 등으로 변환해야 합니다.
- 변환 코드 예시:

  from sklearn.preprocessing import LabelEncoder

  le = LabelEncoder()
  y = le.fit_transform(y)

이후 예측 후에는 다시 원래의 문자열로 변환할 수 있습니다.

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

뒤로가기 버튼 같은 것이 있나요?

0

27

1

강의 연장 문의

0

31

1

출력값 질문

0

31

2

수업노트가 어디에 있나요?

0

29

1

실기시험 제출관련

0

160

2

6.20 작업형 2 과적합

0

169

3

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

52

2

로지스틱회귀, 회귀

0

52

2

회귀 문제를 풀때 질문입니다.

0

59

1

불균형 처리 후 성능이 더 낮아졌다면,

0

66

2

실기 체험 제2유형 에러 문의

0

66

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

52

2

3번문제 등분산 가정

0

50

2

작업형3 target 형 변환 질문

0

38

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

40

3

원핫인코딩과 레이블 인코딩에서 concat

0

62

2

제2유형 질문입니다.

0

49

2

C()

0

44

2

작업형 2에서 strafity 적용 유무

0

53

2

수강 기간 연장 가능 여부 문의드립니다.

0

63

1

ols

0

44

2

2유형 작성관련 질문(일반 심화)

0

41

2

2유형 작성관련 질문

0

42

2

2유형 object컬럼 개수 다르면

0

49

2