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

Chuẩn hóa dữ liệu

Một số mô hình như K-nearest neighbors (KNN) và neural networks hoạt động hiệu quả hơn với dữ liệu đã được scale — vì vậy chúng ta sẽ chuẩn hóa dữ liệu.

Chúng ta cũng sẽ loại bỏ các biến không quan trọng (ngày trong tuần) theo feature importance, bằng cách đánh chỉ số các DataFrame đặc trưng với .iloc[]. KNN dùng khoảng cách để tìm các điểm tương tự cho dự đoán, nên các đặc trưng có thang đo lớn sẽ lấn át các đặc trưng nhỏ. Scale dữ liệu sẽ khắc phục điều đó.

sklearn's scale() sẽ chuẩn hóa dữ liệu, đặt trung bình về 0 và độ lệch chuẩn về 1. Lý tưởng nhất, bạn nên dùng StandardScaler với fit_transform() trên dữ liệu huấn luyện và fit() trên dữ liệu kiểm tra, nhưng ở đây chúng ta bị giới hạn 15 dòng mã.

Sau khi scale dữ liệu, chúng ta sẽ kiểm tra xem đã hoạt động chưa bằng cách vẽ histogram của dữ liệu.

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

  • Loại bỏ các đặc trưng ngày trong tuần khỏi đặc trưng train/test bằng .iloc (ngày trong tuần là 4 đặc trưng cuối cùng).
  • Chuẩn hóa train_featurestest_features bằng scale() của sklearn; lưu đặc trưng đã scale vào scaled_train_featuresscaled_test_features.
  • Vẽ histogram của đường trung bình động RSI 14 ngày (đánh chỉ số tại [:, 2]) từ train_features chưa scale trên biểu đồ con đầu tiên (ax[0]).
  • Vẽ histogram của đường trung bình động RSI 14 ngày đã chuẩn hóa trên biểu đồ con thứ hai (ax[1]).

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.

from sklearn.preprocessing import scale

# Remove unimportant features (weekdays)
train_features = train_features.iloc[:, :-4]
test_features = test_features.____

# Standardize the train and test features
scaled_train_features = scale(train_features)
scaled_test_features = ____

# Plot histograms of the 14-day SMA RSI before and after scaling
f, ax = plt.subplots(nrows=2, ncols=1)
train_features.iloc[:, 2].hist(ax=____)
ax[1].hist(scaled_train_features[:, 2])
plt.show()
Chỉnh sửa và Chạy Mã