로지스틱 회귀: 다시 보기

Python으로 배우는 Sentiment Analysis

Violeta Misheva

Data Scientist

복잡한 모델과 정규화

복잡한 모델:

  • 데이터의 잡음을까지 학습하는 모델(과적합)
  • 특성/매개변수가 매우 많음

    정규화:

  • 모델을 단순화하여 복잡도를 낮추는 방법
Python으로 배우는 Sentiment Analysis

로지스틱 회귀의 정규화

from sklearn.linear_model import LogisticRegression
# Regularization arguments
LogisticRegression(penalty='l2', C=1.0)
  • L2: 모든 계수를 0에 가깝게 축소
  • C 값이 클수록: 패널티 작음, 학습 데이터 적합도 높음
  • C 값이 작을수록: 패널티 큼, 모델 유연성 낮음
Python으로 배우는 Sentiment Analysis

확률 예측 vs. 클래스 예측

log_reg = LogisticRegression().fit(X_train, y_train)
# Predict labels 
y_predicted = log_reg.predict(X_test)
# Predict probability
y_probab = log_reg.predict_proba(X_test)
Python으로 배우는 Sentiment Analysis

확률 예측 vs. 클래스 예측

y_probab
array([[0.5002245, 0.4997755],
       [0.4900345, 0.5099655],
        ...,
       [0.7040499, 0.2959501]])
# Select the probabilities of class 1
y_probab = log_reg.predict_proba(X_test)[:, 1]
array([0.4997755, 0.5099655 ..., 0.2959501]])
Python으로 배우는 Sentiment Analysis

예측 확률로 모델 성능 평가

  • 확률에 적용하면 ValueError 발생
  • 정확도와 혼동행렬은 클래스에 사용

# Default probability encoding:
# If probability >= 0.5, then class 1 Else class 0
Python으로 배우는 Sentiment Analysis

연습해 봅시다!

Python으로 배우는 Sentiment Analysis

Preparing Video For Download...