如果在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