IniziaInizia gratis

Prevedere le morti in GoT

Anche se la variabile target non ha valori mancanti, altre feature sì. Dato che il focus del corso non è il data cleaning e il preprocessing, abbiamo già eseguito per te il seguente preprocessing:

  • Sostituzione dei valori NA con 0.
  • Sostituzione dei valori negativi dell'età con 0.
  • Sostituzione dei valori NA dell'età con la media.

Costruiamo ora un modello ensemble usando la tecnica di averaging. Sono già stati creati i seguenti modelli individuali:

  • Regressione logistica (clf_lr).
  • Albero di decisione (clf_dt).
  • Support Vector Machine (clf_svm).

Dal momento che il target è binario, tutti questi modelli potrebbero avere buone prestazioni singolarmente. Il tuo obiettivo è combinarli usando l'averaging. Ricorda dal video che questo equivale a un approccio di voto soft, quindi dovresti comunque usare VotingClassifier().

Questo esercizio fa parte del corso

Metodi Ensemble in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Prepara la lista di tuple (stringa, stimatore). Usa 'lr' per clf_lr, 'dt' per clf_dt e 'svm' per clf_svm.
  • Crea un classificatore con averaging chiamato clf_avg. Assicurati di specificare un argomento per il parametro voting.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Build the individual models
clf_lr = LogisticRegression(class_weight='balanced')
clf_dt = DecisionTreeClassifier(min_samples_leaf=3, min_samples_split=9, random_state=500)
clf_svm = SVC(probability=True, class_weight='balanced', random_state=500)

# List of (string, estimator) tuples
estimators = ____

# Build and fit an averaging classifier
clf_avg = ____
clf_avg.fit(X_train, y_train)

# Evaluate model performance
acc_avg = accuracy_score(y_test,  clf_avg.predict(X_test))
print('Accuracy: {:.2f}'.format(acc_avg))
Modifica ed esegui il codice