樣本不平衡處理

一.下采樣python

  對於樣本不均衡來講,使得兩個樣本(向少的樣本靠齊)一樣的少.將多的數據進行裁剪使得樣本最後能夠均衡,具體的代碼設計以下:dom

#以二分類爲例
#對整個樣本進行分開
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]

二.過採樣設計

  對於樣本不均衡來講,使得兩個樣本(向多的樣本靠齊)一樣的多(製造多的樣本)blog

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)
相關文章
相關標籤/搜索