해결된 질문
작성
·
22
0
import pandas as pd
train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/heart/2files/train.csv")
test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/heart/2files/test.csv")
# train = pd.read_csv("train.csv")
# test = pd.read_csv("test.csv")
print(train.shape, test.shape)
target = train.pop('output')
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val = train_test_split(train,target,test_size=0.5,random_state=2022)
print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape)
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=2022,max_depth=5, n_estimators=400)
model.fit(X_tr,y_tr)
pred = model.predict_proba(X_val)
from sklearn.metrics import roc_auc_score
roc_auc = roc_auc_score(y_val,pred[:,1])
print(roc_auc)
작업형2 3번 예시 문제에서 강의 스크립트와 동일하게 작성했는데
roc_auc 평가 결과가 1.0으로 나오게 됩니다.
1로 나오는 결과는 모델이 검증 데이터를 완벽하게 예측하는 경우라고 하는데, 해당 스크립트 맞는지
한번 봐주시면 감사하겠습니다!^^
답변 1
0
test_size=0.5
이건 위험합니다. 학습용으로 절반밖에 사용하지 않는 상황임 0.2 이하로 해주세요
모의고사 데이터가 쉽게 구성되어 있어 1이 나와버렸네요
위 내용 말고 코드에는 문제가 없어요