python 数据标准化
标准化:在机器学习中,我们可能要处理不同种类的资料,例如,音讯和图片上的像素值,这些资料可能是高纬度的,资料标准化后会使得每个特征中的数值平均变为0(将每个特征的值都减掉原始资料中该特征的平均),标准差变为1,这个方法被广泛的使用在许多机器学习算法中(例如:支持向量机,逻辑回归和类神经网络)。
StandardScaler计算训练集的平均值和标准差,以便测试数据及使用相同的变换。
变换后各维特征有0均值,单位方差,也叫z-score规范化(零均值规范化),计算方式是将特征值减去均值,除以标准差。
fit
用于计算训练数据的均值和方差,后面就会用均值和方差来转换训练数据
fit_transform
不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转化成标准的正态分布。
transform
很显然,它只是进行转换,只是把训练数据转换成标准的正态分布。(一般会把train和test集放在一起做标准化,或者在train集上做标准化后,用同样的标准化器去标准化test集,此时可以使用scaler)。
data=[[0,0],[0,0],[1,1],[1,1]]
#1.基于mean和std的标准化
scaler=preprocessing.StandardScaler().fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)
一般来说先使用fit:
1scaler=preocessing.StandardScaler().fit(X)
这一步可以计算得到scaler,scaler里面存的有计算出来的均值和方差。
再使用transform
1scaler.transform(X)
这一步再用scaler中的均值和方差来转换X,使X标准化。
最后,在预测的时候,也要对数据做同样的标准化处理,即也要用上面的scaler中的均值和方差来对预测时候的特征进行标准化。
注意:测试数据和预测数据的标准化的方式要和训练数据标准化的方式一样,必须使用同一个scaler来进行transform
以上内容为大家介绍了python数据标准化,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python语句加分号吗
python分号使用不加分号代码>>>classPerson:name='tom'age=18>>>p1=Person()>>>print(p1.age)>>>加分号代码:>>>cla...详情>>
2023-11-14 17:24:31python属于哪个领域?
python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新...详情>>
2023-11-14 16:50:59怎么使用python命令行参数
Python提供了getopt模块来获取命令行参数。$pythontest.pyarg1arg2arg3Python中也可以所用sys的sys.argv来获取命令行参数:sys.argv是命令行参...详情>>
2023-11-14 14:03:13Python语言中mod表示什么意思
python语言中mod表示取模运算符。语法MOD(a,b)通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'...详情>>
2023-11-14 12:51:22