Logistisk regression: tillbaka till grunden

Sentimentanalys i Python

Violeta Misheva

Data Scientist

Komplexa modeller och regularisering

Komplexa modeller:

  • Komplex modell som fångar bruset i datan (överanpassning)
  • Stort antal särdrag eller parametrar

Regularisering:

  • Ett sätt att förenkla modellen och minska dess komplexitet
Sentimentanalys i Python

Regularisering i logistisk regression

from sklearn.linear_model import LogisticRegression
# Regularization arguments
LogisticRegression(penalty='l2', C=1.0)
  • L2: krymper alla koefficienter mot noll
  • Höga värden på C: låg penalisering, modellen anpassas väl till träningsdata.
  • Låga värden på C: hög penalisering, modellen blir mindre flexibel.
Sentimentanalys i Python

Prediktera sannolikhet jämfört med klass

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)
Sentimentanalys i Python

Prediktera sannolikhet jämfört med klass

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]])
Sentimentanalys i Python

Modellmätvärden med predikterade sannolikheter

  • Ger ValueError när det används med sannolikheter.
  • Noggrannhetspoäng och förvirringsmatris fungerar med klasser.
# Default probability encoding:
# If probability >= 0.5, then class 1 Else class 0
Sentimentanalys i Python

Nu kör vi en övning!

Sentimentanalys i Python

Preparing Video For Download...