数据清理

删除列

如果某一列中存在大量的缺失值, 并且确定该列没有太多的价值, 可以考虑删除该列

删除行

直接删除含有缺失值的行. 但是对于维度很多的数据, 假设大量的维度都存在缺失值, 这个方法很容易丢弃大量的样本

填充缺失值

特征编码

对于非数值型的数据, 我们需要对其进行处理, 将其转化为数值类型, 比如向量或者矩阵形式. 这样的过程我们称之为 特征编码

其中最常用的技术为 独热编码 ( one-hot encoding )

标签编码

譬如对于 类别标签, 我们可以使用枚举, 对于 是否标签, 我们可以使用 0 和 1. 这个是一个很常见的概念.

但是在机器学习中, 直接使用枚举, 这里边存在 数与数之间是有大小关系的, 而这些大小关系势必影响到模型结果

独热编码

所以正确的方式应该是使用独热编码. 它的方式是, 在标签特征的基础上需要创建一个向量。这个向量的长度跟类别种类的个数等同的,另外,除了一个位置是1,其他位置均为0, 1的位置对应的是相应类别出现的位置。

比如有三个类别0,1,2… 那这时候向量的长度为3。 对应于0的向量为(1,0,0), 对应于1的向量为(0,1,0)2的向量为(0,0,1)。 但实际上,由于没有顺序的先后关系,设置独热编码向量时可以有很多不同的方法。