数据规范化处理

常用的三种数据规范化处理方法:

  常用的数据规范化处理主要有Min-max规范化、Z-Score规范化和小数定标规范化。下面简要介绍下三种数据规范化方法,并用python的机器学习库SciKit-Learn来实现数据变化。

Min-max 规范化

  Min-max 规范化方法是将原始数据变换到[0,1]的空间中用公式表示就是:

新数值 =(原数值 - 极小值)/(极大值 - 极小值)。

  sciKit-Learn中的MinMaxScaler函数可以将原始数据投射到指定空间[min,max],默认情况下[min,max]是[0,1].运行代码:

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.        ]]

Z-Score 规范化

  Z-Score规范化可以直接将数据转化为正态分布。
Z-Score :

新数值 =(原数值 - 均值)/ 标准差。

  Z-Score 的优点是算法简单,不受数据量级影响,结果易于比较。不足在于,它需要数据整体的平均值和方差,而且结果没有实际意义,只是用于比较。

  SciKit-Learn库中的preprocessing.scale()函数可以直接将给定的数据进行Z-Score规范化。运行代码:

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)

运行结果:

[[-0.70710678 -1.41421356  0.26726124]
 [ 1.41421356  0.70710678  1.06904497]
 [-0.70710678  0.70710678 -1.33630621]]

小数定标规范化

  小数定标规范化就是通过移动小数点的位置来进行规范化。小数点移动多少位取决于属性 A 的取值中的最大绝对值。
  比如属性 A 的取值范围是 -999 到 88,那么最大绝对值为 999,小数点就会移动 3 位,即新数值 = 原数值 /1000。那么 A 的取值范围就被规范化为 -0.999 到 0.088。

 通过NumPy库计算小数点位数。运行代码:

from sklearn import preprocessing
import numpy as np
# 初始化数据
x = np.array([[ 0., -3.,  1.],
              [ 3.,  1.,  2.],
              [ 0.,  1., -1.]])
# 小数定标规范化
j = np.ceil(np.log10(np.max(abs(x))))
scaled_x = x/(10**j)
print (scaled_x)

运行结果:


