BaşlayınÜcretsiz başlayın

n_neighbors'ı optimize et

Artık verileri ölçeklendirdiğimize göre, bir KNN modeli deneyebiliriz. Performansı en üst düzeye çıkarmak için modelimizin hiperparametrelerini ayarlamalıyız. k-en yakın komşu algoritması için yalnızca bir hiperparametremiz var: n, yani komşu sayısı. Bu hiperparametreyi KNeighborsRegressor ile modeli oluştururken ayarlarız. Komşu sayısı için argüman n_neighbors'tır.

En iyi performans veren ayarı yakalayacak bir değer aralığını denemek istiyoruz. Genelde 2 komşuyla başlar ve puanlama metriğimiz düşmeye başlayana kadar artırırız. Burada n'i optimize etmek için test kümesi (scaled_test_features ve test_targets) üzerinde .score() metodundan gelen R\(^2\) değerini kullanacağız. En iyi n değerini belirlemek için test kümesi skorlarını kullanacağız.

Bu egzersiz, kursun bir parçasıdır

Python ile Finans için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • n için 2'den 12'ye kadar olan değerlere döngü kur ve bunu knn modelinde n_neighbors olarak ayarla.
  • Modeli eğitim verilerine (scaled_train_features ve train_targets) fit et.
  • Eğitim ve test kümeleri için knn modelinin .score() metodunu kullanarak R\(^2\) değerlerini yazdır ve test kümesindeki en iyi skoru not et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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
Kodu Düzenle ve Çalıştır