from imblearn.over_sampling import SMOTE # 导入
overstamp = SMOTE(random_state=0)
# 对训练集的数据进行上采样,测试集的数据不需要
SMOTE_train_x, SMOTE_train_y = overstamp.fit_sample(train_x, train_y)
由于数据分布的不均衡,因此对数据进行上采样,上采样的数据指的是将少数的样本扩增到与多数样本相同的样本数
使用的方法:
取少数样本中的一个数据,求出该样本与其他样本的距离,根据欧式距离进行排序,取出前5个数据
新数据的位置 X_new = X + rand(0, 1) * distance X表示当前数据的位置, distance表示与另外一个数据的欧式距离,乘上了一个随机值
# 进行数据过采样操作 from imblearn.over_sampling import SMOTE from sklearn.cross_validation import