ओवरफिटिंग और अंडरफिटिंग
मॉडल की complexity को समझना, supervised learning के प्रदर्शन का आकलन करने का एक बढ़िया तरीका है. आपका लक्ष्य ऐसा मॉडल बनाना है जो फीचर्स और target वैरिएबल के बीच संबंध को समझ सके, और नई observations पर भी अच्छा generalize कर सके.
churn_df डेटासेट से training और test सेट बनाए जा चुके हैं और X_train, X_test, y_train, और y_test के रूप में प्रीलोडेड हैं.
इसके अलावा, KNeighborsClassifier और numpy को np नाम से आपके लिए इम्पोर्ट किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
scikit-learn के साथ Supervised Learning
अभ्यास निर्देश
neighborsको1से शुरू होकर12तक (शामिल) मानों वालेnumpyarray के रूप में बनाइए.KNeighborsClassifierको instantiate कीजिए, जिसमें पड़ोसियों की संख्याneighboriterator के बराबर हो.- मॉडल को training डेटा पर fit कीजिए.
.score()मेथड का उपयोग करके training सेट और test सेट के लिए accuracy scores अलग-अलग निकालिए, और परिणामों को क्रमशःtrain_accuraciesऔरtest_accuraciesdictionaries में, index के रूप मेंneighboriterator का उपयोग करते हुए, असाइन कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create neighbors
neighbors = np.arange(____, ____)
train_accuracies = {}
test_accuracies = {}
for neighbor in neighbors:
# Set up a KNN Classifier
knn = ____(____=____)
# Fit the model
knn.____(____, ____)
# Compute accuracy
train_accuracies[____] = knn.____(____, ____)
test_accuracies[____] = knn.____(____, ____)
print(neighbors, '\n', train_accuracies, '\n', test_accuracies)