Pencere boyutunu ayarlama
Aritmi veri kümesi için en iyi pencere boyutunun 50 olduğunu kendin doğrulamak istiyorsun. Veri kümesi sana arrh adlı bir pandas veri çerçevesi olarak verildi ve zamanı t_now olan ana kadar olan verilerin bir alt kümesini kullanmak istiyorsun. Test verilerin X_test, y_test olarak mevcut. 10'dan 100'e kadar çeşitli pencere boyutlarını deneyecek, her pencere için bir naive Bayes sınıflandırıcısı eğitecek, test verisi üzerindeki F1 skorunu ölçecek ve ardından en iyi performans gösteren pencere boyutunu seçeceksin. Ayrıca numpy np kısaltmasıyla mevcut ve f1_score() fonksiyonu zaten içe aktarıldı. Son olarak, pencerelerin doğruluklarını saklaman için accuracies adlı boş bir liste senin için başlatıldı.
Bu egzersiz
Python'da Machine Learning İş Akışları Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
.loc()yöntemini kullanarakt_now'da sona eren, boyutuw_sizeolan bir kayan pencerenin indeksini tanımla.- Kayan pencereden
classsütununu kaldırarakX'i oluştur. Kaldırdığın bu sütunuyolarak sakla. Xveyile bir naive Bayes sınıflandırıcısı eğit veX_testtest verisinin etiketlerini tahmin etmek için kullan.- Her pencere boyutu için bu tahminlerin F1 skorunu hesapla ve en iyi performans gösteren pencere boyutunu bul.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)]