inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

예시문제 작업형 2유형 질문있습니다

해결된 질문

327

gkswltn2747

작성한 질문수 1

0

import pandas as pd

train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")
pd.set_option('display.max_columns',None)

# EDA
# print(train.shape, test.shape)
# print(train.describe(include='O'))
# print(test.describe(include='O'))
# print(train.isnull().sum()) # 결측치: 환불금액
# print(train.isnull().sum())
# print(train.info())
# print(train.describe(include = 'O'))
# print(sorted(list(train['주구매상품'].unique())))
# print(sorted(list(test['주구매상품'].unique())))

a = set(train['주구매상품'].unique())
b = set(test['주구매상품'].unique())

print(a - b)
print(b - a)

# 데이터 전처리
train['환불금액'] = train['환불금액'].fillna(train['환불금액'].mean()) 
test['환불금액'] = test['환불금액'].fillna(test['환불금액'].mean()) 
# print(train.isnull().sum())
# print(test.isnull().sum())

# 원핫인코딩
df = pd.concat([train,test])
df = pd.get_dummies(df)
train = df.iloc[:len(train)]
test = df.iloc[len(train):]
print(train.shape, test.shape)

# 검증데이터 분리
from sklearn.model_selection import train_test_split
x_tr,x_val,y_tr, y_val = train_test_split(train.drop('성별',axis =1), train['성별'], test_size=0.2, random_state=2022)
# print(x_tr.shape,x_val.shape,y_tr.shape, y_val.shape)

# 모델 및 평가
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
model = RandomForestClassifier(random_state = 2022, max_depth=4, n_estimators=500)
model.fit(x_tr, y_tr)
pred_proba = model.predict_proba(x_val)
print(roc_auc_score(y_val, pred_proba[:,1]))

# # 0.6759

# # print(test.shape)
# # print(test.isnull().sum())


# 예측 및 제출
pred_proba = model.predict_proba(test)

train이 test를 포함할 경우 train + test 를 합쳐서 원핫인코딩을 진행했습니다.

모델 및 평가까지는 에러 없이 진행하였는 데 test 데이터를 예측하는 pred_proba = model.predict_proba(test) 부분에서 아래와 같은 에러가 발생했습니다. 어떤게 문제였는지 궁금하여 질문글 올립니다.

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

답변 1

0

퇴근후딴짓

NaN 값 그러니깐 결측치를 포함한 데이터를 모델에 넣었어요

데이터를 합치고 분리하고나면 샘플을 확인해보세요

train에는 성별이 있고, test는 성별이 없어요!

합치면 성별이 없는 데이터에는 NaN이 들어가고 다시 분리 시켜도 성별 컬럼이 남아 있습니다.

test 데이터에서 target(성별) 컬럼 제거(drop)가 필요해요

강의 연장 문의

0

5

1

수강 신청 연장 문의드립니다.

0

17

1

작업형 1번문제... 환경관련

0

24

2

12회 기출은 언제 업데이트 될까요??

0

34

2

8/6 작성한 연장문의 질문글에 대한 재요청

0

36

2

수강기간 연장 문의

0

33

2

수강기간 연장문의

0

35

2

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

0

34

2

수강 기간 연장 문의

0

44

2

수강연장 가능 문의 (기간 약 한달반)

0

57

2

수강기간 연장 가능할까요 선생님

0

72

2

Section15. 수업에 사용하는 데이터 주소가 다 보이지 않아서 실습을 위한 데이터를 다운 받지 못하고 있습니다.

0

49

3

수강연장요청 문의

0

84

2

아무래도 다음 시험 연장은 어렵겠죠?

0

104

2

빅분기 12회 결과 관련 문의

0

110

1

책이랑 강의랑 순서나 예제가 다른것 같네요

0

79

2

수강연장 문의

0

102

2

재검토 요청 방법 좀 알려주셔요...-.-;;

0

102

2

12회 실기 질문(작업형 2)

0

89

2

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

0

63

1

강의 연장 문의

0

97

2

출력값 질문

0

69

2

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

0

62

1

실기시험 제출관련

0

224

3