Позвольте мне подвести итог, чтобы убедиться, что я сначала понял вашу проблему. У вас есть данные временного ряда из 9 переменных, значит, у вас есть 9 каналов длины L
, поэтому матрица формы L x 9
, верно? Теперь вы вычисляете свои 4 объекта на каждом канале, превращая его в матрицу формы L x 36
.
. Например, sklearn.selectKBest
выбирает k лучших функций из 36 векторов объектов. Например, если k = 18
, то после преобразования вы получите матрицу формы L x 18
. Он выбирает 18 лучших функций.
Не могли бы вы подробнее рассказать о своей проблеме и о том, чего вы хотели бы достичь? Возможно с каким-нибудь кодом?
Редактировать:
Возможное решение, чтобы увидеть, какие функции были выбраны:
from sklearn.datasets import load_digits
from sklearn.feature_selection import SelectKBest, chi2
X, y = load_digits(return_X_y=True)
# X.shape = (1797, 64)
kbest = SelectKBest(chi2, k=20)
kbest.fit(X, y)
X_new = kbest.transform(X)
# X_new.shape = (1797, 20)
selected_features = kbest.get_support()
# Returns a mask of X.shape[1]
array([False, False, False, False, False, True, True, False, False,
False, False, False, False, True, False, False, False, False,
False, True, True, True, False, False, False, False, True,
False, True, False, True, False, False, True, True, False,
False, False, False, False, False, True, True, True, True,
False, True, False, False, False, False, False, False, False,
True, False, False, False, True, False, False, True, True,
False])
Теперь вам просто нужно сохранить вОбратите внимание, что функции соответствуют индексам, замаскированным с помощью true
.
. Вдохновлен sklearn-документацией для SelectKBest
(https://scikit -learn.org / stable / modules / generate / sklearn.feature_selection. SelectKBest.html # sklearn.feature_selection.SelectKBest )