IniziaInizia gratis

Funghi: una questione di vita o di morte

Concludiamo il corso tornando al problema della commestibilità dei funghi. Userai lo stacking classifier per vedere se è possibile migliorare lo score. Poiché lo stacking usa un meta-estimatore (classificatore di secondo livello) che cerca di correggere le previsioni del primo livello, alcune istanze classificate in modo errato potrebbero essere corrette. È un problema molto importante, perché la commestibilità di un fungo è davvero una questione di vita o di morte.

Il dataset è stato caricato e suddiviso in train e test set. Secondo te lo stacking può aiutare a prevedere la commestibilità di un fungo con maggiore sicurezza?

Questo esercizio fa parte del corso

Metodi Ensemble in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia gli stimatori del primo livello: un 5-nearest neighbors con algoritmo ball tree, un decision tree classifier con parametri min_samples_leaf = 5 e min_samples_split = 15, e un Gaussian Naive Bayes classifier.
  • Crea e addestra uno stacking classifier, usando i parametri classifiers - una lista che contiene i classificatori del primo livello - e meta_classifier - la logistic regression predefinita.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create the first-layer models
clf_knn = ____
clf_dt = ____(____, ____, random_state=500)
clf_nb = ____

# Create the second-layer model (meta-model)
clf_lr = LogisticRegression()

# Create and fit the stacked model
clf_stack = ____
clf_stack.fit(X_train, y_train)

# Evaluate the stacked model’s performance
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, clf_stack.predict(X_test))))
Modifica ed esegui il codice