说明本文是实现标准化处理,标准化后方差为1,均值为0

下载安装python,并安装好numpy包,sklearn包。若数据在csv文件中参照实例1,若数据手工录入,参照实例2.


实例1,将csv文件放入python操作环境目录下,或者复制完整路径。文件名为1.csv
numpy库是标准库吗代码:
import numpy as np
import csv
from sklearn import preprocessing
x=np.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0)
x_scale = preprocessing.scale(x)
print(x)
print(x_scale)


实例2:
#机器学习-标准化
from sklearn import preprocessing
import numpy as np
X = np.array([[ 1., -1.,  2.],
              [ 2.,  0.,  0.],
              [ 0.,  1., -1.]])
X_scale = preprocessing.scale(X)
print(X_scale)

标准版,没有代码冗余最新
代码如下,标准化后的数据在[0,1]之间,行为样本,列为指标。标准化的方法可以见我的另一个文档
import csv
import numpy as np
csv_file =ader(open('1.csv','r'))
np0 = np.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0)#原始数据
np1=np0+0.0000000000000000001
print('原始数据如下')
print(np1)
b=np1/np.sum(np1,0)#运算
c=b*np.log(b)#运算
k=1/np.log(np1.shape[0])
d=-k*np.sum(c,0)#运算
e=1-d#运算
f=e/np.sum(e)#运算
print(f)
print('如下为各指标权重')
for i in f:
    print(i)