2019-01-25
阅读量:
832
对于过采样的算法的使用方法?
对于数据不均衡分布,过采样使用的smote的算法。
imblearn里面提供了smote库。
定义:
样本不平衡会带来样本点的空间分布并不能符合真实分布,因此使用smote扩充样本集合时,并不能改变原有样本的分布的外围轮廓特征,这就意味着对分类问题中分类边界的影响比较小。
简单伪代码使用:
from collections import Counter
from sklearn.datasets import make_classification
from imblearn.over_sampling import SMOTE # doctest: +NORMALIZE_WHITESPACE
X, y = make_classification(n_classes=2, class_sep=2,
weights=[0.1, 0.9], n_informative=3, n_redundant=1, flip_y=0,
n_features=20, n_clusters_per_class=1, n_samples=1000, random_state=10)
print('Original dataset shape %s' % Counter(y))
Original dataset shape Counter({1: 900, 0: 100})
sm = SMOTE(random_state=42)
X_res, y_res = sm.fit_resample(X, y)
print('Resampled dataset shape %s' % Counter(y_res))
Resampled dataset shape Counter({0: 900, 1: 900})






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论