강의

멘토링

로드맵

Inflearn brand logo image

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

이선희님의 프로필 이미지
이선희

작성한 질문수

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

예시문제 작업형2(ver. 2023)

저는 원핫 인코딩으로 진행했는데 이런 코드로 짜보니 결국에는 마지막 에러가..

작성

·

54

0

결국엔 마지막 에러가 '주구매상품_소형가전'이라고 뜨네요

제 코드에서 어디를 수정해야할까요?

import pandas as pd

train = pd.read_csv("data/customer_train.csv")

test = pd.read_csv("data/customer_test.csv")

#분류문제(랜포RandomForestClassifier)

#print(train.shape),print(test.shape)

#결측치 이상치 확인

train['환불금액']=train['환불금액'].fillna(0)

test['환불금액']=test['환불금액'].fillna(0)

train=train.drop('회원ID',axis=1)

test=test.drop('회원ID',axis=1)

#타겟값 지정

target=train.pop('성별')

#원핫인코딩

train=pd.get_dummies(train)

test=pd.get_dummies(test)

#데이터분할하기

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=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(n_estimators=1000,max_depth=7,random_state=2022)

model.fit(X_tr, y_tr)

pred = model.predict_proba(X_val)

#성능평가 roc_auc

from sklearn.metrics import roc_auc_score

print(roc_auc_score(y_val,pred[:,1]))

#실제 test로 예측값구하기

pred = model.predict_proba(test)

 

답변 2

0

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

합쳐서 인코딩이 필요합니다. :)

0

이선희님의 프로필 이미지
이선희
질문자

챗gpt에 물어보니

train, test = train.align(test, join='left', axis=1, fill_value=0)

이 코드로 해결하라는데 이렇게 사용하면 추후에 어떤 문제가 있을까요

강의 속 설명에서 set으로 묶는건 복잡하고 이해가 잘 안되서요

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

특이한 경우 이지만

test에는 있는데 train에는 없는 경우

컬럼을 삭제하는 문제가 있습니다. (매우 특이한 케이스로 사용해도 무방합니다.)

이선희님의 프로필 이미지
이선희

작성한 질문수

질문하기