数据标准化

Spark数据挖掘-数据标准化

梦想与她 提交于 2020-04-07 01:25:11
Spark数据挖掘-数据标准化 1 前言 特征数据标准化指的是对训练样本通过利用每一列的统计量将特征列转换为0均值单位方差的数据。 这是非常通用的数据预处理步骤。 例如:RBF核的支持向量机或者基于L1和L2正则化的线性模型在数据标准化之后效果会更好。 数据标准化能够改进优化过程中数据收敛的速度,也能防止一些方差过大的变量特征对模型训练 产生过大的影响。 如何对数据标准化呢?公式也非常简单:新的列 = (老的列每一个值 - 老的列平均值) / (老的列标准差) 2 数据准备 在标准化之前,Spark必须知道每一列的平均值,方差,具体怎么知道呢? 想法很简单,首先给 Spark的 StandardScaler 一批数据,这批数据以 org.apache.spark.mllib.feature.Vector 的形式提供给 StandardScaler。StandardScaler 对输入的数据进行 fit 即计算每一列的平均值,方差。 调度代码如下: import org.apache.spark.SparkContext._ import org.apache.spark.mllib.feature.StandardScaler import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.mllib

TensorFlow2.0之数据标准化

雨燕双飞 提交于 2020-03-27 09:32:36
import tensorflow as tf import tensorflow.keras as keras import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler #导入数据 fashion_mnist = keras.datasets.fashion_mnist (X_train_all, y_train_all), (X_test, y_test) = fashion_mnist.load_data() X_valid, X_train = X_train_all[:5000], X_train_all[1000:] y_valid, y_train = y_train_all[:5000], y_train_all[1000:] #归一化 scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train.astype(np.float32).reshape(-1,28*28)).reshape(-1,28,28) X_valid_scaled = scaler.transform(X_valid.astype

数据归一化/标准化

落爺英雄遲暮 提交于 2020-03-22 17:34:47
''' 【课程2.3】 数据归一化/标准化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。 在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权 最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上 0-1标准化 / Z-score标准化 ''' import numpy as np import pandas as pd import matplotlib.pyplot as plt % matplotlib inline # 数据标准化 # (1)0-1标准化 # 将数据的最大最小值记录下来,并通过Max-Min作为基数(即Min=0,Max=1)进行数据的归一化处理 # x = (x - Min) / (Max - Min) df = pd.DataFrame({"value1":np.random.rand(10)*20, 'value2':np.random.rand(10)*100}) print(df.head()) print('------') # 创建数据 def data_norm(df,*cols): df_n = df.copy() for col in cols: ma = df_n[col].max() mi = df_n

R实战 第九篇:数据标准化

假装没事ソ 提交于 2020-02-06 04:02:30
数据标准化处理是数据分析的一项基础工作,不同评价指标往往具有不同的量纲,数据之间的差别可能很大,不进行处理会影响到数据分析的结果。为了消除指标之间的量纲和取值范围差异对数据分析结果的影响,需要对数据进行标准化处理,就是说,把数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。 在继续下文之前,先解释三个个术语: (1)所谓 量纲 ,简单来说,就是说数据的单位;有些数据是有量纲的,比如身高,而有些数据是没有量纲的,例如,男女比例。无量纲化,是指去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或者量级的指标能够进行和加权。 (2)数据的标准化是指将数据按照比例缩放,使之落入一个特定的区间。 (3)归一化是数据标准化中最简单的方式,目的是把数变为(0,1)之间的小数,把有量纲的数据转换为无量纲的纯数量。 常用的归一化方法主要有离差标准化和标准差标准化,r的scale()可以实现标准差标准化,也可以指定标准化之后数据的均值和标准差。 一,离差标准化 离差标准化是对原始数据进行线性变化,使数值映射到[0,1]区间中,转换公式是: 离差标准化保留了原来数据中存在的关系,是消除量纲和数据取值范围对数据分析产生影响的最简单方法,缺点是如果数据集中,且某个数值很大,那么标准化之后大部分值会接近于0,并且不会相差很大。 二,标准差标准化 经过该方法处理的数据的均值是0,标准差是1

标准化数据-StandardScaler

别等时光非礼了梦想. 提交于 2020-02-06 02:58:18
StandardScaler----计算训练集的平均值和标准差,以便测试数据集使用相同的变换 官方文档: class sklearn.preprocessing. StandardScaler ( copy=True , with_mean=True , with_std=True ) Standardize features by removing the mean and scaling to unit variance 通过删除平均值和缩放到单位方差来标准化特征 The standard score of a sample x is calculated as: 样本x的标准分数计算如下: z = (x - u) / s   where u is the mean of the training samples or zero if with_mean=False , and s is the standard deviation of the training samples or one if with_std=False .   其中u是训练样本的均值,如果with_mean=False,则为0   s是训练样本的标准偏差,如果with_std=False,则为1 Centering and scaling happen independently on each

深度学习数据预处理——批标准化(Batch Normalization)

