欠抽样
欠抽样是通过减少多数类样本的样本数量来实现样本均衡。其中比较简单直接的方法就是随机去掉一些数据来减少多数类样本的规模。
例如,泰坦尼克数据中目标变量Survived是一个取值为0,1的二值变量,通过欠抽样的方式达到1:1的样本平衡
A |
|
1 |
=file("D://titanic.csv").import@qtc() |
2 |
1 |
3 |
=A1.group@p(Survived) |
4 |
=A3.sort(~.len()) |
5 |
=ceil(min(A4(2).len(),A4(1).len()*A2)) |
6 |
=to(A4(2).len()).sort(rand()) |
7 |
=A6(to(A5)).sort() |
8 |
=(A4(2)(A7)|A4(1)).sort() |
9 |
=A1(A8) |
A2 设置抽样平衡比例,多数类样本/少数类样本
A3 按照目标变量分组,取每组的成员位置信息
A4 按照样本数量排序,第一组为少数类样本,第二组为多数类样本
A5 根据抽样比例计算需要抽样的数量
A6 将多数类样本组随机排序
A7 在A6中取前A5个样本,并排序,实现随机抽样
A8 合并抽取的多数类样本和少数类样本的位置序列
A9 取出对应位置的样本,完成抽样