피처 엔지니어링
머신러닝|조회 3|2026.09.07 17:35
0:00 / 47:53
피처 엔지니어링
47:53학습 목표
이 영상을 통해 데이터 분할의 중요성과 다양한 분할 방법을 이해하고, scikit-learn 라이브러리를 활용하여 실제 데이터를 분할하는 방법을 배웁니다. 특히, 랜덤 분할과 시계열 데이터에 적합한 시점 분할의 차이점을 명확히 이해하고, 각 방법의 장단점을 파악하여 상황에 맞는 데이터 분할 전략을 세울 수 있습니다.
핵심 개념
- 데이터 분할의 중요성: 모델 학습 시 과적합(overfitting)을 방지하고 일반화 성능을 높이기 위해 데이터를 학습(train), 검증(validation), 테스트(test) 세트로 나누는 과정의 필요성을 설명합니다. 학습 데이터로만 평가하면 성능이 과대평가되는 이유를 이해합니다.
- 데이터 분할 비율: 일반적으로 학습 데이터에 가장 많은 비율을 할당하고, 검증 및 테스트 데이터에는 각각 15~20% 정도를 할당하는 비율을 제시합니다.
train_test_split함수: scikit-learn의train_test_split함수를 사용하여 데이터를 학습 세트와 테스트 세트로 분할하는 방법을 실습합니다.test_size와random_state파라미터의 역할을 설명하고, 클래스 비율을 유지하며 데이터를 분할하는stratify옵션의 중요성을 강조합니다.- 랜덤 분할의 한계: 시계열 데이터와 같이 순서가 중요한 데이터에 랜덤 분할을 적용할 경우, 과거 데이터와 미래 데이터가 섞여 성능이 비현실적으로 높게 나올 수 있다는 문제점을 지적합니다.
- 시점 분할 (Time Series Split): 시계열 데이터의 특성을 고려하여 과거 데이터를 학습하고 미래 데이터를 예측하는 방식으로 데이터를 분할하는 방법을 설명합니다. 날짜를 기준으로 데이터를 분할하는 방법을 코드로 시연합니다.
- scikit-learn 공통 인터페이스: scikit-learn의 모든 모델이
fit(학습),predict(예측),score(평가)의 동일한 인터페이스를 가진다는 장점을 설명하고, 다양한 분류 모델(Decision Tree, Random Forest, Naive Bayes 등)을 동일한 방식으로 사용하는 방법을 보여줍니다.
공부 방향성
이 영상을 시청하기 전, 머신러닝 모델 학습 과정에서 데이터 분할이 왜 필요한지에 대한 기본적인 이해가 있다면 더욱 좋습니다. 영상을 시청한 후에는 직접 다양한 데이터셋에 train_test_split과 시점 분할을 적용해보며 각 방법의 결과를 비교하고, 실제 프로젝트에서는 어떤 분할 방법을 선택해야 할지 고민해보는 것이 좋습니다. 또한, 영상에서 소개된 다양한 scikit-learn 모델들을 직접 사용해보며 공통 인터페이스를 익히고, 각 모델의 특성을 탐구하는 다음 단계 학습으로 이어갈 수 있습니다.