Loading...
2022. 1. 3. 20:06

cross validation이란?

k-fold validation이라고도 한다. 보통 모형의 성능을 높이기 위해서 주어진 전체 data를 train data + validation data와 test data로 나눈다. train data는 학습을 위해 사용되는 부분이고 validation data는 학습한 모형의 성능을 평가하면서 hyperparameter를 튜닝하기 위해 사용한다. test data는 오직 최종 모형의 성능을 평가하기 위해서만 사용한다. 그런데 이들을 어떻게 나눠야 할까? train data를 k개의 fold로 나누고 그 중 k-1개를 train, 나머지 1개를 validation data라 하고 학습을 진행한다. 1-1) k-1개를 선택하는 모든 경우에 대해 반복하여 진행하고 그들의 적절한 평균으로 최종 모형 선택 ..

k fold cross validation을 구하는 알고리즘 문제 복기하기

1. 알고리즘 주어진 데이터에 대한 k fold cross validation은... 1) 데이터를 k개의 크기가 같은 부분집합으로 분할한다. 여기서 전체 데이터 개수가 k의 배수가 아니면 마지막 집합은 나머지 데이터로만 채워넣는다 2) k-1개의 부분집합을 training set, 나머지 1개의 부분집합을 test set으로 한다 3) test set을 고르는 방법은 총 k가지가 있다. 4) (training set, test set) 순서로 총 k개의 세트를 하나의 list에 넣어 return from collections import deque def kfold(indices,k): answer = [] deque_data = deque(indices) data_num = len(indices) i..