【发布时间】:2021-01-12 19:38:28
【问题描述】:
我正在尝试规范化我的特征(Xtrain 矩阵,它是 250 x 7),这就是我为此所做的:
mean_tr = np.mean(Xtrain, axis=0)
sd_tr = np.std(Xtrain, axis=0)
feature1 = (Xtrain[:,0] - mean_tr[0]) / sd_tr[0]
feature2 = (Xtrain[:,1] - mean_tr[1]) / sd_tr[1]
feature3 = (Xtrain[:,2] - mean_tr[2]) / sd_tr[2]
feature4 = (Xtrain[:,3] - mean_tr[3]) / sd_tr[3]
feature5 = (Xtrain[:,4] - mean_tr[4]) / sd_tr[4]
feature6 = (Xtrain[:,5] - mean_tr[5]) / sd_tr[5]
feature7 = (Xtrain[:,6] - mean_tr[6]) / sd_tr[6]
但是有问题!我的特征不在0-1范围内!有些超过1!我做错了什么?
【问题讨论】:
-
你没有做错什么。按标准缩放不会将范围固定为 [0,1],它会对其进行缩放,因此方差为 1。您需要一个最小-最大缩放器,在其中减去最小值并除以最大值。详情scikit-learn.org/stable/modules/…
-
查看此问题的答案以了解其他可能的方法:stackoverflow.com/questions/21030391/…
标签: python numpy normalization