记录一下,方便自己查找,也希望需要的人能用得上
#其中testj是需要被标准化或者归一化的数据,操作后名称依然是testj
#健壮标准化,需要求中值,第三和第一四分位数
cut_test = np.array([0, 0.25, 0.5, 0.75, 1])
cut_income = np.quantile(testj,cut_test)
testj = (testj-np.median(testj))/(cut_income[3]-cut_income[1])
#z-score归一化
vari1 = np.sqrt(np.sum((testj - np.mean(testj)) ** 2) / len(testj))
estj = (testj - np.mean(testj)) / vari1
#最小值最大值归一化
testj = (testj-np.min(testj))/(np.max(testj)-np.min(testj))
#最大缩放归一化
testj = testj/(max(abs(testj)))
具体归一化的效果要看数据集以及任务,因此不特别推荐某种方法,大家根据自己的情况选择。