欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

样本不平衡处理

程序员文章站 2022-06-12 16:55:08
...

一.下采样

  对于样本不均衡来说,使得两个样本(向少的样本靠齐)同样的少.将多的数据进行裁剪使得样本最后可以均衡,具体的代码设计如下:

#以二分类为例
#对整个样本进行分开
one_data=data[data['label']==1].index
zero_data=data[data['label'==0]].index
#将多的样本进行随机的抽样(raplace代表着不重复抽取)
one_sample=np.random.choice(one_data,len(zero_data),replace=False)

under_sample_index=np.concatenate([zero_data,np.array(one_sample)])
data.loc[under_sample_index]

二.过采样

  对于样本不均衡来说,使得两个样本(向多的样本靠齐)同样的多(制造多的样本)

from imblearn.over_sampling import SMOTE
#没有用pip install imblearn
oversampler=SMOTE(random_state=0)
os_features,os_labels=oversampler.fit_sample(features_train,labels_train)