Logistische regressie: herzien

Sentimentanalyse in Python

Violeta Misheva

Data Scientist

Complexe modellen en regularisatie

Complexe modellen:

  • Complex model dat ruis in de data pakt (overfitting)
  • Groot aantal features of parameters

Regularisatie:

  • Manier om te vereenvoudigen en een minder complex model te krijgen
Sentimentanalyse in Python

Regularisatie in logistische regressie

from sklearn.linear_model import LogisticRegression
# Regularization arguments
LogisticRegression(penalty='l2', C=1.0)
  • L2: krimpt alle coëfficiënten naar nul
  • Hoge C-waarde: lage straf, model past trainingsdata goed.
  • Lage C-waarde: hoge straf, model minder flexibel.
Sentimentanalyse in Python

Een kans voorspellen vs. een klasse voorspellen

log_reg = LogisticRegression().fit(X_train, y_train)
# Voorspel labels 
y_predicted = log_reg.predict(X_test)
# Voorspel kans
y_probab = log_reg.predict_proba(X_test)
Sentimentanalyse in Python

Een kans voorspellen vs. een klasse voorspellen

y_probab
array([[0.5002245, 0.4997755],
       [0.4900345, 0.5099655],
        ...,
       [0.7040499, 0.2959501]])
# Selecteer de kansen van klasse 1
y_probab = log_reg.predict_proba(X_test)[:, 1]
array([0.4997755, 0.5099655 ..., 0.2959501]])
Sentimentanalyse in Python

Modelmetrics met voorspelde kansen

  • Geeft ValueError bij gebruik met kansen.
  • Accuracy en confusion matrix werken met klassen.
# Standaard kans-naar-klasse:
# Als kans >= 0.5, dan klasse 1, anders klasse 0
Sentimentanalyse in Python

Laten we oefenen!

Sentimentanalyse in Python

Preparing Video For Download...