利用sklearn linear_model下的线性模型验证一下特征缩放前后结果是否一致
验证因变量y的缩放
import numpy as np from sklearn import linear_model x=[[1],[2],[3],[4],[5]] y=[100,200,300,400,500] y2=[] avg=np.mean(y) for i in range(len(x)): y2.append(y[i]/avg) clf=linear_model.LinearRegression() X=[[2]] clf.fit(x,y) start=clf.predict(X) clf.fit(x,y2) end=clf.predict(X) print(start) print(end*avg)
结果:
[200.]
[200.]
验证自变量x的缩放(结上面的代码)
y=[[1],[2],[3],[4],[5]] x=[[100],[200],[300],[400],[500]] x2=[[0],[0],[0],[0],[0]] avg=np.mean(x) for i in range(len(x)): x2[i][0]=x[i][0]/avg clf=linear_model.LinearRegression() X=[[100]] clf.fit(x,y) start=clf.predict(X) clf.fit(x2,y) end=clf.predict(X/avg) print(start) print(end)
结果:
[[1.]]
[[1.]]
>>>
缩放前后的结果是一致的~~~