해결된 질문
작성
·
110
0
다음 코드를썼더니 점수가 검정 점수가 0.98나오는데 과적합인지 확인하고싶어서요 ㅠㅠ
train = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_train.csv')
test = pd.read_csv('/content/drive/MyDrive/퇴근후딴짓/archive/energy_test.csv')
X = train.iloc[:,:-1]
y = train.iloc[:,-1]
display(X.info() , X.head() , X.nunique())
cat_col = X.loc[:,X.nunique() <= 6].columns
num_col = X.loc[:,~(X.nunique() <= 6)].columns
X[cat_col] = X[cat_col].astype('category')
test[cat_col] = test[cat_col].astype('category')
X = pd.get_dummies(X,columns=cat_col)
test = pd.get_dummies(test,columns=cat_col)
#겹치는거 x
print(set(X.columns) - set(test.columns))
print( set(test.columns) - set(X.columns))
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val = train_test_split(X,y,test_size=0.2 , stratify = y, random_state=42)
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=42)
rf.fit(X_tr,y_tr)
pred=rf.predict(X_val)
from sklearn.metrics import f1_score
f1_score(y_val,pred,average= 'macro')
답변 1
0
없습니다. 시험에서 과적합을 판단할 근거는 없어요
그대로 제출하시면 됩니다.
실제 6회 시험에서도 이랬습니다.
만약 확인하고 싶다면 크로스밸리데이션을 학습하셔서 적용하면 객관적으로 살펴보는 방법이 있어요