शुरू करेंमुफ़्त में शुरू करें

विंडो साइज ट्यून करना

आप खुद जाँचना चाहते हैं कि arrhythmia डेटासेट के लिए optimal विंडो साइज 50 है। आपको यह डेटासेट pandas डेटा फ़्रेम arrh के रूप में दिया गया है, और आप समय t_now तक के डेटा का एक subset उपयोग करना चाहते हैं। आपका टेस्ट डेटा X_test, y_test के रूप में उपलब्ध है। आप 10 से 100 तक कई विंडो साइज आज़माएँगे, हर विंडो पर एक naive Bayes classifier फिट करेंगे, टेस्ट डेटा पर उसका F1 स्कोर आँकेंगे, और फिर सबसे अच्छा प्रदर्शन करने वाला विंडो साइज चुनेंगे। आपके पास numpy np के रूप में उपलब्ध है, और फ़ंक्शन f1_score() पहले से इम्पोर्ट किया गया है। अंत में, accuracies नाम की एक खाली लिस्ट आपके लिए इन विंडो के accuracies स्टोर करने के लिए इनिशियलाइज़ कर दी गई है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • .loc() मेथड का उपयोग करते हुए t_now पर रुकने वाली w_size साइज की एक sliding window का इंडेक्स परिभाषित करें.
  • sliding window से class कॉलम हटाकर X बनाएँ। उसी कॉलम को y के रूप में स्टोर करें.
  • X और y पर एक naive Bayes classifier फिट करें, और उससे टेस्ट डेटा X_test के लेबल predict करें.
  • हर विंडो साइज के लिए इन प्रेडिक्शंस का F1 स्कोर निकालें, और सबसे अच्छा प्रदर्शन करने वाला विंडो साइज खोजें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Loop over window sizes
for w_size in wrange:

    # Define sliding window
    sliding = arrh.____[____:t_now]

    # Extract X and y from the sliding window
    X, y = sliding.____('class', ____), sliding[____]
    
    # Fit the classifier and store the F1 score
    preds = GaussianNB().fit(____, ____).____(X_test)
    accuracies.append(____(____, ____))

# Estimate the best performing window size
optimal_window = ____[np.____(accuracies)]
कोड संपादित करें और चलाएँ