sklearn数据预处理-scale
对数据按列属性进行scale处理后,每列的数据均值变成0,标准差变为1。可通过下面的例子加深理解:
from sklearn import preprocessing
import numpy as np
测试数据:
X = np.array([[1., -1., 2.], [2., 0., 0.], [0., 1., -1.]])
使用sklearn进行scale处理时,有两种方式可供选择。
方式1:直接使用preprocessing.scale()方法:
X_scaled = preprocessing.scale(X)
得到的X_scaled中每列的均值为0,方差为1
方式2:使用StandardScaler类来处理
scaler = preprocessing.StandardScaler().fit(X)
得到的scaler会计算得出每个属性列的均值、方差,但并没有得出最终的数据处理结果。要得到X的scale结果,可以继续执行transform方法:
X_scaled = scaler.transform(X)
这里刚开始学习时,会有疑问:为什么transform还需要传一个X参数?
StandardScaler将数据处理分为fit、transform两步。在fit中,仅仅计算出数据预处理算法的一些参数。比如这里主要计算出来每个列属性的均值、方差。但并没有通过算法:(x-mean)/std 对每个数据进行处理,真正的数据处理,放到了transform步骤中。
transform的参数可以是X,这样得到的效果跟直接使用preprocessing.scale(X)相同。也可以不同,当传入的参数不同时,scale会仍然使用计算好的均值、方差,按照算法:(x-mean)/std 来对每个数据处理。
分为fit、transform两个步骤后,那么处理训练集X时,可以fit(X),transform(X)。后面处理测试集时,直接使用transform即可。
这可能就是sklearn.preprocessing的fit、transform两个接口的设计思路吧。
sklearn数据预处理-scale的更多相关文章
- sklearn数据预处理
一.standardization 之所以标准化的原因是,如果数据集中的某个特征的取值不服从标准的正太分布,则性能就会变得很差 ①函数scale提供了快速和简单的方法在单个数组形式的数据集上来执行标准 ...
- sklearn 数据预处理1: StandardScaler
作用:去均值和方差归一化.且是针对每一个特征维度来做的,而不是针对样本. [注:] 并不是所有的标准化都能给estimator带来好处. “Standardization of a dataset i ...
- 数据预处理及sklearn方法实现
1.标准化(中心化) 在许多机器学习执行前,需要对数据集进行标准化处理.因为很对算法假设数据的特征服从标准正态分布.所以如果不对数据标准化,那么算法的效果会很差. 例如,在学习算法的目标函数,都假设数 ...
- sklearn-数据预处理scale
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 【sklearn】数据预处理 sklearn.preprocessing
数据预处理 标准化 (Standardization) 规范化(Normalization) 二值化 分类特征编码 推定缺失数据 生成多项式特征 定制转换器 1. 标准化Standardization ...
- sklearn学习笔记(一)——数据预处理 sklearn.preprocessing
https://blog.csdn.net/zhangyang10d/article/details/53418227 数据预处理 sklearn.preprocessing 标准化 (Standar ...
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std 计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并处以其方差.得到的结果是,对于每个属 ...
- sklearn中的数据预处理和特征工程
小伙伴们大家好~o( ̄▽ ̄)ブ,沉寂了这么久我又出来啦,这次先不翻译优质的文章了,这次我们回到Python中的机器学习,看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下我的开发环境是 ...
- matlab、sklearn 中的数据预处理
数据预处理(normalize.scale) 0. 使用 PCA 降维 matlab: [coeff, score] = pca(A); reducedDimension = coeff(:,1:5) ...
随机推荐
- 转 :Vim文件编码识别与乱码处理
Vim文件编码识别与乱码处理 在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任 ...
- Dice Possibility
Dice Possibility 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 What is possibility of rolling N dice and th ...
- 【转】CentOS安装PF_RING(虚拟机)
1. 概述 PF_RING是Luca Deri发明的提高内核处理数据包效率,并兼顾应用程序的补丁,如Libpcap和TCPDUMP等,以及一些辅助性程序(如ntop查看并分析网络流量等). ...
- Jfreet 自动删除生成的图片
jfreechart有自动删除的啊,会话失效就会自动删除的,我刚测试了啊,在web.xml里注册 <listener> <listener-class>org.jfree.ch ...
- hrbust 1721 A + B = 0 map的应用
13级春季校赛的热身题,但优化后我的代码也超时了,后来看了看学长的解法,觉得最简单的还是map,再一次感受到了map的强大. 题目描述如下 Description There is an intege ...
- OCR图片识别引擎
OCR引擎 OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件. ...
- Java时间操作(一):关于UTC格式时间处理
Java中获取形如:20160811T122132+08 格式,可以通过如下方法 package com.mc.others; public class UTCTimeTest { @Test pub ...
- Base64编码Java实现
一.什么是Base64编码 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一.Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输. 由于一些二进制字符在 ...
- zookeeper系列之异步通知模式-Watcher
1 watcher种类和事件种类 Watcher种类 1. zookeeper实例化时注入的默认Watcher 2. dataWatchers 一个Map<string Set<Watch ...
- fuel 6.1自动推送3控高可用centos 6.5 juno环境排错(一)
查看fuel日志: # less /var/log/docker-logs/remote/node-1.domain.tld/puppet-apply.log 2015-12-25T17:26:22. ...