[[ 0.  -0.3  0.1]
 [ 0.3  0.1  0.2]
 [ 0.   0.1 -0.1]]
  • 1
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
通用说明 1. 适用机构:在境内依法设立的银行机构,包括政策性银行、大型商业银行、股份制商业银行、城市商业银行、民营银行、农村信用社、农村商业银行、农村合作银行、村镇银行、外资银行、中德住房储蓄银行。 2. 数据结构:《中国银保监会银行业金融机构监管数据标准化规范(2019版)》(以下简称《规范》)共包括十个监管主题域、66张数据表、1852个数据项。数据表报送范围及数据项在《规范》中均有说明。 3. 数据来源:银行机构根据《规范》要报送除理财业务域以外的九个监管主题域,从行内相关信息系统中获取数据,其中信息系统包括但不限于以下系统:核心业务系统、信贷系统、国结系统、票据系统、人力资源等。理财登记中心根据《规范》要,向银保监会报送采集范围内的数据。各报数单位现有信息系统无法满足数据填报需时,应及时采取措施,完善信息系统建设,并制定具体工作方案计划,以逐步达到数据报送要。 4. 数据采集:银行机构首次按本《规范》集中报送数据时,公共信息、客户信息、信贷管理等相关数据表报送采集时间段内存续数据,账户类及交易明细类数据报送时间段内的全量数据。银行机构持续报数时,公共信息、客户信息相关数据表报送采集时间段内存续全量数据。理财登记中心按照理财业务相关数据表的采集要报送数据。报送账户、借据全量数据时,采集时间段内结清、未结清,销户、未销户都应上报。 5.数据校验:银行机构按照数据检核规则报送数据。首次集中报送时,银行机构按照数据检核规则完成对报送数据的整改工作。持续报送时,银行机构应在一个报送周期内完成对不符合校验规则数据的整改和入库。 6.数据分层存储:所有采集数据分层存储在银保监会(或其派出机构)和报数机构。每批次数据采集时,报数机构将全部数据存至本机构存储平台,并按照《规范》要,将其中部分数据报送至银保监会(或其派出机构)。存至本机构的数据要单独存放、隔离管理,并建立安全可靠的传输通道和保障机制,支撑银保监会数据调阅与应用。存储平台中的数据,未经银保监会许可,不得导出、拷贝和删改。 7. 关联数据项:不同表存在数据项名称、填报内容定义相同的数据项时,应保证所填数据在这些表格中一致。例如:不同表的客户统一编号、工号、合同号应保持表间一致。“备注”栏所列“关联数据项”意为表之间数据项存在相关关系,用于指导银行机构填报存在相关关系的数据及监管查找关联数据之用。 8. 银行自定义数据项:由于银行机构业务和信息系统的差异性,规范中一些数据数据项填报要注明由银行自定义,此类数据数据项报送应注意使用中文字典或中文描述,避免使用英文或代码表示。对于《规范》中已经列出数据数据项,严格依照标准中已有的分类上报。 9. 敏感信息处理:对于客户隐私均在备注栏内做了注解,分为“隐私,暂不取”、“隐私,银行机构变形”两种情况。对于“隐私,暂不取”数据项,保留在银行机构,作为可追索数据项;对于“隐私,银行机构变形”数据项,按照以下规则进行变形: (1)个人件号码: 若件号码中有英文字母,应先统一转换成大写英文字母; 变形后的件号码(38字节) = 件号码前6字节(6个英文字符/数字,或2个汉字,或1个汉字+3个英文字符/数字) + MD5(件号码全文UTF-8编码)(32字符,英文按小写输出),若件号码为空,则按空报送。 例: 18位公民身份号码:33010219801212031X,变形后: 33010268162287691742b48cbc3ae8b70650a7 15位公民身份号码:330102801212031,变形后: 330102b88ce0d0e99298c224409414db399920 军官证/武警部队警官证:参字第1234567号,变形后: 参字3d0b11c17f6130dbd8502a416a7935ef 护照:E12345678,变形后:E12345d02f3cf86bb402a904f98df6373eb1ac (2)包含个人件号码的客户统一编号: 若件号码中有英文字母,应先统一转换成大写英文字母; 将件号码部分用件号码全文UTF-8编码的MD5杂凑替换,其余部分不变。 (3)客户名称和所有对方户名信息: 三个汉字以内(包含三个汉字)的名称,做有限暴露方式的脱敏处理,只保留最后一个字,其余长度的名称不变形。银行机构员工和业务办理人员、自然人股东、单位负责人姓名不变形。 10. 数据约束:数据结构备注中PK为监管部门作为唯一性约束的参考条件,含有多个PK的,表示联合主键的参考,并不作为主外键唯一性约束的条件,可根据数据实际使用用途情况作出调整。 11. 数据项报送:《规范》中所有数据项均作为必填项对待,确实无法对应的数据项应报监管部门备案,并参照以下处理:①未开办此类业务,则无须报送;②已经开办此类业务,但需要一次性录入索引类数据,应当在实施过程中另行建表维护或对源系统进行技术改造。 12. 数据格式:报送数据若为字符串,则字符串中不能包含\n、\r、双引号等控制字符和转义字符,且字符串首尾不能包含空格。报送数据若为浮点数,则必须为123.789形式,前后不可补0、补+号。报送数据若为整数,则必须为123456形式,数前不可补0、补+号,数后不能带小数点。 13. 拆分原则:明确采集分支机构数据的银行机构,由总行按照一级分行进行数据拆分,并由一级分行报送属地银监局。若多个一级分行归属同一银监局管辖区域,则应由多个一级分行分别独立报送。数据拆分应当以满足交易描述的完整性为基本原则,账户归属地、业务发生地不在一个一级分行的,归属地、发生地应当分别报送。 14. 标准引用:下列标准中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 银保监会《金融机构代码编码规则》 ISO/IEC 10646 Information Technology -- Universal Coded Character Set (UCS) GB 32100-2015 法人和其他组织统一社会信用代码编码规则 GB 11714-1997 全国组织机构代码编制规则 GB 11643-1999 公民身份号码 GB/T 2261-2003 个人基本信息分类与代码 GB/T 4754 国民经济行业分类 GB/T 7408-2005 数据元和交换格式 信息交换 日期和时间表示法(ISO 8601:2000,IDT) GB/T 12406-2008 表示货币和资金的代码(ISO 4217:2001,IDT) GB/T 18142-2000 信息技术 数据元素格式记法(ISO/IEC 14957:1996,IDT) GB/T 4658-2006 学历代码 GB/T 8561-2001 专业技术职务代码 GB/T 2659-2000 世界各国和地区名称代码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiu_cs

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值