Regressione logistica: ripasso

Sentiment Analysis con Python

Violeta Misheva

Data Scientist

Modelli complessi e regolarizzazione

Modelli complessi:

  • Modello complesso che cattura il rumore nei dati (overfitting)
  • Moltissime feature o parametri

Regolarizzazione:

  • Un modo per semplificare e ottenere un modello meno complesso
Sentiment Analysis con Python

Regolarizzazione in una regressione logistica

from sklearn.linear_model import LogisticRegression
# Argomenti per la regolarizzazione
LogisticRegression(penalty='l2', C=1.0)
  • L2: riduce tutti i coefficienti verso zero
  • Valori alti di C: bassa penalizzazione, il modello si adatta bene ai dati di training.
  • Valori bassi di C: alta penalizzazione, modello meno flessibile.
Sentiment Analysis con Python

Predire una probabilità vs. predire una classe

log_reg = LogisticRegression().fit(X_train, y_train)
# Predici le etichette 
y_predicted = log_reg.predict(X_test)
# Predici la probabilità
y_probab = log_reg.predict_proba(X_test)
Sentiment Analysis con Python

Predire una probabilità vs. predire una classe

y_probab
array([[0.5002245, 0.4997755],
       [0.4900345, 0.5099655],
        ...,
       [0.7040499, 0.2959501]])
# Seleziona le probabilità della classe 1
y_probab = log_reg.predict_proba(X_test)[:, 1]
array([0.4997755, 0.5099655 ..., 0.2959501]])
Sentiment Analysis con Python

Metriche del modello con probabilità previste

  • Genera ValueError se applicate alle probabilità.
  • Accuracy e matrice di confusione funzionano con le classi.
# Codifica predefinita della probabilità:
# Se probability >= 0.5, allora classe 1 altrimenti classe 0
Sentiment Analysis con Python

Esercitiamoci!

Sentiment Analysis con Python

Preparing Video For Download...