inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

6회 기출 유형(작업형2) xgboost 관련 질문있습니다!

해결된 질문

644

SEO

작성한 질문수 16

0

안녕하세요 다중분리를 할 때 xgboost classification을 적용하는 과정에서 문제가 생겨서 질문드립니다.

처음 데이터셋 그대로 xgboost를 쓰니까

"ValueError: Invalid classes inferred from unique values of y. Expected: [0 1 2 3 4], got ['High' 'Low' 'Medium' 'Very High' 'Very Low']" # 참고로 y는 train 데이터에서 타겟변수만 따로 pop해놓은 변수입니다.

이런 에러가 뜨더라구요, 그래서 for문을 이용해서

for i in range(len(y)):
    if y[i] =='Very Low':
        y[i] = 0
    elif y[i] =='Low':
        y[i] = 1
    elif y[i] =='Medium':
        y[i] = 2
    elif y[i] =='High':
        y[i] = 3                
    elif y[i] =='Very High':
        y[i] = 4

이렇게 바꾸니까, 모델과 pred는 돌아가긴 돌아가는데, f1_score(pred, y_val, average= 'macro')로 점수를 내는 과정에서 새로운 오류가 생겨 점수가 나타나지 않습니다..

ValueError: Classification metrics can't handle a mix of multiclass and unknown target 이라고 떴고, 이전과 비교를 해보니까

랜덤 포레스트 classifier를 돌릴 때 pred는 'Low' 'High' 'Very Low' 'Medium' 'Low' 'Low' 'Low' 'Low' 'High' 'High' ... 이런식으로 되어있는 반면

xgboost는 [1 3 0 2 1 1 1 1 3 3 3 3 0 2 1 3 3 3 3 1 2 3 1 2 0 3 3 1 1 0 0 3 0 1 4 0 4

0 3 1 4 2 2 1 2 3 0 3 1 0 3 1 3 0 0 1 1 2 0 0 4 1 4 2 3 1 2 4 4 4 3 1 0 0

0 0 4 1 0 4 0 0 3 2 0 1 2 4 3 4 0 1 1 0 1 2 3 0 0 1 3 3 0 0 4 0 2 3] 이렇게 콤마로 되어있는걸 알게되었습니다.

그래서 모델을 돌린 뒤

for i in range(len(pred)):
    if pred[i] == 0:
        pred[i] = 'Very Low'
    elif pred[i] == 1 :
        pred[i] = 'Low'
    elif pred[i] ==2:
        pred[i] = 'Medium'
    elif pred[i] ==3:
        pred[i] = 'High'               
    elif pred[i] ==4:
        pred[i] = 'Very High'

 다시 원상복구를 시켜서,

['Low', 'High', 'Very Low', 'Medium', 'Low', 'Low', 'Low', 'Low', 'High', 'High', 'High', 'High', 'Very Low', 'Medium',...] 이 형식으로 만들었고,

pred = pd.DataFrame(pred)

으로해서.. 음.. 만들었는데 여전히 되지 않습니다..

 

결론은 저런 과정을 통해.. 해결하고자 했는데 여전히 못하고있고..

  1. xgboost를 사용하려면 어떻게 해야되나요 ?

  2. 이런 과정을 거치지 않고서도 xgboost를 돌리려면 어떻게 해야하나요?

입니다.

 

감사합니다!

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

답변 1

0

퇴근후딴짓

xgboost의 경우 0,1,2,3... 로변경해야 하고 예측 결과를 다시 변환해야 하는 번거로움이 있어요

또한 워닝을 너무 자주 내기도 해서

부스팅 계열을 사용한다면 xgb보다는 lightgbm추천드립니다 (마지막 영상에 있음)

수강연장 관련 문의

0

11

2

안녕하세요 강사님 문의사항이 있습니다

0

20

1

수강 연장 문의

0

30

4

수강기간 연장 관련 문의

0

26

2

작업형2모의문제3_updated2026.10

0

44

2

안녕하세요. 수강연장 신청드립니다

0

26

2

코랩 링크

0

25

2

작업형2 모의문제2 updated 2026.10 질문

0

40

2

카이제곱 독립성검정 질문합니다.

0

36

2

기출 7회 작업형2 평가지표 문의드립니다.

0

30

2

수강연장 문의 드립니다!

0

49

3

수강연장 문의드립니다

0

43

4

작업형2모의문제3_updated2026.10

0

52

2

작업형2 모의문제3_updated2026.10

0

47

2

38강에서 불균형 데이터 처리하는 stratify를 꼭 해줘야하는건지 질문합니다.

0

45

2

수강강의 연장 관련 문의

0

61

2

작업형1_연습문제1 section2

0

47

2

수강기간 연장 문의드립니다

0

50

2

작업형2 모의문제2_updated2026.10

0

60

2

수강기간 연장문의

0

46

2

작업형 2 질문

0

55

2

강의 연장 관련하여 문의드립니다.

0

53

2

섹션7 자료 다운로드

0

52

2

작업형 1 연습문제 Section12

0

55

2