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

n_neighbors को ऑप्टिमाइज़ करें

अब जबकि हमारे पास स्केल किया हुआ डेटा है, हम KNN मॉडल ट्राई कर सकते हैं। परफॉर्मेंस को अधिकतम करने के लिए, हमें मॉडल के हाइपरपैरामीटर ट्यून करने चाहिए। k-nearest neighbors एल्गोरिदम में हमारे पास केवल एक हाइपरपैरामीटर होता है: n, यानी पड़ोसियों की संख्या। हम यह हाइपरपैरामीटर मॉडल बनाते समय KNeighborsRegressor के साथ सेट करते हैं। पड़ोसियों की संख्या के लिए आर्ग्यूमेंट n_neighbors है.

हम ऐसे मानों की रेंज ट्राई करना चाहते हैं जो सर्वश्रेष्ठ परफॉर्मेंस वाली सेटिंग से गुजरे। आम तौर पर हम 2 पड़ोसियों से शुरू करते हैं और तब तक बढ़ाते हैं जब तक हमारा स्कोरिंग मैट्रिक घटने नहीं लगता। यहाँ हम टेस्ट सेट (scaled_test_features और test_targets) पर .score() मेथड से मिलने वाले R\(^2\) मान का उपयोग n ऑप्टिमाइज़ करने के लिए करेंगे। हम टेस्ट सेट के स्कोर से सबसे अच्छा n तय करेंगे.

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

Python में Finance के लिए Machine Learning

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

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

  • n के लिए 2 से 12 तक के मानों पर लूप चलाएँ और इसे knn मॉडल में n_neighbors के रूप में सेट करें.
  • मॉडल को ट्रेनिंग डेटा (scaled_train_features और train_targets) पर फिट करें.
  • ट्रेन और टेस्ट सेट के लिए knn मॉडल के .score() मेथड से R\(^2\) मान प्रिंट करें, और टेस्ट सेट पर सबसे अच्छे स्कोर पर ध्यान दें.

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

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

from sklearn.neighbors import KNeighborsRegressor

for n in range(____):
    # Create and fit the KNN model
    knn = KNeighborsRegressor(n_neighbors=____)
    
    # Fit the model to the training data
    knn.fit(____, ____)
    
    # Print number of neighbors and the score to find the best value of n
    print("n_neighbors =", n)
    print('train, test scores')
    print(knn.score(scaled_train_features, train_targets))
    print(knn.score(____, ____))
    print()  # prints a blank line
कोड संपादित करें और चलाएँ