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

Machine Learning для фінансів у Python

Nathan George

Data Science Professor

важливості ознак

Machine Learning для фінансів у 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']
Machine Learning для фінансів у Python

Приберіть дні тижня

train_features = train_features.iloc[:, :-4]
test_features = test_features.iloc[:, :-4]
Machine Learning для фінансів у Python

2D-графік ознак

Machine Learning для фінансів у Python

прогноз knn для невідомої точки

Machine Learning для фінансів у Python

прогноз knn з 2 найближчими точками

Machine Learning для фінансів у Python

відстань Мінковського

Machine Learning для фінансів у Python

великі й малі ознаки

Machine Learning для фінансів у Python

Варіанти масштабування

Варіанти масштабування:

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

2D-графіки ознак до і після масштабування

Machine Learning для фінансів у Python

sklearn: `scale`

from sklearn.preprocessing import scale

sc = scale()
scaled_train_features = sc.fit_transform(train_features)
scaled_test_features = sc.transform(test_features)
Machine Learning для фінансів у Python

до і після стандартизації

Machine Learning для фінансів у 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()
Machine Learning для фінансів у Python

Масштабуйте дані та застосуйте KNN!

Machine Learning для фінансів у Python

Preparing Video For Download...