Regresja logistyczna: przypomnienie

Analiza sentymentu w Pythonie

Violeta Misheva

Data Scientist

Złożone modele i regularyzacja

Złożone modele:

  • Złożony model dopasowany do szumu w danych (przeuczenie)
  • Duża liczba cech lub parametrów

Regularyzacja:

  • Sposób na uproszczenie modelu i zmniejszenie jego złożoności
Analiza sentymentu w Pythonie

Regularyzacja w regresji logistycznej

from sklearn.linear_model import LogisticRegression
# Regularization arguments
LogisticRegression(penalty='l2', C=1.0)
  • L2: zmniejsza wszystkie współczynniki w kierunku zera
  • Wysokie wartości C: słaba penalizacja, model dobrze dopasowany do danych treningowych.
  • Niskie wartości C: silna penalizacja, model mniej elastyczny.
Analiza sentymentu w Pythonie

Prognozowanie prawdopodobieństwa a prognozowanie klasy

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)
Analiza sentymentu w Pythonie

Prognozowanie prawdopodobieństwa a prognozowanie klasy

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]])
Analiza sentymentu w Pythonie

Metryki modelu dla prognozowanych prawdopodobieństw

  • Zwraca ValueError przy zastosowaniu z prawdopodobieństwami.
  • Dokładność i macierz pomyłek działają na klasach.
# Default probability encoding:
# If probability >= 0.5, then class 1 Else class 0
Analiza sentymentu w Pythonie

Czas na ćwiczenia!

Analiza sentymentu w Pythonie

Preparing Video For Download...