Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- function
- numpy
- dendrogram
- pandas
- append()
- hierarchical_clustering
- analizer
- count()
- 반복문
- data
- list
- 최댓값
- DataFrame
- Machine Learning
- wcss
- insert()
- elbow method
- string
- 최솟값
- 덴드로그램
- Python
- IN
- DataAccess
- Dictionary
- nan
- matplotlib
- del
- sklearn
- len()
- 분류 결과표
Archives
- Today
- Total
개발공부
Validation, validation_split, validation data 코드 예제 본문
Validation ?
모델을 학습시킬때 각 Epoch(에포크)가 끝날 때마다 정답을 모르는 새로운 데이터를 주고,
그에 대한 오차는 어떤지에 대한 평가도 같이 진행하는 것을 말한다.
이는 학습을 다 한 후 평가하는 evalueate와는 차이가 있다.
Validation 방법
- train 데이터를 잘라서 사용 validation_split
- test 데이터를 validation data로 사용
- validation 용 데이터를 새로 만들어서 valdation data로 사용 ex) X_val, y_val
예시
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
def build_model() :
model = Sequential()
model.add(Dense(units = 64, activation = 'relu', input_shape = (8, )))
model.add(Dense(units = 64, activation = 'relu'))
model.add(Dense(units = 64, activation = 'relu'))
model.add(Dense(units = 34, activation = 'relu'))
model.add(Dense(units = 55, activation = 'relu'))
model.add(Dense(units = 40, activation = 'relu'))
model.add(Dense(units = 30, activation = 'relu'))
model.add(Dense(units = 20, activation = 'relu'))
model.add(Dense(units = 1, activation = 'linear'))
# 옵티마이저의 learning rate 를 설정하는 방법
# metrics 검증의 척도, 학습의 에포크가 끝날때마다 출력하게 된다.
model.compile(tf.keras.optimizers.RMSprop(learning_rate = 0.001), loss = 'mse', metrics = ['mse', 'mae'])
return model
model = build_model()
방법 1. validation_split : train 데이터에서 vaildation 할 때 사용할 데이터의 비율
validation_split = 0.2 ==> Validation Data를 Train Data의 20 % 로 하겠다.
epoch_history = model.fit(X_train, y_train, epochs = 600, batch_size = 5,
validation_split = 0.2)
방법 2. validation data 를 test 데이터로 사용하여 validation한다.
epoch_history = model.fit(X_train, y_train, epochs = 10, validation_data = (X_test, y_test))
'Python > Deep Learning' 카테고리의 다른 글
| 이미지 분류 모델을 생성할 때 Flatten 사용하는 이유, 실습 예제 (0) | 2022.06.13 |
|---|---|
| EarlyStopping 라이브러리 사용법 (0) | 2022.06.13 |
| Learning Rate를 옵티마이저에서 셋팅하는 코드 (0) | 2022.06.13 |
| 텐서플로우를 이용한 그리드 서치하는 방법 (0) | 2022.06.13 |
| 텐서플로우로 리그레션(Regression) 문제 모델링 하는 방법 실습 (0) | 2022.06.10 |