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

김주원님의 프로필 이미지

작성한 질문수

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

예시문제 작업형2(신 버전) 🆕 updated 2023.11

예시문제 작업형 2번

해결된 질문

24.06.19 00:27 작성

·

94

·

수정됨

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import train_test_split
train = pd.read_csv("data/customer_train.csv") #3500
test = pd.read_csv("data/customer_test.csv") #2482

train['환불금액'] = train['환불금액'].fillna(0)
test['환불금액'] = test['환불금액'].fillna(0)
#print(train.isnull().sum().sum())
cols = ['회원ID','총구매액','최대구매액','환불금액','방문일수','방문당구매건수','주말방문비율','구매주기']

target = train.pop('성별')
#용자 코딩
#print(train['성별'].value_counts()) #여2남1
train = pd.get_dummies(train)
test = pd.get_dummies(test)


xtr,xval,ytr,yval = train_test_split(train[cols],target,test_size = 0.2, random_state = 0)
print(xtr.shape,xval.shape,ytr.shape,yval.shape)

rf = RandomForestClassifier()
rf.fit(xtr[cols],ytr)
pred = rf.predict_proba(xval[cols])

pred = rf.predict_proba(test[cols])
submit = pd.DataFrame({'pred':pred[:,1]})

submit.to_csv('result.csv',index=False)
result=pd.read_csv('result.csv')
print(result.shape)
print(result.head())


강의에서처럼 마지막 제출 pred 변수 만들 때 rf.predict_proba(test) 하니까 안만들어져서 rf.predict_proba(test[cols])로 생성했는데, 맞게 코딩한건가요?

답변 1

0

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

2024. 06. 19. 09:57

학습할 때

rf.fit(xtr[cols],ytr) 로 cols 컬럼만 사용했기 때문에

예측할 때도rf.predict_proba(test[cols])로 사용하는 것이에요

 

학습을

rf.fit(xtr,ytr)로 진행하고, rf.predict_proba(test)로 예측하면 됩니다.