본문 바로가기
AI/머신러닝

K-최근접 알고리즘02 (훈련세트/테스트세트)

by MachineJW 2023. 1. 24.

https://colab.research.google.com/drive/1nZUD3xipIo8uq3jt51krpDnDiMa4VYeI?usp=sharing 

 

traing_set_test_set.ipynb

Colaboratory notebook

colab.research.google.com

요약

무언가를 분류하는 알고리즘을 만들 때, 알고리즘이 정답을 모두 알고 있다면 문제가 된다.

모델을 훈련할 때 사용한 데이터로 모델의 성능을 평가하는 것은 정답을 미리 알려주고 시험을 보는 것과 같다. 공정하게 점수를 매기기 위해서는 훈련에 참여하지 않은 샘플을 사용해야한다.

이 때문에 훈련 데이터를 훈련 세트와 테스트 세트로 나누는 것이다.

 

또한 무작정 훈련 세트와 테스트 세트로 나누는 것은 샘플링 편향을 불러온다.

무언가를 분류하는 것이 목적이기에, 훈련 세트나 테스트 세트에 분류 대상이 한가지만 들어가 있다면 올바른 학습이 이루어지지 않을 것이다.

 

훈련 세트는 모델을 훈련 할 떄 사용되는 데이터로, 보통 훈련 세트가 클 수록 좋다. 따라서 테스트 세트를 제외한 모든 데이터를 사용한다.

 

테스트 세트는 전체 데이터에서 20~30%를 테스트 세트로 사용하는 경우가 많다. 전체 데이터가 아주 크면 1%만 덜어내도 충분 할 것이다.