학습/테스트용 특성 만들기
선형 모델을 적합하기 전에, 절편을 포함하기 위해 특성에 상수를 추가하겠습니다.
또한 학습용과 테스트용 특성을 만들어야 합니다. 이렇게 하면 학습 데이터셋에 모델을 학습시키고, 테스트 데이터셋에서 성능을 평가할 수 있습니다. 모델이 보지 못한 데이터에서 성능을 꼭 확인해 과적합(훈련 데이터의 패턴을 지나치게 외워버리는 현상)을 방지해야 합니다.
이와 같은 시계열에서는 보통 가장 오래된 데이터를 학습용으로, 가장 최신 데이터를 테스트용으로 사용합니다. 이렇게 해야 가장 최근 데이터에서의 모델 성능을 평가할 수 있어, 아직 보지 못한 데이터에 대한 예측을 더 현실적으로 모의할 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 분야 Machine Learning
연습 안내
statsmodels.api라이브러리를 별칭sm으로 임포트하세요.- statsmodels의
.add_constant()함수를 사용해features변수에 상수를 추가하세요. features또는targets의.shape[0]속성을 사용해 전체 데이터 포인트(행)의 85%를train_size로 설정하세요.train_size와 Python 인덱싱(예:[start:stop])을 사용해linear_features와targets를 학습/테스트 세트로 분할하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the statsmodels.api library with the alias sm
___
# Add a constant to the features
linear_features = sm.____(features)
# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)