Bắt đầu ngayBắt đầu miễn phí

Điều chỉnh kích thước cửa sổ

Bạn muốn tự kiểm chứng rằng kích thước cửa sổ tối ưu cho bộ dữ liệu arrhythmia là 50. Bạn đã được cung cấp bộ dữ liệu dưới dạng data frame của pandas tên là arrh, và muốn dùng một tập con dữ liệu đến thời điểm t_now. Dữ liệu kiểm tra có trong X_test, y_test. Bạn sẽ thử nhiều kích thước cửa sổ, từ 10 đến 100, fit một bộ phân loại naive Bayes cho mỗi cửa sổ, đánh giá F1 score của nó trên dữ liệu kiểm tra, rồi chọn kích thước cửa sổ hoạt động tốt nhất. Bạn cũng có numpy với tên np, và hàm f1_score() đã được import sẵn. Cuối cùng, một danh sách rỗng tên accuracies đã được khởi tạo để bạn lưu độ chính xác của các cửa sổ.

Bài tập này là một phần của khóa học

Thiết kế quy trình Machine Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Xác định index của một cửa sổ trượt kích thước w_size kết thúc tại t_now bằng phương thức .loc().
  • Tạo X từ cửa sổ trượt bằng cách loại bỏ cột class. Lưu cột đó thành y.
  • Fit một bộ phân loại naive Bayes cho Xy, và dùng nó để dự đoán nhãn của dữ liệu kiểm tra X_test.
  • Tính F1 score của các dự đoán này cho mỗi kích thước cửa sổ, và tìm kích thước cửa sổ có hiệu năng tốt nhất.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)]
Chỉnh sửa và Chạy Mã