Computer/Machine learning models Updated: 2024. 2. 13. 14:23 hwaya.

데이터 분할 : train_test_split

반응형
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

머신러닝 모델을 훈련시키기 위해 전체 데이터셋을 훈련 데이터와 테스트 데이터로 분할하는 과정을 나타냅니다.
train_test_split 함수는 scikit-learn 라이브러리의 model_selection 모듈에 포함되어 있으며, 데이터를 무작위로 훈련 세트와 테스트 세트로 나누는 데 사용됩니다.

각 부분의 구성 요소를 자세히 살펴보겠습니다:

  • X_scaled: 모델 훈련에 사용할 피처(독립 변수)입니다. 이 변수는 스케일링된 데이터를 나타내며, 스케일링은 피처들의 범위를 일정하게 맞추기 위해 수행됩니다. 스케일링은 모델의 성능을 향상시킬 수 있으며, 특히 거리 기반 알고리즘에서 중요합니다.
  • y: 모델이 예측하려고 하는 타겟 변수(종속 변수)입니다.
  • test_size=0.2: 전체 데이터셋 중 테스트 세트로 할당될 비율을 지정합니다. 여기서 **0.2**는 전체 데이터의 20%가 테스트 데이터로 사용됨을 의미합니다.
  • random_state=42: 데이터를 분할할 때 사용되는 랜덤 시드 값입니다. 이 값을 설정함으로써 코드를 실행할 때마다 동일한 방식으로 데이터가 분할되어 재현 가능한 결과를 얻을 수 있습니다.

함수의 결과는 다음과 같이 네 개의 배열로 나뉩니다:

  • X_train: 훈련 데이터의 피처를 담고 있는 배열입니다.
  • X_test: 테스트 데이터의 피처를 담고 있는 배열입니다.
  • y_train: 훈련 데이터의 타겟 값을 담고 있는 배열입니다.
  • y_test: 테스트 데이터의 타겟 값을 담고 있는 배열입니다.

이러한 분할을 통해 모델은 X_trainy_train을 사용하여 훈련되며, 훈련된 모델의 성능은 X_testy_test를 사용하여 평가됩니다. 이 방법을 사용함으로써, 모델이 새로운 데이터에 대해 얼마나 잘 일반화되는지를 평가할 수 있으며, 과적합을 방지하는 데 도움이 됩니다.

반응형

Table of Contents


    EIGHTBOX
    EIGHTBOX
    hwaya.

    programmer

    🍋일상의 소소한 순간들부터 큰 꿈까지, 호기심을 만족시킬 다양한 카테고리를 담은 블로그 입니다. 그리고, 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람🌵

    Today Yesterday Total
    최신글