ÀÏ¹Ý ÀûÀ¸·Î µ¥ÀÌÅͼÂÀº Tain µ¥ÀÌÅÍ, Validation µ¥ÀÌÅÍ, Test Data ³ª´²¼ µ¥ÀÌÅÍ·Î ³ª´²¼ ÇнÀ, °ËÁõ, Å×½ºÆ® ÇÑ´Ù. Äɶ󽺿¡¼´Â ÇнÀ(fit) ÇÒ¶§ validation_data·Î ÁöÁ¤ Çϰųª °¢ µ¥ÀÌÅÍ ¼ÂÀÇ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù.
Train µ¥ÀÌÅÍ¿Í Test µ¥ÀÌÅ͸¸ »ç¿ë ÇÏ´Â °æ¿ì´Â 8:2ÀÇ ºñÀ²·Î ³ª´«´Ù. Train µ¥ÀÌÅÍ : Test µ¥ÀÌÅÍ = 8 : 2 Train µ¥ÀÌÅÍ¿Í Test µ¥ÀÌÅÍ, °ËÁõ¿ë µ¥ÀÌÅ͸¦ »ç¿ëÇϸé 6 : 2 : 2ÀÇ ºñÀ²·Î ³ª´«´Ù. °ËÁõ¿ë µ¥ÀÌÅ͸¦ »ç¿ëÇϸé Train µ¥ÀÌÅÍ : Validation µ¥ÀÌÅÍ : Test µ¥ÀÌÅÍ = 6 : 2 : 2 validation_data »ç¿ëÇϱâvalidation_data´Â Validation setÀÌ´Ù.validation_data´Â validation_splitº¸´Ù ¿ì¼± ¼øÀ§¸¦ °¡Áø´Ù. ¸ðµ¨À» ÇнÀ ÇÒ¶§ validation_data¿¡ µ¥ÀÌÅ͸¦ ÁöÁ¤ÇÑ´Ù. model.fit(x_train, y_train, epochs=100, batch_size=1, validation_data=(x_val, y_val)) from keras.models import Sequential
from keras.layers import Dense import numpy as np # µ¥ÀÌÅͼ »ý¼º x_train = np.arange(1, 101) y_train = x_train x_test = np.arange(100, 201) y_test = x_test x_val = np.arange(200, 301) y_val = x_val # ¸ðµ¨ ±¸¼º model = Sequential() model.add(Dense( 10, input_shape=(1, ), activation='relu')) model.add(Dense( 5)) model.add(Dense(1)) model.compile(loss='mse', optimizer='adam', metrics=['mse']) # ¸ðµ¨ ÇнÀ model.fit(x_train, y_train, epochs=100, batch_size=1, validation_data=(x_val, y_val)) # ¸ðµ¨ Æò°¡ loss, mse = model.evaluate(x_test, y_test, batch_size=1) print('loss= %f, mse= %f' % (loss, mse)) validation_split »ç¿ëÇϱâvalidation_splitÀ» »ç¿ëÇÏ¿© ÀÚµ¿À¸·Î ºÐ¸® ÇÒ¼ö ÀÖ´Ù.validation_split=0.2´Â À¯È¿¼º °Ë»ç¸¦ À§ÇØ 20% µ¥ÀÌÅ͸¦ »ç¿ëÇÏ°í validation_split=0.3Àº À¯È¿¼º °Ë»ç¸¦ À§ÇØ 20% µ¥ÀÌÅ͸¦ »ç¿ëÇÑ´Ù´Â ÀǹÌÀÌ´Ù. from keras.models import Sequential
from keras.layers import Dense import numpy as np # µ¥ÀÌÅͼ »ý¼º x_train = np.arange(1, 101) y_train = x_train x_test = np.arange(100, 201) y_test = x_test x_val = np.arange(200, 301) y_val = x_val # ¸ðµ¨ ±¸¼º model = Sequential() model.add(Dense( 10, input_shape=(1, ), activation='relu')) model.add(Dense( 5)) model.add(Dense(1)) model.compile(loss='mse', optimizer='adam', metrics=['mse']) # ¸ðµ¨ ÇнÀ model.fit(x_train, y_train, epochs=100, batch_size=1, validation_data=(x_val, y_val)) # ¸ðµ¨ Æò°¡ loss, mse = model.evaluate(x_test, y_test, batch_size=1) print('loss= %f, mse= %f' % (loss, mse)) validation_split »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù. model.fit(x_train, y_train, epochs=100, batch_size=1, validation_split=0.2) ÂüÁ¶) https://www.tensorflow.org/guide/keras/train_and_evaluate?hl=ko https://luvris2.tistory.com/167#google_vignette https://ebbnflow.tistory.com/125 |