inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

오징어게임

해결된 질문

321

강샛별

작성한 질문수 14

0

선생님 이번 오징어 게임 미션을 하면서 작업형 2를 풀고 있습니다

import pandas as pd

train = pd.read_csv("../input/big-data-analytics-certification/t2-1-train.csv")

test = pd.read_csv("../input/big-data-analytics-certification/t2-1-test.csv")

train.head() #pop: 'TravelInsurance' drop:'id'

test.head() #pop:'id'

train.info() #'Employment Type','GraduateOrNot','FrequentFlyer','EverTravelledAbroad'

train.isnull().sum() #'AnnualIncome' 결측값

test.isnull().sum() #'AnnualIncome' 결측값

target = train.pop('TravelInsurance')

test_id = test.pop('id')

me = train['AnnualIncome'].mean()

train = train.fillna(me)

me = test['AnnualIncome'].mean()

test = test.fillna(me)

from sklearn.preprocessing import LabelEncoder

encoder = LabelEncoder()

train['Employment Type'] = encoder.fit_transform(train['Employment Type'])

train['GraduateOrNot'] = encoder.fit_transform(train['GraduateOrNot'])

train['FrequentFlyer'] = encoder.fit_transform(train['FrequentFlyer'])

train['EverTravelledAbroad'] = encoder.fit_transform(train['EverTravelledAbroad'])

test['Employment Type'] = encoder.fit_transform(test['Employment Type'])

test['GraduateOrNot'] = encoder.fit_transform(test['GraduateOrNot'])

test['FrequentFlyer'] = encoder.fit_transform(test['FrequentFlyer'])

test['EverTravelledAbroad'] = encoder.fit_transform(test['EverTravelledAbroad'])

from sklearn.model_selection import train_test_split

X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)

from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(random_state=2022)

model.fit(X_tr, y_tr)

pred = model.predict_proba(X_val)

from sklearn.metrics import roc_auc_score

roc_auc_score(y_val, pred[:,1])

 

이렇게 코드를 작성했는데 예측하는 단계에서

pred = model.predict_proba(test) 이걸 썼더니

X has 8 features, but RandomForestClassifier is expecting 9 features as input.

이렇게 에러가 뜨는데 뭐가 잘못됐을까요?

 

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

답변 1

0

퇴근후딴짓

1

에러는 train 데이터와 test 데이터 간에 특성(컬럼)의 수가 일치하지 않음을 의미합니다.
test의 컬럼과 X_tr의 컬럼을 비교해주세요!

 

2

그리고 인코딩 방식이 잘못되었어요!
강의에서 알려준 코드대로 또는 캐글문 제라면 캐글에서 예시 답변으로 알려준대로 레이블 인코딩 또는 원핫인코딩을 진행해 주세요

시험이 얼마 남지 않은 관계로 문제가 없는 코드를 보고 학습하는 것이 더 효과적일 것 같아요!

작업형2 모의고사3 자료 업데이트 요청

0

2

1

수강 연장가능여부 문의드립니다!

0

17

1

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

0

24

1

최빈값

0

21

2

수강 가이드라인

0

20

2

수강 연장 가능 여부 문의

0

40

2

강의 구매했는데 교재 필수일까요

0

27

2

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

0

25

2

수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.

0

32

2

작업형2 모의문제2에서 drop이랑 인코딩

0

41

3

인코딩을 다 꼭 해봐야하는지

0

43

2

안녕하세요? 강사님 질문있습니다.(인코딩관련)

0

58

2

이진분류에서 양성 클래스가 0일 때 평가 방법

0

46

2

원핫인코딩 전 train과 test 병합여부

0

51

2

수강기간 연장

0

69

2

29강 작업2형의 이상치 처리

0

67

2

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

0

65

2

9월에 실기출제기준 개정내역에 신설된부분

0

56

1

작업형2 모의문제2 결과값 관련 문의드립니다.

0

67

2

12회차 시험 실패 후 13회 도전 예정입니다.

0

57

1

random_state 값

0

73

2

강의 연장 문의 드립니다.

0

68

2

강의 연장 문의

0

61

2

오징어게임

0

71

1