нужна нормализация перед SelectKBest в python - PullRequest
0 голосов
/ 16 октября 2018

Мне нужно выбрать некоторые функции из набора данных для задачи регрессии.Но числовые значения находятся в разных диапазонах.

from sklearn.datasets import load_boston
from sklearn.feature_selection import SelectKBest, f_regression

X, y = load_boston(return_X_y=True)
X_new = SelectKBest(f_regression, k=2).fit_transform(X, y)

Чтобы повысить производительность регрессионной модели, нужно ли нормализовать X перед SelectKBest методом?

1 Ответ

0 голосов
/ 16 октября 2018

Ответ в том, что это зависит от ваших данных - так что вам стоит попробовать, чтобы посмотреть, поможет ли это!Вот быстрый способ преобразовать каждую переменную так, чтобы она имела среднее значение 0 и дисперсию 1:

from sklearn.datasets import load_boston
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.preprocessing import StandardScaler

X, y = load_boston(return_X_y=True)

scaler_x = StandardScaler().fit(X)
X = scaler_x.transform(X)

X_new = SelectKBest(f_regression, k=2).fit_transform(X, y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...