机器学习中的过采样和欠采样是什么意思?

  统计/机器学习 数据预处理    浏览次数:6702        分享
0

机器学习中的过采样和欠采样是什么意思?

 

莱莱0915   2020-04-25 17:11



   2个回答 
4

我理解是不同数据有不同定义,可分为空间/非空间数据。空间数据指空间上邻近的数据含有相关信息,可以用信号处理滤波的方法提取出这些相关信号,比如图像,声音。非空间数据指数据不是空间上的邻居,不能提取空间信息,比如身高,姓名,工作,收入等不相关信号。

对于空间信号,欠采样和过采样就是信号处理中的under-sample和over-sample。其中心思想是根据采样定理,数字信号能保存的最大频率是其采样频率的1/2。

  • 欠采样是采样频率小于信号最大频率的2倍,会有频谱的叠加,产生混叠
  • 过采样是采样频率远大于信号最大频率的2倍,会增加计算量,在数字换模拟信号时,还会增加模拟噪声。

对于非空间信号,欠采样和过采样是对数据的down/sub-sample和up-sample,参考这里。其目的是调整数据量,或者做分类平衡(class balance)。

  • 欠采样:只想用少量数据代表大量的原始数据。 比如k-means里用mean代表一簇数据。Random forest也可以认为是对数据点和特征做down-sample。
  • 过采样:生成新数据或重复采样。比如SMOTE,bootstrap。
SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2020-05-03 23:44

2

过采样和欠采样是处理非平衡分类问题时的常用手段。

拿二元分类为例,如果训练集中阳性样本有1000个,阴性样本有10万个,两者比例为1:100严重失衡。为了一些模型的性能考虑,我们需要进行一些处理使得两者的比例尽可能接近。

过采样:对少的一类进行重复选择,比如我们对1000个阳性样本进行有放回的抽样,抽5万次(当然其中有很多重复的样本),现在两类的比例就变成了1:2,比较平衡。

欠采样:对多的一类进行少量随机选择,比如我们对10万个阴性样本进行随机选择,抽中2000个(当然原样本中很多样本未被选中),现在两类的比例就变成了1:2,比较平衡。

SofaSofa数据科学社区DS面试题库 DS面经

kym1990   2020-05-27 00:13



  相关讨论

dummy variable是n个还是n-1个

什么时候需要对y或者特征进行对数变换?

数据白化是什么意思?

分类特征的目标编码是什么意思?

机器学习中的维度灾难怎么防止和克服?

z-score标准化不适用于处理什么样的数据?

怎么对特征做标准化使得数值都是正数?

二值化和Onehot表示的特征哪一个较好?

在数据预处理阶段,特征的标准化有哪些方法?

str.replace为什么会将数字替换成NaN

  随便看看

抛的硬币直到连续出现两次正面为止,平均要扔多少次

Python的Jupyter Notebook环境下怎么制作一个动态显示的进度条?

plt.show()之后matplotlib图像依然不展示

为什么机器学习中的优化问题很少用到牛顿法?

协方差矩阵一定是半正定的吗?