常用数据处理
这里主要介绍包括以下几种类型的数据处理:
–数据离散化
–数据数值化
–数据归一化
–相似度计算
1. 数据离散化
包括两种方法:
(1)等频装箱:将数据排序后,分为不同箱子,在每个箱子中数据的个数一样;
(2)等宽装箱:将数据排序后,分为不同箱子,在每个箱子中数据最大最小的差值是一样的,即箱子的宽度相同。
由于在数据分析[0]中有对装箱的介绍,这里不在介绍,代码结构大致相同,只是应用的场景不一样
2. 数据数值化
2.1 one-hot编码
1、传入数据列;
2、构造函数;
3、步骤为:(1)首先将数据列转为一个集合,集合的长度就是onehot编码的长度,初始为集合长度个‘0’;(2)构建一个字典存储onehot编码;(3)对于数据列对应的集合中的数值:1,2,3,4……,就是在对应的位置上,该处的值由‘0’变为‘1’,因此循环所有数据集合,给集合中的每个数值进行onehot编码,并记录对应的键值;(4)字典写入完成后,循环整个数据列表,为对应数值赋予onehot编码;(5)操作已经完成onehot编码,然后分离所有的编码,变成相应的属性。
4、调用函数,打印结果:
def GetOneHot(dataSet):
"oneHot编码"
i = 0 #做为标记
length = 0 #one-hot编码长度
dataSet = list(dataSet) #转化为list
dataset = set(dataSet) #赋值给dataset
dataDict = {} #字典来存储数