머신러닝에는 크게 지도학습과 비지도학습 그리고 강화학습이 있다.
우리는 지금 지도학습에서 사용하는 데이터들에 대해 더 깊게 알아보자.
지도학습에서 사용하는 입력데이터
와 타깃데이터
는 훈련데이터
라고 통칭한다.
입력데이터 + 타깃데이터 = 훈련데이터 📋
입력데이터에서도, 타깃데이터에서도, 즉 훈련데이터에서 특성이 다른 각각의 행을 샘플
이라고 부른다.
한번 정리하자면,
✅ 훈련데이터 > 입력데이터, 타겟데이터 > 샘플(행) / 특성(열)
어찌보면 샘플들의 집합을 훈련데이터라고 볼 수 있다.
훈련데이터도 목적에 따라 논리적으로 2개로 나눌 수 있다.
훈련 세트(train set)
테스트 세트(test set)
와 같이 말이다.
두개의 세트는 구성은 다르지 않다.
다만 훈련에 쓸건지, 평가에 쓸건지 나누어 놓은 것 뿐이다.
❌ 잠깐 ❌
훈련세트와 테스트세트를 골고루 나누지 않으면 샘플링 편향
현상이 발생할 수 있다.
예를 들어 A조건에 맞는 훈련데이터로 훈련을 해놓고,
정작 테스트 할때는 B조건에 맞는 데이터를 가지고 훈련을 하면 올바른 학습이라 볼 수 없는 것이다.
이러한 것을 샘플링 편향
이라고 한다.
샘플링 편향을 해결하기 위해서는
훈련데이터를 A조건의 샘플과 B조건의 샘플을 적절하게 섞어야 하는데,
이때 유용하게 사용하는 라이브러리가 넘파이 라이브러리
이다.
대부분 머신러닝 라이브러리들이 넘파이 라이브러리를 많이 활용한다고 한다.
- 머신러닝 알고리즘의 한 종류로서 샘플의 입력과 타깃(정답)을 알고 있을 때 사용할 수 있는 학습 방법은 무엇인가요?
① 지도 학습
② 비지도 학습
③ 차원 축소
④ 강화 학습
답: ① 지도학습
- 훈련 세트와 테스트 세트가 잘못 만들어져 전체 데이터를 대표하지 못하는 현상을 무엇이라고 부르나요?
① 샘플링 오류
② 샘플링 실수
③ 샘플링 편차
④ 샘플링 편향
답: ④ 샘플링 편향
- 사이킷런은 입력 데이터(배열)가 어떻게 구성되어 있을 것으로 기대하나요?
① 행: 특성, 열: 샘플
② 행: 샘플, 열: 특성
③ 행: 특성, 열: 타깃
④ 행: 타깃, 열: 특성
답: ② 행: 샘플, 열: 특성