타이타닉 머신러닝 듣고 실습하는 중인 학생입니다
다름아니라 model을 학습시키고 분명 loss가 0.1보다 작게 나오는데
제가 predict를 시키고 이걸 csv로 저장하고 gpt한테 물어봐서
BCE를 excel에서 구하면
fit 할때 출력되는 loss하고 차이가 많이 나오는 것 같습니다
제 코딩의 문제인지 gpt가 문제인지 아니면 기분탓인지 모르겠어서 올립니다
model=tf.keras.Sequential([
tf.keras.layers.DenseFeatures(feature_columns),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(64,activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(1,activation='sigmoid')
])
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
train_ds_batch=ds.batch(32)
val_ds_batch=val_ds.batch(32)
model.fit(train_ds_batch,shuffle=True,validation_data=val_ds, epochs=50)
predict_y=model.predict(ds_batch)
df['Survived_predict']=predict_y
df['Survived']=Y
df[['Survived','Survived_predict']].to_csv('./submission_ver3.csv',index=False)
# df는 csv를 읽어들여 저장한 변수입니다
# 여기서 실제 출력되는 loss율은 0.0810 이고 predict 후 csv로 저장한 뒤 excel에서
# =-B2*LOG(MAX(MIN(A2, 0.9999999), 0.0000001)) - (1-B2)*LOG(MAX(MIN(1-A2, 0.9999999), 0.0000001))
# 이 함수(gpt가 알려준 excel BCE 수식)를 쓰고 평균을 내서 구한 값은 0.341720823 입니다
# 제가 궁금한 점은 fit에서 출력되는 loss율과 제가 구한 loss율이 왜 다른지에 대한 점입니다!
-
이 게시글은
정재현에 의해 10 월, 4 주 전에 수정됐습니다.