Logistická regrese: opakování

Sentiment Analysis v Pythonu

Violeta Misheva

Data Scientist

Složité modely a regularizace

Složité modely:

  • Složitý model zachycuje šum v datech (přeučení)
  • Velký počet příznaků nebo parametrů

Regularizace:

  • Způsob, jak zjednodušit model a snížit jeho složitost
Sentiment Analysis v Pythonu

Regularizace v logistické regresi

from sklearn.linear_model import LogisticRegression
# Regularization arguments
LogisticRegression(penalty='l2', C=1.0)
  • L2: zmenšuje všechny koeficienty směrem k nule
  • Vysoké hodnoty C: nízká penalizace, model dobře fituje trénovací data.
  • Nízké hodnoty C: vysoká penalizace, model je méně flexibilní.
Sentiment Analysis v Pythonu

Predikce pravděpodobnosti vs. predikce třídy

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)
Sentiment Analysis v Pythonu

Predikce pravděpodobnosti vs. predikce třídy

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]])
Sentiment Analysis v Pythonu

Metriky modelu s predikovanými pravděpodobnostmi

  • Při použití s pravděpodobnostmi vyvolá ValueError.
  • Skóre přesnosti a matice záměn pracují s třídami.
# Default probability encoding:
# If probability >= 0.5, then class 1 Else class 0
Sentiment Analysis v Pythonu

Pojďme si procvičit!

Sentiment Analysis v Pythonu

Preparing Video For Download...