In [1]:
import numpy as np
import scipy.stats
from sklearn import preprocessing
In [2]:
a = np.array([0, 1, 2, 3, 4])
print(a)
In [3]:
print((a - a.min()) / (a.max() - a.min()))
In [4]:
print((a - a.mean()) / a.std())
In [5]:
print((a - a.mean()) / a.std(ddof=1))
In [6]:
a_2d = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print(a_2d)
In [7]:
def min_max(x, axis=None):
x_min = x.min(axis=axis, keepdims=True)
x_max = x.max(axis=axis, keepdims=True)
return (x - x_min) / (x_max - x_min)
In [8]:
print(min_max(a_2d))
In [9]:
print(min_max(a_2d, axis=0))
In [10]:
print(min_max(a_2d, axis=1))
In [11]:
print(min_max(a))
In [12]:
def standardization(x, axis=None, ddof=0):
x_mean = x.mean(axis=axis, keepdims=True)
x_std = x.std(axis=axis, keepdims=True, ddof=ddof)
return (x - x_mean) / x_std
In [13]:
print(standardization(a_2d))
In [14]:
print(standardization(a_2d, ddof=1))
In [15]:
print(standardization(a_2d, axis=0))
In [16]:
print(standardization(a_2d, axis=0, ddof=1))
In [17]:
print(standardization(a_2d, axis=1))
In [18]:
print(standardization(a_2d, axis=1, ddof=1))
In [19]:
print(standardization(a))
In [20]:
print(standardization(a, ddof=1))
In [21]:
print(scipy.stats.zscore(a))
In [22]:
print(scipy.stats.zscore(a_2d))
In [23]:
print(scipy.stats.zscore(a_2d, axis=None, ddof=1))
In [24]:
mm = preprocessing.MinMaxScaler()
In [25]:
print(mm.fit_transform(a_2d.astype(float)))
In [26]:
print(preprocessing.minmax_scale(a.astype(float)))
In [27]:
print(preprocessing.minmax_scale(a_2d.astype(float), axis=1))
In [28]:
ss = preprocessing.StandardScaler()
In [29]:
print(ss.fit_transform(a_2d.astype(float)))
In [30]:
print(preprocessing.scale(a.astype(float)))
In [31]:
print(preprocessing.scale(a_2d.astype(float), axis=1))