
머신러닝에서 데이터의 구조는 학습 방식에 따라 다르게 구성되는데요,
특히 지도학습과 비지도학습은 “타겟의 존재 여부”에 따라 구조를 구분할 수 있습니다.
지도학습의 데이터 구조
지도학습(Supervised Learning)은
입력값(Feature)과 정답(Target)이 함께 존재하는 데이터를 사용해 학습하는 방법입니다.
즉, 모델은 다양한 특징(Feature)을 입력받고, 그에 대응하는 정답(Target)과의 관계를 학습해
새로운 데이터의 결과를 예측하도록 하죠.
비지도학습의 데이터 구조
비지도학습(Unsupervised Learning)은
정답(Target) 없이 특징(Feature)만으로 구성된 데이터를 사용하는데요.
즉, 모델은 정답이 없는 상태에서 데이터 자체의 구조를 분석하고,
숨겨진 패턴이나 규칙을 스스로 찾아내도록 합니다.
“예측”보다는 데이터 이해와 구조 파악에 초점이 맞춰져 있어요.
머신러닝 모델 평가를 위한 데이터 구성
머신러닝 모델을 학습하고 성능을 평가하기 위해서는
데이터를 목적에 따라 나눠서 사용을 해야하는데요.
일반적으로 다음과 같은 데이터 구성을 활용합니다.
- 학습 데이터 (Training Data)
- 검증 데이터 (Validation Data)
- 테스트 데이터 (Test Data)
1. 학습 데이터 (Training Data)
학습 데이터는 모델이 패턴을 학습하는 데 사용하는 데이터입니다.
지도학습의 경우 Feature와 Target이 모두 포함되어 있어요.
2. 검증 데이터 (Validation Data)
검증 데이터는 모델이 학습되는 과정에서 성능을 점검하고 튜닝하기 위한 데이터입니다.
모델은 학습 데이터를 기반으로 학습한 뒤, 검증 데이터를 통해 현재 성능을 확인하고
필요한 경우 하이퍼파라미터를 조정하거나 모델을 개선할 수 있어요.
일반적으로 학습 데이터의 일부(약 10~20%)를 검증 데이터로 분리해서 사용을 합니다!🧐
3. 테스트 데이터 (Test Data)
테스트 데이터는 모델의 최종 성능을 평가하기 위한 데이터입니다.
이 데이터는 학습 과정에서 전혀 사용되지 않고,
모델이 처음 보는 데이터에 대해 얼마나 잘 예측하는지를 확인하는 역할을 해줍니다.
모델의 최종 성능을 평가하기 위한 데이터이기 때문에
학습 과정에서 절대 사용하면 안 됩니다!
만약 테스트 데이터를 학습에 사용하게 되면, 모델이 해당 데이터를 미리 학습해버려서
실제 성능보다 더 좋게 평가되는 문제가 발생할 수 있어요.
데이터 분할의 목적
데이터를 "학습", "검증", "테스트" 로 나누는 이유는 과적합(Overfitting)을 방지하기 위해서입니다.
만약 모델이 학습 데이터만 반복적으로 학습하게 되면,
데이터를 “이해”하는 것이 아니라 외워버리는 문제가 발생을 하게 되요.
이럴 경우 새로운 데이터를 만났을 때 성능이 크게 떨어지기 때문에,
다양한 데이터를 통해 모델의 일반화 성능을 평가하는 것이 중요합니다!
'개발' 카테고리의 다른 글
| [NLP] OCR — 이미지 속 글자를 데이터로 바꾸기 (0) | 2026.06.24 |
|---|---|
| [머신러닝] 하이퍼 파라미터 튜닝하기 - Optuna (0) | 2026.06.02 |
| [머신러닝]: AI가 학습하는 데이터 구조 이해하기 (0) | 2026.04.30 |
| [머신러닝]: AI의 문제 해결 방식(지도학습, 비지도학습) (1) | 2026.04.30 |
| [데이터베이스]: SQLAlchemy Core를 활용한 데이터 분석 (0) | 2026.04.23 |