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

Tạo đặc trưng cho train và test

Trước khi fit mô hình tuyến tính, bạn cần thêm một hằng số vào các đặc trưng để mô hình có hệ số chặn (intercept).

Bạn cũng sẽ tạo đặc trưng cho train và test. Nhờ vậy, ta fit mô hình trên tập train và đánh giá hiệu năng trên tập test. Ta luôn cần kiểm tra hiệu năng trên dữ liệu mà mô hình chưa thấy để bảo đảm không bị overfitting, tức là ghi nhớ quá sát các mẫu trong dữ liệu huấn luyện.

Với chuỗi thời gian như thế này, ta thường dùng dữ liệu cũ nhất làm tập huấn luyện và dữ liệu mới nhất làm tập kiểm tra. Cách này giúp đánh giá hiệu năng của mô hình trên dữ liệu gần đây nhất, mô phỏng thực tế hơn việc dự đoán trên dữ liệu chưa từng thấy.

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

Machine Learning cho Tài chính bằng Python

Xem khóa học

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

  • Import thư viện statsmodels.api với bí danh sm.
  • Thêm một hằng số vào biến features bằng hàm .add_constant() của statsmodels.
  • Đặt train_size bằng 85% tổng số điểm dữ liệu (số hàng) dùng thuộc tính .shape[0] của features hoặc targets.
  • Chia linear_featurestargets thành các tập train và test bằng train_size và cú pháp đánh chỉ mục Python (ví dụ [start:stop]).

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.

# Import the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Chỉnh sửa và Chạy Mã