랜덤 포레스트 모델 구축하기
이번에도 Pima Indians 데이터셋으로 개인의 당뇨병 여부를 예측해 볼 거예요. 이번에는 랜덤 포레스트 분류기를 사용합니다. 학습-테스트 분할을 수행한 뒤 학습 데이터에 모델을 학습시키고, 특성 중요도 값을 확인하세요.
특성 데이터셋과 타깃 데이터셋은 각각 X, y로 미리 로드되어 있어요. 필요한 패키지와 함수도 모두 준비되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 차원 축소
연습 안내
- 테스트 크기를 25%로 설정해 75%-25% 학습-테스트 분할을 수행하세요.
- 랜덤 포레스트 분류기를 학습 데이터에 맞춰 학습(fit)하세요.
- 테스트 세트에 대한 정확도를 계산하세요.
- 특성별 중요도를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Perform a 75% training and 25% test data split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=____, random_state=0)
# Fit the random forest model to the training data
rf = RandomForestClassifier(random_state=0)
rf.____(____, ____)
# Calculate the accuracy
acc = accuracy_score(____, ____)
# Print the importances per feature
print(dict(zip(X.columns, rf.____.round(2))))
# Print accuracy
print(f"{acc:.1%} accuracy on test set.")