数据变换的方法

数据变换的方法:

数据平滑:去除数据中的噪声,将连续数据离散化。这里可以采用分箱、聚类和回归的方式进行数据平滑,我会在后面给你讲解聚类和回归这两个算法;
数据聚集:对数据进行汇总,在 SQL 中有一些聚集函数可以供我们操作,比如 Max() 反馈某个字段的数值最大值,Sum() 返回某个字段的数值总和;
数据概化:将数据由较低的概念抽象成为较高的概念,减少数据复杂度,即用更高的概念替代更低的概念。比如说上海、杭州、深圳、北京可以概化为中国。
数据规范化:使属性数据按比例缩放,这样就将原来的数值映射到一个新的特定区域中。常用的方法有最小—最大规范化Z—score 规范化按小数定标规范化等,我会在后面给你讲到这些方法的使用;
属性构造:构造出新的属性并添加到属性集中。这里会用到特征工程的知识,因为通过属性与属性的连接构造新的属性,其实就是特征工程。比如说,数据表中统计每个人的英语、语文和数学成绩,你可以构造一个“总和”这个属性,来作为新属性。这样“总和”这个属性就可以用到后续的数据挖掘计算中


1、Min-max 规范化

Min-max 规范化方法是将原始数据变换到[0,1]的空间中。
公式表示就是:新数值 =(原数值 - 极小值)/(极大值 - 极小值)。

#coding:utf-8
from sklearn import preprocessing
import numpy as np
#初始化数据,每一行表示一个样本,每一列表示一个特征
x=np.array([[0.,-3.,1.],
            [3.,1.,2.],
            [0.,1.,-1.]])
#将数据进行[0,1]规范化
min_max_scaler=preprocessing.MinMaxScaler()
minmax_x=min_max_scaler.fit_transform(x)
print(minmax_x)

输出:
[[0.         0.         0.66666667]
 [1.         1.         1.        ]
 [0.         1.         0.        ]]
2、z-score标准化

零-均值规范化也称标准差标准化,经过处理的数据的均值为0,标准差为1。转化公式为:
在这里插入图片描述

其中为原始数据的均值,为原始数据的标准差,是当前用得最多的数据标准化方式。标准差分数可以回答这样一个问题:"给定数据距离其均值多少个标准差"的问题,在均值之上的数据会得到一个正的标准化分数,反之会得到一个负的标准化分数。
代码示例:

from sklearn import preprocessing
import numpy as np
# 初始化数据
x = np.array([[ 0., -3.,  1.],
              [ 3.,  1.,  2.],
              [ 0.,  1., -1.]])
# 将数据进行Z-Score规范化
scaled_x = preprocessing.scale(x)
print scaled_x
3、小数定标规范化

通过移动属性值的小数位数,将属性值映射到[-1, 1]之间,移动的小数位数取决于属性值绝对值的最大值。转化公式为:

在这里插入图片描述

数据归约的策略:

  1. 数据立方体聚集:聚集操作用于数据方中的数据。

  2. 维归约:可以检测并删除不相关、弱相关或冗余的属性或维。

    主成分分析:

    100x100 ->10x10,需要将多指标转化为少数几个综合指标,及主成分,其中主成分能反映原始成 分的大部分信息,且不重复(每次找一个轴…)

    特征集选择:
    可以检测并删除不想关、弱相关或冗余的属性。属性子集选择常用贪心算法,通过局部最优解,期望导致全局最优解。通用方法包括:逐步向前、逐步向后、向前和向后一起删除、决策树归纳

  3. 数据压缩:使用编码机制压缩数据集。

  4. 数值归约:用替代的、较小的数据表示替换或估计数据,如参数模型(只需要存放校型参数,而不是实际数据)或非参数方法,如聚类、选样和使用直方图。

  5. 离散化和概念分层生产:属性的原始值用区间值或较高层的概念替换,概念分层允许挖掘多个抽象层上的数据,是数据挖掘的一种强有力的工具。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值