우당탕탕 개발일지

[혼공머신] 2-1 훈련 세트와 테스트 세트 본문

인공지능

[혼공머신] 2-1 훈련 세트와 테스트 세트

민아당긴아 2025. 1. 2. 23:37

💡 지도 학습과 비지도 학습

쉽게 말하자면, 학습데이터에 정답까지 포함되어 있는 경우 지도 학습, 정답 없이 특성 데이터만 있는 경우 비지도 학습이라고 한다.

ⓒ https://www.geeksforgeeks.org/supervised-vs-reinforcement-vs-unsupervised/

 

💡 학습 데이터의 구성

입력 데이터와 타겟 데이터

훈련하기 위해 사용하는 데이터는 입력 데이터타겟 데이터로 이루어져있다.

입력 데이터는 특성들(Features)로 이루어져 있고, 타겟 데이터(Target)는 정답데이터이다.

ⓒ https://livebook.manning.com/concept/machine-learning/input-feature

보통 지도학습에서 학습 데이터로 사용하는 데이터는 다음과 같이 테이블 형태로 되어 있다.

특성을 나타내는 열들과 정답을 나타내는 하나의 열로 이루어져 있다.

 

훈련 세트와 테스트 세트

훈련 세트는 훈련에 사용되고, 테스트 세트는 모델의 성능을 평가하는 데에 사용된다.

 

💡 샘플링 편향

훈련 세트와 테스트 세트에 샘플이 골고루 섞여있지 않으면 샘플링이 한쪽으로 치우치는 샘플링 편향 문제가 발생한다.

이를 막기 위해 샘플 데이터의 인덱스를 무작위로  섞어 준다.

이 때 numpy의 shuffle 함수를 이용한다.

# numpy 라이브러리를 활용하여 훈련 세트를 임의로 섞기
np.random.seed(49) # 매번 다르게 섞으면 안되니까 랜덤시드 고정
index = np.arange(49)
np.random.shuffle(index)
print(index)
print(input_arr[[1,3]])

 

💡 다른 데이터에 적용해보기

wine dataset을 이용해서 K-최근접 이웃 알고리즘을 연습해보았다.

 

💡 확인문제

문제 1. 머신러닝 알고리즘의 한 종류로서 샘플의 입력과 타깃(정답)을 알고 있을 때 사용할 수 있는 학습 방법은?

정답 1. 지도 학습. 이유 1. 정답을 알고 있으므로 지도학습에 해당한다.

 

문제 2. 훈련 세트와 테스트 세트가 잘못 만들어져 전체 데이터를 대표하지 못하는 현상은?

정답 2. 샘플링 편향

 

문제 3. 사이킷런은 입력 데이터(배열)가 어떻게 구성되어 있을 것으로 기대하나요?

정답 3. 행: 샘플, 열: 특성