数据分析与预处理
这里的一个例子是假设一份脱敏处理的信用卡交易数据,我们只知道特征,不知道每个字段的含义。数据中有正常数据和异常数据两部分。要做的任务是建立回归模型,对这两类数据进行分类。
1 数据的读取与分析
- 这里面我们遇到的问题是,文件中有近30万条数据。我们想要直接全部打印观察特征是不大可能的。所以第一点我们就要是使用data,head()观察前几条数据。
- 第二个问题是,我们通过前面几条数据,发现全是正常的数据。我们想要通过绘制图表,来展示两种数据的对比。却发现异常数据的数目和正常数据相比较起来太少了。数据的极度不平衡会导致建模结果失败。所以首要问题是改善不平衡的数据。
2 样本不均衡解决方案
----下采样 从正常样本中选取和异常数据差不多的数据量,这样就可以避免。但是带来的问题是我们实际中大量的数据并没有使用到。
----过采样 不想放弃任何有价值的数据,又想要正常数据和异常数据一样多。那么我们可以选择对数据进行变换,制造出来一些异常数据。这样就可以解决数据的数量问题。但是存在的问题是,异常数据是造出来的,会不会有什么影响???
3 特征标准化
特征标准化就是希望数据经过处理之后得到的每一个特征的数值都在比较小的范围内浮动,公式如下
过程解释:首先将数据的各个维度减去其各自的均值,这样数据就是以原点为中心的对称数据。其中,浮动值大的数据方差也必然大,浮动值小的数据方差也必然小。将其结果除以各自的标准差,就相当于使整个数据压缩到一个比较合适的范围,