如果在sklearn.linear_model
中的任何线性模型中将标准化参数设置为True
,是否在分数步骤期间应用标准化?sci-kit中的标准化学习linear_models
例如:
from sklearn import linear_model
from sklearn.datasets import load_boston
a = load_boston()
l = linear_model.ElasticNet(normalize=False)
l.fit(a["data"][:400], a["target"][:400])
print l.score(a["data"][400:], a["target"][400:])
# 0.24192774524694727
l = linear_model.ElasticNet(normalize=True)
l.fit(a["data"][:400], a["target"][:400])
print l.score(a["data"][400:], a["target"][400:])
# -2.6177006348389167
在这种情况下,我们看到的预测能力的降低,当我们设置normalize=True
,我不能告诉我们,如果这仅仅是一个不应用正常化score
功能的神器,或者归一化值导致model
性能下降。
IIRC此选项已弃用,应使用'sklearn.preprocessing'中的工具进行标准化。 'sklearn.preprocessing.StandardScaler'或'sklearn.preprocessing.Normalizer' – eickenberg