千锋教育-做有情怀、有良心、有品质的职业教育机构

python 数据标准化

来源:千锋教育
发布时间:2023-11-07 17:27:21
分享

标准化:在机器学习中,我们可能要处理不同种类的资料,例如,音讯和图片上的像素值,这些资料可能是高纬度的,资料标准化后会使得每个特征中的数值平均变为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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python 函数式编程概述 1.1.什么是函数式编程?函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始终能产生同样的结果。在一个函数式的程序中
  • python 选择排序 原理选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理大致是将后面的元素最小元素一个个取出然后按顺序放置。步骤在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,再从
  • python 插入排序 原理插入排序(InsertionSort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。步骤从第一个元素开始,该元素可以认为
  • python 归并排序 原理归并操作(归并算法),指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。步骤1.迭代法申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列设定两个指针,最初
  • python 快速排序 原理快速排序使用分治法(Divideandconquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤从数列中挑出一个元素,称为”基准”(pivot),重新排序数列,所有元素
  • Python 堆排序 原理堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。步骤创建最大堆:将堆