我需要从数据集中选择一些功能来执行回归任务。但是数值是在不同的范围内。
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)
要提高回归模型的性能,我需要在SelectKBest
方法之前对X进行归一化吗?
答案 0 :(得分:0)
答案是,这取决于您的数据-因此,您应该尝试一下它是否有帮助!这是转换每个变量的一种快速方法,以使其平均值为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)