해결된 질문
작성
·
215
0
세 가지 질문이 있는데요..
1) 이 문제 해결에 있어서 train_test_split은 하면 좋지만 굳이 안해도 되는 내용이 맞나요?
2) 아래와 같이 x_train, y_train 으로 학습을 하고 x_test에 대해서 예측을 하면 될까요?
3) 문제에서 보면 roc_auc_score로 평가한다 했는데, 이건 출제자가 평가하기 때문에 이 문제상에서는 단순 확인 및 학습을 위해 써본거지 답에는 필요 없었던 부분이 맞을까요?
model = RandomForestClassifier(random_state=2022)
model.fit(X_train, y_train)
pred = model.predict_proba(X_test)
submit = pd.DataFrame(
{
'cust_id':cust_id,
'gender':pred[:,1]
}
)
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])
# test 데이터 예측
pred = model.predict_proba(X_test)
pred
# 데이터 프레임 만들기
submit = pd.DataFrame(
{
'cust_id':cust_id,
'gender':pred[:,1]
}
)
답변 1
0
네 맞습니다. 공부할 시간이 부족하고 정말 최소한의 작업만 원한다면 생략해도 됩니다.
다만 모델 성능을 알 수가 없어요
네 여기서 X_train과 X_test의 컬럼수나 데이터 타입이 동일해야 합니다.
이 코드 말이죠? 네 모델 성능을 검증데이터로 평가하기 위한 용도일 뿐입니다. 작업형2 평가는 온전히 생성된 csv파일로만 진행됩니다. 6회의 경우 id 컬럼이 없고 1개의 컬럼 pred만 데이터프레임으로 만들어 csv로 저장하면 됩니다.
from sklearn.metrics import roc_auc_score
roc_auc_score(y_val, pred[:,1])