Масштабирование данных и KNN-регрессия

Машинное обучение для финансов на Python

Nathan George

Data Science Professor

важность признаков

Машинное обучение для финансов на Python

Отбор признаков: удаление дней недели

print(feature_names)
['10d_close_pct',
 '14-day SMA',
 '14-day RSI',
 '200-day SMA',
 '200-day RSI',
 'Adj_Volume_1d_change',
 'Adj_Volume_1d_change_SMA',
 'weekday_1',
 'weekday_2',
 'weekday_3',
 'weekday_4']
print(feature_names[:-4])
['10d_close_pct',
 '14-day SMA',
 '14-day RSI',
 '200-day SMA',
 '200-day RSI',
 'Adj_Volume_1d_change',
 'Adj_Volume_1d_change_SMA']
Машинное обучение для финансов на Python

Удаление дней недели

train_features = train_features.iloc[:, :-4]
test_features = test_features.iloc[:, :-4]
Машинное обучение для финансов на Python

двумерный график признаков

Машинное обучение для финансов на Python

KNN-предсказание для неизвестной точки

Машинное обучение для финансов на Python

KNN-предсказание с двумя ближайшими точками

Машинное обучение для финансов на Python

расстояние Минковского

Машинное обучение для финансов на Python

крупный и мелкий признак

Машинное обучение для финансов на Python

Способы масштабирования

Способы масштабирования:

  • min-max
  • стандартизация
  • median-MAD
  • отображение на произвольную функцию (например, sigmoid, tanh)
Машинное обучение для финансов на Python

двумерные графики признаков до и после масштабирования

Машинное обучение для финансов на Python

Масштабирование в sklearn

from sklearn.preprocessing import scale

sc = scale()
scaled_train_features = sc.fit_transform(train_features)
scaled_test_features = sc.transform(test_features)
Машинное обучение для финансов на Python

до и после стандартизации

Машинное обучение для финансов на Python

Создание подграфиков

# create figure and list containing axes
f, ax = plt.subplots(nrows=2, ncols=1)

# plot histograms of before and after scaling train_features.iloc[:, 2].hist(ax=ax[0]) ax[1].hist(scaled_train_features[:, 2]) plt.show()
Машинное обучение для финансов на Python

Давайте потренируемся!

Машинное обучение для финансов на Python

Preparing Video For Download...