Перцентили и частичное применение функций
В этом упражнении вы научитесь заранее фиксировать аргументы функции, чтобы настроить её поведение до вызова. Вы применёте этот подход для вычисления нескольких перцентилей ваших данных с помощью одной функции percentile() из numpy.
Это упражнение является частью курса
Машинное обучение для данных временных рядов на Python
Инструкции к упражнению
- Импортируйте
partialизfunctools. - С помощью функции
partial()и генератора списков создайте несколько генераторов признаков, которые вычисляют перцентили ваших данных. - Используя скользящее окно (
prices_perc_rolling), определённое для вас заранее, рассчитайте квантили с помощьюpercentile_functions. - Визуализируйте результаты, используя предоставленный код.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()