Aan de slagGa gratis aan de slag

Paddenstoelen: een kwestie van leven of dood

Laten we de cursus afsluiten door het probleem van de eetbaarheid van paddenstoelen nog eens te bekijken. Je gaat de stacking-classifier proberen om te zien of de score kan worden verbeterd. Omdat stacking een meta-estimator (tweede-laag-classifier) gebruikt die probeert voorspellingen van de eerste laag te corrigeren, kunnen sommige verkeerd geclassificeerde voorbeelden worden hersteld. Dit is een heel belangrijk probleem, want de eetbaarheid van een paddenstoel is een kwestie van leven of dood.

De gegevensset is geladen en opgesplitst in train- en testsets. Denk je dat stacking kan helpen om de eetbaarheid van een paddenstoel met meer zekerheid te voorspellen?

Deze oefening maakt deel uit van de cursus

Ensemblemethoden in Python

Cursus bekijken

Oefeninstructies

  • Instantieer de schatters van de eerste laag: een 5-nearest neighbors met het ball tree-algoritme, een decision tree-classifier met parameters min_samples_leaf = 5 en min_samples_split = 15, en een Gaussian Naive Bayes-classifier.
  • Bouw en train een stacking-classifier met de parameters classifiers — een lijst met de classifiers van de eerste laag — en meta_classifier — de standaard logistic regression.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))))
Code bewerken en uitvoeren