為{幸葍}努か 提交于 2020-02-05 09:15:52
数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间。 2015 年一篇论文提出了这个方法,批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,使其服从标准的正态分布,这样后一层网络的输入也是一个标准的正态分布,所以能够比较好的进行训练,加快收敛速度。 在pytorch中不用自己实现批标准化,有内置的函数实现,比如二维的BatchNorm2d() # 使用批标准化 class conv_bn_net(nn.Module): def __init__(self): super(conv_bn_net, self).__init__() self.stage1 = nn.Sequential( nn.Conv2d(1, 6, 3, padding=1), nn.BatchNorm2d(6), nn.ReLU(True), nn.MaxPool2d(2, 2), nn.Conv2d(6, 16, 5), nn.BatchNorm2d(16), nn.ReLU(True), nn.MaxPool2d(2,

数据标准化——Python实现

为君一笑 提交于 2020-01-29 18:07:46
在家没事梳理下数据标准化的东西,这数据预处理的基础东西,有大佬路过可以拿去跑一下,应该没有错误,下一篇讲数据离散化! ```# 数据标准化(Normalization)是指:将数据按照一定的比例进行缩放,使其落入一个特定的小区间。最经典就是数据的归一化处理,即将数据统一映射到【0,1】之间。 # 常用的数据标准化有6种 # 1.Min-Max 标准化 # Min-Max 标准化是指对原始数据进行线性变换,将值映射到【0,1】之间。 # 公式为: X' = (X-Xmin)/(Xmax-X) # 2.Z-Score 标准化 # Z-Score(也叫 Standard Score,标准分数)标准化是指:基于原始数据的均值(mean)和标准差(standard deviation)来进行数据的标准化。 # 公式为: X' = (x-μ)/a 为了方便,标准的数学符合用a、b等符号代替,x是原始数据,μ表示原始数据的均值,a表示原始数据的保准差 # 3.小数定标(Decimal scaling)标准化 # 小数定标标准化是指:通过移动小数点的位置来进行数据的标准化。小数点移动的位数取决于原始数据中的最大绝对值。 # 公式为:X' = x/10^j (j是10的指数) j表示满足条件的最小整数 # 例如:一组数据为[-309,-10,-43,87,344,970],其中绝对值最大的是970

数据标准化处理

非 Y 不嫁゛ 提交于 2020-01-18 02:39:33
Z-score 标准化 在R语言中: scale() 适用范围 1.数据的最大值和最小值未知 2.有超出取值范围的离群数据 经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为: x∗=(x−μ)/σ 标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。 缺点 估算Z-Score需要 总体 的平均值与方差,但是很难得到,大多数情况下是用 样本 的均值与标准差替代。 对于数据的分布有一定的要求,正态分布是最有利于Z-Score计算的。 Z-Score消除了数据具有的实际意义,算出来的值与之前的变量已经没有关系了,因此Z-Score的结果只能用于比较数据间的结果,数据的真实意义还需要还原原值。 min-max标准化 /0-1标准化/离差标准化 对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下: 其中max为样本数据的最大值,min为样本数据的最小值。 如果想要将数据映射到[-1,1],则将公式换成: x∗=(x−xmean)/(xmax−xmin) x_mean表示数据的均值。 缺陷 当有新数据加入时,可能导致max和min的变化,需要重新定义 使用情况 1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,Z-score standardization表现更好。 2、在不涉及距离度量

使用sklearn做特征工程

你离开我真会死。 提交于 2020-01-15 16:55:43
1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里介绍的特征处理库也十分强大!   本文中使用sklearn中的 IRIS(鸢尾花)数据集 来对特征处理功能进行说明。IRIS数据集由Fisher在1936年整理,包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),Iris Virginica(维吉尼亚鸢尾))。导入IRIS数据集的代码如下: 1 from sklearn.datasets import load_iris 2 3 #导入IRIS数据集 4 iris = load_iris() 5 6 #特征矩阵 7 iris.data

机器学习中的特征工程

自作多情 提交于 2020-01-15 14:59:59
作者:城东 链接: 特征工程到底是什么? - 城东的回答 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 目录 1 特征工程是什么? 2 数据预处理   2.1 无量纲化     2.1.1 标准化     2.1.2 区间缩放法     2.1.3 标准化与归一化的区别   2.2 对定量特征二值化   2.3 对定性特征哑编码   2.4 缺失值计算   2.5 数据变换 3 特征选择   3.1 Filter     3.1.1 方差选择法     3.1.2 相关系数法     3.1.3 卡方检验     3.1.4 互信息法   3.2 Wrapper     3.2.1 递归特征消除法   3.3 Embedded     3.3.1 基于惩罚项的特征选择法     3.3.2 基于树模型的特征选择法 4 降维   4.1 主成分分析法(PCA)   4.2 线性判别分析法(LDA) 5 总结 6 参考资料 1 特征工程是什么?   有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:   特征处理是特征工程的核心部分