kevbuntu kevbuntu - 17 days ago 5
Python Question

normalizing training data so that it has a mean of 0 and a range between -0.5 and 0.5

Trying to normalize the input data which a matrix of images in to a mean of 0 and a range of -0.5 and 0.5 in python

def normalise(image):
return 0.1 + (((image_data-0)*(0.9-0.1))/(255 - 0))


Was trying to use min-max scaling, but wrong answer I get close to 0.1 for min and max

Answer

You want scaling. Here is example:

from sklearn import preprocessing
import numpy as np

data = np.array([70, -5, 5, 3, 2, 1])
scale = preprocessing.minmax_scale(data, feature_range=(-0.5, 0.5))
print scale

out:

[ 0.5        -0.5        -0.36666667 -0.39333333 -0.40666667 -0.42      ]