정규화를 적용한 상품 리뷰
이 연습 문제에서는 Amazon 상품 리뷰의 reviews 데이터셋을 다시 사용해 보겠습니다. 레이블 벡터 y 는 감성을 담고 있으며, 긍정이면 1, 그렇지 않으면 0 입니다. 행렬 X 에는 BOW 방식으로 만든 모든 수치 특성이 들어 있어요.
정규화 수준이 다른 로지스틱 회귀 두 개를 학습하고, 테스트 데이터에서의 성능을 비교해 보세요. 정규화는 모델의 복잡도를 제어하는 방법이라는 점을 기억하세요. 정규화가 강할수록 모델의 유연성은 낮아지지만 일반화 성능은 좋아질 수 있어요. 일반적으로 정규화 수준이 높은 모델은 정규화를 하지 않은 모델보다 정확도가 낮을 때가 많습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Sentiment Analysis
연습 안내
- 데이터를 학습용과 테스트용 세트로 분할하세요.
- 정규화 파라미터가
1000인 로지스틱 회귀를 학습하세요. 정규화 파라미터가0.001인 두 번째 로지스틱 회귀도 학습하세요. - 두 모델의 테스트 세트 정확도를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Split data into training and testing
____, ____, ____, ____ = train_test_split(____, ____, test_size=0.2, random_state=123)
# Train a logistic regression with regularization of 1000
log_reg1 = ____(____=1000).fit(X_train, y_train)
# Train a logistic regression with regularization of 0.001
log_reg2 = ____(____=0.001).fit(X_train, y_train)
# Print the accuracies
print('Accuracy of model 1: ', log_reg1.____(____, ____))
print('Accuracy of model 2: ', log_reg2.____(____, ____))