시작하기무료로 시작하기

계층적 표본추출 (Stratified sampling)

이제 volunteer 데이터셋의 category_desc 열에 있는 클래스 레이블 분포가 고르지 않다는 것을 아셨죠. category_desc를 예측하는 모델을 학습하려면, 전체 데이터셋을 잘 대표하는 표본으로 모델을 학습시키는 것이 중요해요. 계층적 표본추출은 이를 달성하는 좋은 방법입니다!

이 연습은 강의의 일부입니다

Python으로 배우는 Machine Learning 전처리

강의 보기

연습 안내

  • category_desc를 제외한 모든 열로 특징 DataFrame X를 만드세요.
  • category_desc 열에서 레이블 DataFrame y를 만드세요.
  • 레이블의 클래스 분포가 학습 세트와 테스트 세트 모두에서 동일하도록 Xy를 학습/테스트 세트로 분할하세요.
  • .value_counts()를 사용해 y_train의 레이블과 개수를 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)

# Create a category_desc labels dataset
y = ____[[____]]

# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)

# Print the category_desc counts from y_train
print(____[____].____)
코드 편집 및 실행