मशरूम्स: जीवन और मृत्यु का सवाल
आइए कोर्स का समापन मशरूम की खाने-योग्यता (edibility) की समस्या पर लौटकर करें। आप stacking classifier आज़माएँगे ताकि देखें कि स्कोर सुधरता है या नहीं। क्योंकि stacking एक meta-estimator (दूसरी लेयर का classifier) इस्तेमाल करता है, जो पहली लेयर की भविष्यवाणियों को सुधारने की कोशिश करता है, कुछ misclassified instances सुधारे जा सकते हैं। यह बहुत महत्वपूर्ण समस्या है, क्योंकि मशरूम की खाने-योग्यता सच में जीवन और मृत्यु का सवाल हो सकती है.
डेटासेट लोड किया जा चुका है और उसे train और test सेट में बाँटा गया है। क्या आपको लगता है कि stacking मशरूम की खाने-योग्यता को और ज़्यादा भरोसे के साथ predict करने में मदद कर सकता है?
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Ensemble Methods
अभ्यास निर्देश
- पहले-लेयर के estimators instantiate करें: ball tree algorithm के साथ 5-nearest neighbors, एक decision tree classifier जिसमें पैरामीटर्स
min_samples_leaf = 5औरmin_samples_split = 15हों, और एक Gaussian Naive Bayes classifier. - एक stacking classifier बनाएँ और fit करें, जिसमें पैरामीटर्स
classifiers— एक लिस्ट जिसमें पहले-लेयर के classifiers हों — औरmeta_classifier— डिफ़ॉल्ट logistic regression — का उपयोग हो.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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))))