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

munjihey1127님의 프로필 이미지

작성한 질문수

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

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

예시문제 작업형2 신버전

해결된 질문

23.11.21 15:56 작성

·

393

·

수정됨

0

알려주신대로 풀어보았습니다

import pandas as pd

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

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

train= train.fillna(0)

test= test.fillna(0)

from sklearn.preprocessing import LabelEncoder

cols = ['주구매상품','주구매지점']

for col in cols:

le = LabelEncoder()

train[col]=le.fit_transform(train[col])

test[col]=le.transform(test[col])

target = train.pop('성별')

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()

model.fit(X_tr,y_tr)

pred=model.predict_proba(X_val)

from sklearn.metrics import roc_auc_score

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

pred=model.predict_proba(test)

submit = pd.DataFrame({

'pred': pred[:,1]

})

submit.to_csv("result.csv",index=False)

 

 

이렇게 제출했는데

1.

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

이부분은 값을 확인만하고 주석처리하는것이죠?

2.

from sklearn.metrics import roc_auc_score

이렇게만 해도 roc-auc 평가가 적용되나요?

3.

문제풀때 프린트문은 다 주석처리 하면될까요

4.

test_size=0.2,random_state=0

숫자는 아무거나 적어도 되나요?

 5. model=RandomForestClassifier() 이부분에도 랜덤스테이트를 넣으면 좋다고 하셧는데

위와 동일한 랜덤스테잌트인 0을 넣으면 되나요?

 

 

답변 1

0

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

2023. 11. 22. 00:21

  1. 네, 주석처리 하지 않아도 됩니다.

  2. oc_auc_score(y_val,pred[:,1])까지 작성하면 평가결과를 얻을 수 있어요

  3. 주석처리 하지 않아도 됩니다. 그런데 아래 공간이 협소하고 구분해서 제가 보기 힘들어 주석처리 했어요 시험에서는 코드로 평가하지 않아요 csv로만 평가합니다.

  4. test_size=0.2는 고정 하시죠! 검증데이터 20%의미입니다. 더 높이지는 마세요

     

  5. 네 정확합니다.