해결된 질문
작성
·
47
0
아래처럼 똑같이 풀었는데
답이 0.22, 0.34 와 같이 소수점으로나옵니다.
0 / 1 로 구분하기 위해서는 어떻게 정리하면되나요?
import pandas as pd
train = pd.read_csv("data/customer_train.csv")
test = pd.read_csv("data/customer_test.csv")
# train.info()
# test.info()
target = train.pop('성별')
train = pd.get_dummies(train)
test = pd.get_dummies(test)
train, test = train.align(test, join='left', axis=1)
# 검증용 데이터
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)
print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)
# 모델 학습 및 평가
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_tr, y_tr)
# pred = model.predict_proba(X_val[cols])
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': pred2[:,1]
})
submit.to_csv('result.csv', index=False)
print(pd.read_csv('result.csv'))