Phân vị và hàm partial
Trong bài tập này, bạn sẽ luyện cách chọn sẵn các đối số của một hàm để cấu hình trước cách hàm chạy. Bạn sẽ dùng cách này để tính
nhiều phân vị của dữ liệu bằng cùng một hàm percentile() trong numpy.
Bài tập này là một phần của khóa học
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python
Hướng dẫn bài tập
- Import
partialtừfunctools. - Dùng hàm
partial()để tạo một số bộ tạo đặc trưng tính các phân vị của dữ liệu bằng list comprehension. - Sử dụng cửa sổ trượt (
prices_perc_rolling) đã được định nghĩa sẵn, tính các phân vị bằngpercentile_functions. - Trực quan hóa kết quả bằng đoạn mã đã cho.
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 partial from functools
____
percentiles = [1, 10, 25, 50, 75, 90, 99]
# Use a list comprehension to create a partial function for each quantile
percentile_functions = [____(np.percentile, q=percentile) for percentile in percentiles]
# Calculate each of these quantiles on the data using a rolling window
prices_perc_rolling = prices_perc.rolling(20, min_periods=5, closed='right')
features_percentiles = prices_perc_rolling.____(____)
# Plot a subset of the result
ax = features_percentiles.loc[:"2011-01"].plot(cmap=plt.cm.viridis)
ax.legend(percentiles, loc=(1.01, .5))
plt.show()